diff --git a/kit/package-lock.json b/kit/package-lock.json index 578712c9e..e15b50293 100644 --- a/kit/package-lock.json +++ b/kit/package-lock.json @@ -8,7 +8,7 @@ "name": "kit", "version": "0.0.1", "devDependencies": { - "@huggingface/inference": "^4.0.5", + "@huggingface/inference": "^4.0.6", "@huggingface/tasks": "^0.19.15", "@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-static": "^2.0.3", @@ -497,9 +497,9 @@ } }, "node_modules/@huggingface/inference": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-4.0.5.tgz", - "integrity": "sha512-/Qc45BGrN+FBA3JfdeoHfafxfNShH/dxvOsXbBdcxyxIRIYOyefeiXSlShZGVCaiqYpm+10na28D0YtvjKPTlw==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-4.0.6.tgz", + "integrity": "sha512-c+2+O46l+NIFoNcA4Qgg4fHdj+HHxkpm/uo8L2xFnSLgaouRon5tf/5fQLMoWoxmJD5H6pHezPF+9hy1+OMAAg==", "dev": true, "dependencies": { "@huggingface/jinja": "^0.5.0", diff --git a/kit/package.json b/kit/package.json index d3339edeb..01d114156 100644 --- a/kit/package.json +++ b/kit/package.json @@ -14,7 +14,7 @@ "update-inference-providers": "npm ci && npm i @huggingface/inference@latest && npm i @huggingface/tasks@latest" }, "devDependencies": { - "@huggingface/inference": "^4.0.5", + "@huggingface/inference": "^4.0.6", "@huggingface/tasks": "^0.19.15", "@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-static": "^2.0.3", diff --git a/kit/src/lib/InferenceSnippet/InferenceSnippet.svelte b/kit/src/lib/InferenceSnippet/InferenceSnippet.svelte index aeedd7d38..4a280f2e0 100644 --- a/kit/src/lib/InferenceSnippet/InferenceSnippet.svelte +++ b/kit/src/lib/InferenceSnippet/InferenceSnippet.svelte @@ -5,7 +5,12 @@ ModelDataMinimal, PipelineType, } from "@huggingface/tasks"; - import { type InferenceProvider, snippets } from "@huggingface/inference"; + import { + type InferenceProvider, + type InferenceProviderMappingEntry, + type InferenceProviderOrPolicy, + snippets, + } from "@huggingface/inference"; import { onMount, SvelteComponent } from "svelte"; import CodeBlock from "$lib/CodeBlock.svelte"; @@ -58,7 +63,24 @@ tags: conversational ? ["conversational"] : [], }; - const availableSnippets = snippets.getInferenceSnippets( + function getInferenceSnippetsOrEmpty( + model: ModelDataMinimal, + provider: InferenceProviderOrPolicy, + inferenceProviderMapping?: InferenceProviderMappingEntry, + opts?: Record + ) { + try { + return snippets.getInferenceSnippets(model, provider, inferenceProviderMapping, opts); + } catch (error) { + console.warn( + `Failed to get inference snippets for model "${model.id}" and provider "${provider}":`, + error + ); + return []; + } + } + + const availableSnippets = getInferenceSnippetsOrEmpty( model as ModelDataMinimal, selectedProvider, { @@ -80,22 +102,20 @@ $: clients = clientsByLanguage[selectedLanguage]; $: selectedClient = clients?.[0]; - $: code = snippets - .getInferenceSnippets( - model as ModelDataMinimal, - selectedProvider, - { - hfModelId: providersMapping[selectedProvider]!.modelId, - providerId: providersMapping[selectedProvider]!.providerModelId, - status: "live", - task: pipeline, - provider: selectedProvider, - }, - { - streaming, - } - ) - .find((s) => s.language === selectedLanguage && s.client === selectedClient)?.content; + $: code = getInferenceSnippetsOrEmpty( + model as ModelDataMinimal, + selectedProvider, + { + hfModelId: providersMapping[selectedProvider]!.modelId, + providerId: providersMapping[selectedProvider]!.providerModelId, + status: "live", + task: pipeline, + provider: selectedProvider, + }, + { + streaming, + } + ).find((s) => s.language === selectedLanguage && s.client === selectedClient)?.content; const PRETTY_NAMES: Partial< Record