mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-20 13:31:28 +07:00
[pycharm] PY-70369 HF cache management MVP - turned ON + minor fixes
GitOrigin-RevId: 6427d4cd7726fc54086ff6ef0f83572c334594f0
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ddaee68015
commit
d458fb9e65
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.python.community.impl.huggingFace.api
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import com.fasterxml.jackson.databind.node.ArrayNode
|
||||
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
|
||||
@@ -58,6 +59,16 @@ object HuggingFaceApi {
|
||||
return nextLinkMatch?.groupValues?.get(1)
|
||||
}
|
||||
|
||||
suspend fun fetchDataForSingleModel(modelId: String): HuggingFaceEntityBasicApiData? {
|
||||
val modelUrl = HuggingFaceURLProvider.fetchApiDataForModel(modelId)
|
||||
val response = HuggingFaceHttpClient.downloadContentAndHeaders(modelUrl.toString()).getOrNull()
|
||||
return response?.content?.let { json ->
|
||||
val objectMapper = ObjectMapper().registerKotlinModule()
|
||||
val jsonObject: JsonNode = objectMapper.readTree(json)
|
||||
objectMapper.treeToValue(jsonObject, HuggingFaceEntityBasicApiData::class.java).copy(kind = HuggingFaceEntityKind.MODEL)
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseBasicEntityData(
|
||||
endpointKind: HuggingFaceEntityKind,
|
||||
json: String
|
||||
|
||||
@@ -28,8 +28,9 @@ object HuggingFaceHttpClient {
|
||||
val linkHeader = connection.getHeaderField("Link")
|
||||
connection.disconnect()
|
||||
HfHttpResponseWithHeaders(content, linkHeader)
|
||||
}.onFailure {
|
||||
thisLogger().warn("Failed to download: $url", it)
|
||||
}
|
||||
//}.onFailure {
|
||||
// thisLogger().warn("Failed to download: $url", it)
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,8 @@ object HuggingFaceURLProvider {
|
||||
return URL("$baseURL/api/models?$allParameters")
|
||||
}
|
||||
|
||||
fun fetchApiDataForModel(modelId: String) = URL("$baseURL/api/models/$modelId")
|
||||
|
||||
fun fetchApiDataUrl(
|
||||
entityKind: HuggingFaceEntityKind,
|
||||
limit: Int = HuggingFaceConstants.HF_API_FETCH_PAGE_SIZE,
|
||||
|
||||
Reference in New Issue
Block a user