@workglow/ai-provider 0.0.126 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/provider-anthropic/AnthropicProvider.d.ts +1 -1
- package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -1
- package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +4 -4
- package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts.map +1 -1
- package/dist/provider-anthropic/index.js +3 -4
- package/dist/provider-anthropic/index.js.map +3 -3
- package/dist/provider-anthropic/runtime.js +19 -291
- package/dist/provider-anthropic/runtime.js.map +11 -12
- package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts.map +1 -1
- package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts.map +1 -1
- package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts.map +1 -1
- package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts.map +1 -1
- package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts.map +1 -1
- package/dist/provider-chrome/runtime.js +3 -97
- package/dist/provider-chrome/runtime.js.map +8 -8
- package/dist/provider-gemini/GoogleGeminiProvider.d.ts +1 -1
- package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -1
- package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +4 -4
- package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_CountTokens.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_TextSummary.d.ts.map +1 -1
- package/dist/provider-gemini/index.js +3 -4
- package/dist/provider-gemini/index.js.map +3 -3
- package/dist/provider-gemini/runtime.js +12 -257
- package/dist/provider-gemini/runtime.js.map +11 -12
- package/dist/provider-hf-inference/HfInferenceProvider.d.ts +1 -1
- package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
- package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +4 -4
- package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_Client.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts.map +1 -1
- package/dist/provider-hf-inference/index.js +3 -4
- package/dist/provider-hf-inference/index.js.map +3 -3
- package/dist/provider-hf-inference/runtime.js +13 -206
- package/dist/provider-hf-inference/runtime.js.map +11 -12
- package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts +1 -1
- package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -1
- package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +13 -3
- package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_Constants.d.ts +4 -0
- package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_Download.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts +116 -87
- package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts +30 -0
- package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +9 -2
- package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts +2 -2
- package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -1
- package/dist/provider-hf-transformers/index.d.ts +0 -1
- package/dist/provider-hf-transformers/index.d.ts.map +1 -1
- package/dist/provider-hf-transformers/index.js +49 -177
- package/dist/provider-hf-transformers/index.js.map +8 -9
- package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts.map +1 -1
- package/dist/provider-hf-transformers/runtime.d.ts +0 -1
- package/dist/provider-hf-transformers/runtime.d.ts.map +1 -1
- package/dist/provider-hf-transformers/runtime.js +208 -513
- package/dist/provider-hf-transformers/runtime.js.map +27 -29
- package/dist/provider-llamacpp/LlamaCppProvider.d.ts +1 -1
- package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
- package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +1 -1
- package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts +15 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts.map +1 -1
- package/dist/provider-llamacpp/index.js +6 -2
- package/dist/provider-llamacpp/index.js.map +4 -4
- package/dist/provider-llamacpp/runtime.js +82 -230
- package/dist/provider-llamacpp/runtime.js.map +13 -14
- package/dist/provider-ollama/OllamaProvider.d.ts +1 -1
- package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
- package/dist/provider-ollama/OllamaQueuedProvider.d.ts +4 -4
- package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +13 -71
- package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +13 -71
- package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_TextSummary.d.ts.map +1 -1
- package/dist/provider-ollama/index.browser.js +3 -4
- package/dist/provider-ollama/index.browser.js.map +3 -3
- package/dist/provider-ollama/index.js +3 -4
- package/dist/provider-ollama/index.js.map +3 -3
- package/dist/provider-ollama/runtime.browser.js +8 -179
- package/dist/provider-ollama/runtime.browser.js.map +9 -10
- package/dist/provider-ollama/runtime.js +8 -174
- package/dist/provider-ollama/runtime.js.map +9 -10
- package/dist/provider-openai/OpenAiProvider.d.ts +1 -1
- package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
- package/dist/provider-openai/OpenAiQueuedProvider.d.ts +4 -4
- package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_CountTokens.browser.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_CountTokens.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_JobRunFns.browser.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_TextSummary.d.ts.map +1 -1
- package/dist/provider-openai/index.browser.js +3 -4
- package/dist/provider-openai/index.browser.js.map +3 -3
- package/dist/provider-openai/index.js +3 -4
- package/dist/provider-openai/index.js.map +3 -3
- package/dist/provider-openai/runtime.browser.js +22 -224
- package/dist/provider-openai/runtime.browser.js.map +12 -13
- package/dist/provider-openai/runtime.js +22 -224
- package/dist/provider-openai/runtime.js.map +12 -13
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +3 -3
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts +17 -10
- package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/index.js +3 -3
- package/dist/provider-tf-mediapipe/index.js.map +3 -3
- package/dist/provider-tf-mediapipe/runtime.js +16 -5
- package/dist/provider-tf-mediapipe/runtime.js.map +5 -5
- package/package.json +15 -15
- package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +0 -10
- package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +0 -1
- package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +0 -10
- package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +0 -1
- package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +0 -10
- package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +0 -1
- package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +0 -10
- package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +0 -1
- package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +0 -40
- package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +0 -1
- package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +0 -10
- package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +0 -1
- package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +0 -16
- package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +0 -1
- package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +0 -10
- package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts.map +0 -1
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { AiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn, type AiProviderStreamFn } from "@workglow/ai";
|
|
7
7
|
import type { HfInferenceModelConfig } from "./common/HFI_ModelSchema";
|
|
8
|
-
/** Main-thread registration (inline or worker-backed)
|
|
9
|
-
export declare class HfInferenceQueuedProvider extends
|
|
8
|
+
/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */
|
|
9
|
+
export declare class HfInferenceQueuedProvider extends AiProvider<HfInferenceModelConfig> {
|
|
10
10
|
readonly name = "HF_INFERENCE";
|
|
11
11
|
readonly displayName = "Hugging Face Inference";
|
|
12
12
|
readonly isLocal = false;
|
|
13
13
|
readonly supportsBrowser = true;
|
|
14
|
-
readonly taskTypes: readonly ["ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "
|
|
14
|
+
readonly taskTypes: readonly ["ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "ModelSearchTask"];
|
|
15
15
|
constructor(tasks?: Record<string, AiProviderRunFn<any, any, HfInferenceModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, HfInferenceModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, HfInferenceModelConfig>>);
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=HfInferenceQueuedProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HfInferenceQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HfInferenceQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"HfInferenceQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HfInferenceQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,4FAA4F;AAC5F,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IAC/E,QAAQ,CAAC,IAAI,kBAAgB;IAC7B,QAAQ,CAAC,WAAW,4BAA4B;IAChD,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,kIAOP;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EACzE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EAClF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EAG1F;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_Client.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,wBAAsB,kBAAkB,qDAWvC;AASD,wBAAsB,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"HFI_Client.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,wBAAsB,kBAAkB,qDAWvC;AASD,wBAAsB,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,6DAmBxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAM9E;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,sBAAsB,GAAG,SAAS,GACxC,yBAAyB,GAAG,SAAS,CAEvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"HFI_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOxF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAOvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAKrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_TextEmbedding.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextEmbedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"HFI_TextEmbedding.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextEmbedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,eAAO,MAAM,iBAAiB,EAAE,eAAe,CAC7C,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,CAyCvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"HFI_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,CA2BvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CACxD,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,CA0BvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"HFI_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAC5C,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,CAqBvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CACtD,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,CAyBvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"HFI_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,eAAe,CAC3C,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,CAqBvB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CACrD,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,CAyBvB,CAAC"}
|
|
@@ -78,9 +78,9 @@ var HfInferenceModelConfigSchema = {
|
|
|
78
78
|
};
|
|
79
79
|
// src/provider-hf-inference/HfInferenceQueuedProvider.ts
|
|
80
80
|
import {
|
|
81
|
-
|
|
81
|
+
AiProvider
|
|
82
82
|
} from "@workglow/ai";
|
|
83
|
-
class HfInferenceQueuedProvider extends
|
|
83
|
+
class HfInferenceQueuedProvider extends AiProvider {
|
|
84
84
|
name = HF_INFERENCE;
|
|
85
85
|
displayName = "Hugging Face Inference";
|
|
86
86
|
isLocal = false;
|
|
@@ -91,7 +91,6 @@ class HfInferenceQueuedProvider extends QueuedAiProvider {
|
|
|
91
91
|
"TextEmbeddingTask",
|
|
92
92
|
"TextRewriterTask",
|
|
93
93
|
"TextSummaryTask",
|
|
94
|
-
"ToolCallingTask",
|
|
95
94
|
"ModelSearchTask"
|
|
96
95
|
];
|
|
97
96
|
constructor(tasks, streamTasks, reactiveTasks) {
|
|
@@ -111,4 +110,4 @@ export {
|
|
|
111
110
|
HF_INFERENCE
|
|
112
111
|
};
|
|
113
112
|
|
|
114
|
-
//# debugId=
|
|
113
|
+
//# debugId=856B668CCDC2FA6764756E2164756E21
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const HF_INFERENCE = \"HF_INFERENCE\";\n",
|
|
6
6
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util/worker\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\n\nexport const HfInferenceModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: HF_INFERENCE,\n description: \"Discriminator: Hugging Face Inference API provider.\",\n },\n provider_config: {\n type: \"object\",\n description: \"Hugging Face Inference-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description:\n \"The Hugging Face model identifier (e.g., 'meta-llama/Llama-3.3-70B-Instruct').\",\n },\n credential_key: {\n type: \"string\",\n format: \"credential\",\n description: \"Key to look up in the credential store for the API key.\",\n \"x-ui-hidden\": true,\n },\n provider: {\n type: \"string\",\n description:\n \"Optional provider to route to specific HF inference providers (e.g., 'fal-ai', 'fireworks-ai').\",\n },\n },\n required: [\"model_name\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const HfInferenceModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...HfInferenceModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...HfInferenceModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type HfInferenceModelRecord = FromSchema<typeof HfInferenceModelRecordSchema>;\n\nexport const HfInferenceModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...HfInferenceModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...HfInferenceModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type HfInferenceModelConfig = FromSchema<typeof HfInferenceModelConfigSchema>;\n",
|
|
7
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n
|
|
7
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai\";\nimport { HF_INFERENCE } from \"./common/HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./common/HFI_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class HfInferenceQueuedProvider extends AiProvider<HfInferenceModelConfig> {\n readonly name = HF_INFERENCE;\n readonly displayName = \"Hugging Face Inference\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, HfInferenceModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, HfInferenceModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, HfInferenceModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
|
|
8
8
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { HfInferenceQueuedProvider } from \"./HfInferenceQueuedProvider\";\n\nexport async function registerHfInference(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await new HfInferenceQueuedProvider().register(options);\n}\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,eAAe;;ACA5B;AAIO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;AAIO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;;AC5DA;AAAA;AAAA;AAUO,MAAM,kCAAkC,
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,eAAe;;ACA5B;AAIO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;AAIO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;;AC5DA;AAAA;AAAA;AAUO,MAAM,kCAAkC,WAAmC;AAAA,EACvE,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC7BA,eAAsB,mBAAmB,CACvC,SAGe;AAAA,EACf,MAAM,IAAI,0BAA0B,EAAE,SAAS,OAAO;AAAA;",
|
|
11
|
+
"debugId": "856B668CCDC2FA6764756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -40,7 +40,11 @@ async function getClient(model) {
|
|
|
40
40
|
if (!apiKey) {
|
|
41
41
|
throw new Error("Missing Hugging Face API key: set provider_config.credential_key or the HF_TOKEN environment variable.");
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
try {
|
|
44
|
+
return new sdk.InferenceClient(apiKey);
|
|
45
|
+
} catch (err) {
|
|
46
|
+
throw new Error(`Failed to create HuggingFace Inference client: ${err instanceof Error ? err.message : "unknown error"}`);
|
|
47
|
+
}
|
|
44
48
|
}
|
|
45
49
|
function getModelName(model) {
|
|
46
50
|
const name = model?.provider_config?.model_name;
|
|
@@ -194,16 +198,6 @@ var HFI_TextEmbedding = async (input, model, update_progress, signal) => {
|
|
|
194
198
|
// src/provider-hf-inference/common/HFI_TextGeneration.ts
|
|
195
199
|
import { getLogger as getLogger2 } from "@workglow/util/worker";
|
|
196
200
|
var HFI_TextGeneration = async (input, model, update_progress, signal) => {
|
|
197
|
-
if (Array.isArray(input.prompt)) {
|
|
198
|
-
getLogger2().warn("HFI_TextGeneration: array input received; processing sequentially (no native batch support)");
|
|
199
|
-
const prompts = input.prompt;
|
|
200
|
-
const results = [];
|
|
201
|
-
for (const item of prompts) {
|
|
202
|
-
const r = await HFI_TextGeneration({ ...input, prompt: item }, model, update_progress, signal);
|
|
203
|
-
results.push(r.text);
|
|
204
|
-
}
|
|
205
|
-
return { text: results };
|
|
206
|
-
}
|
|
207
201
|
const logger = getLogger2();
|
|
208
202
|
const timerLabel = `hfi:TextGeneration:${model?.provider_config?.model_name}`;
|
|
209
203
|
logger.time(timerLabel, { model: model?.provider_config?.model_name });
|
|
@@ -247,18 +241,7 @@ var HFI_TextGeneration_Stream = async function* (input, model, signal) {
|
|
|
247
241
|
};
|
|
248
242
|
|
|
249
243
|
// src/provider-hf-inference/common/HFI_TextRewriter.ts
|
|
250
|
-
import { getLogger as getLogger3 } from "@workglow/util/worker";
|
|
251
244
|
var HFI_TextRewriter = async (input, model, update_progress, signal) => {
|
|
252
|
-
if (Array.isArray(input.text)) {
|
|
253
|
-
getLogger3().warn("HFI_TextRewriter: array input received; processing sequentially (no native batch support)");
|
|
254
|
-
const texts = input.text;
|
|
255
|
-
const results = [];
|
|
256
|
-
for (const item of texts) {
|
|
257
|
-
const r = await HFI_TextRewriter({ ...input, text: item }, model, update_progress, signal);
|
|
258
|
-
results.push(r.text);
|
|
259
|
-
}
|
|
260
|
-
return { text: results };
|
|
261
|
-
}
|
|
262
245
|
update_progress(0, "Starting HF Inference text rewriting");
|
|
263
246
|
const client = await getClient(model);
|
|
264
247
|
const modelName = getModelName(model);
|
|
@@ -296,18 +279,7 @@ var HFI_TextRewriter_Stream = async function* (input, model, signal) {
|
|
|
296
279
|
};
|
|
297
280
|
|
|
298
281
|
// src/provider-hf-inference/common/HFI_TextSummary.ts
|
|
299
|
-
import { getLogger as getLogger4 } from "@workglow/util/worker";
|
|
300
282
|
var HFI_TextSummary = async (input, model, update_progress, signal) => {
|
|
301
|
-
if (Array.isArray(input.text)) {
|
|
302
|
-
getLogger4().warn("HFI_TextSummary: array input received; processing sequentially (no native batch support)");
|
|
303
|
-
const texts = input.text;
|
|
304
|
-
const results = [];
|
|
305
|
-
for (const item of texts) {
|
|
306
|
-
const r = await HFI_TextSummary({ ...input, text: item }, model, update_progress, signal);
|
|
307
|
-
results.push(r.text);
|
|
308
|
-
}
|
|
309
|
-
return { text: results };
|
|
310
|
-
}
|
|
311
283
|
update_progress(0, "Starting HF Inference text summarization");
|
|
312
284
|
const client = await getClient(model);
|
|
313
285
|
const modelName = getModelName(model);
|
|
@@ -344,167 +316,6 @@ var HFI_TextSummary_Stream = async function* (input, model, signal) {
|
|
|
344
316
|
yield { type: "finish", data: {} };
|
|
345
317
|
};
|
|
346
318
|
|
|
347
|
-
// src/provider-hf-inference/common/HFI_ToolCalling.ts
|
|
348
|
-
import { buildToolDescription, filterValidToolCalls, toOpenAIMessages } from "@workglow/ai/worker";
|
|
349
|
-
import { getLogger as getLogger5, parsePartialJson } from "@workglow/util/worker";
|
|
350
|
-
function mapHFIToolChoice(toolChoice) {
|
|
351
|
-
if (!toolChoice || toolChoice === "auto")
|
|
352
|
-
return "auto";
|
|
353
|
-
if (toolChoice === "none")
|
|
354
|
-
return "none";
|
|
355
|
-
if (toolChoice === "required")
|
|
356
|
-
return "required";
|
|
357
|
-
return "auto";
|
|
358
|
-
}
|
|
359
|
-
var HFI_ToolCalling = async (input, model, update_progress, signal) => {
|
|
360
|
-
if (Array.isArray(input.prompt)) {
|
|
361
|
-
getLogger5().warn("HFI_ToolCalling: array input received; processing sequentially (no native batch support)");
|
|
362
|
-
const prompts = input.prompt;
|
|
363
|
-
const texts = [];
|
|
364
|
-
const toolCallsList = [];
|
|
365
|
-
for (const item of prompts) {
|
|
366
|
-
const r = await HFI_ToolCalling({ ...input, prompt: item }, model, update_progress, signal);
|
|
367
|
-
texts.push(r.text);
|
|
368
|
-
toolCallsList.push(r.toolCalls);
|
|
369
|
-
}
|
|
370
|
-
return { text: texts, toolCalls: toolCallsList };
|
|
371
|
-
}
|
|
372
|
-
update_progress(0, "Starting HF Inference tool calling");
|
|
373
|
-
const client = await getClient(model);
|
|
374
|
-
const modelName = getModelName(model);
|
|
375
|
-
const provider = getProvider(model);
|
|
376
|
-
const tools = input.tools.map((t) => ({
|
|
377
|
-
type: "function",
|
|
378
|
-
function: {
|
|
379
|
-
name: t.name,
|
|
380
|
-
description: buildToolDescription(t),
|
|
381
|
-
parameters: t.inputSchema
|
|
382
|
-
}
|
|
383
|
-
}));
|
|
384
|
-
const messages = toOpenAIMessages(input);
|
|
385
|
-
const toolChoice = mapHFIToolChoice(input.toolChoice);
|
|
386
|
-
const params = {
|
|
387
|
-
model: modelName,
|
|
388
|
-
messages,
|
|
389
|
-
max_tokens: input.maxTokens,
|
|
390
|
-
temperature: input.temperature,
|
|
391
|
-
provider
|
|
392
|
-
};
|
|
393
|
-
if (toolChoice !== "none") {
|
|
394
|
-
params.tools = tools;
|
|
395
|
-
params.tool_choice = toolChoice;
|
|
396
|
-
}
|
|
397
|
-
const response = await client.chatCompletion(params, { signal });
|
|
398
|
-
const text = response.choices[0]?.message?.content ?? "";
|
|
399
|
-
const toolCalls = [];
|
|
400
|
-
let callIndex = 0;
|
|
401
|
-
(response.choices[0]?.message?.tool_calls ?? []).forEach((tc) => {
|
|
402
|
-
let parsedInput = {};
|
|
403
|
-
const rawArgs = tc.function?.arguments;
|
|
404
|
-
if (typeof rawArgs === "string") {
|
|
405
|
-
try {
|
|
406
|
-
parsedInput = JSON.parse(rawArgs);
|
|
407
|
-
} catch {
|
|
408
|
-
const partial = parsePartialJson(rawArgs);
|
|
409
|
-
parsedInput = partial ?? {};
|
|
410
|
-
}
|
|
411
|
-
} else if (rawArgs != null) {
|
|
412
|
-
parsedInput = rawArgs;
|
|
413
|
-
}
|
|
414
|
-
const id = tc.id ?? `call_${callIndex}`;
|
|
415
|
-
callIndex++;
|
|
416
|
-
toolCalls.push({ id, name: tc.function.name, input: parsedInput });
|
|
417
|
-
});
|
|
418
|
-
update_progress(100, "Completed HF Inference tool calling");
|
|
419
|
-
return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };
|
|
420
|
-
};
|
|
421
|
-
var HFI_ToolCalling_Stream = async function* (input, model, signal) {
|
|
422
|
-
const client = await getClient(model);
|
|
423
|
-
const modelName = getModelName(model);
|
|
424
|
-
const provider = getProvider(model);
|
|
425
|
-
const tools = input.tools.map((t) => ({
|
|
426
|
-
type: "function",
|
|
427
|
-
function: {
|
|
428
|
-
name: t.name,
|
|
429
|
-
description: buildToolDescription(t),
|
|
430
|
-
parameters: t.inputSchema
|
|
431
|
-
}
|
|
432
|
-
}));
|
|
433
|
-
const messages = toOpenAIMessages(input);
|
|
434
|
-
const toolChoice = mapHFIToolChoice(input.toolChoice);
|
|
435
|
-
const params = {
|
|
436
|
-
model: modelName,
|
|
437
|
-
messages,
|
|
438
|
-
max_tokens: input.maxTokens,
|
|
439
|
-
temperature: input.temperature,
|
|
440
|
-
provider
|
|
441
|
-
};
|
|
442
|
-
if (toolChoice !== "none") {
|
|
443
|
-
params.tools = tools;
|
|
444
|
-
params.tool_choice = toolChoice;
|
|
445
|
-
}
|
|
446
|
-
const stream = client.chatCompletionStream(params, { signal });
|
|
447
|
-
let accumulatedText = "";
|
|
448
|
-
const toolCallAccumulator = new Map;
|
|
449
|
-
for await (const chunk of stream) {
|
|
450
|
-
const choice = chunk.choices[0];
|
|
451
|
-
if (!choice)
|
|
452
|
-
continue;
|
|
453
|
-
const contentDelta = choice.delta?.content ?? "";
|
|
454
|
-
if (contentDelta) {
|
|
455
|
-
accumulatedText += contentDelta;
|
|
456
|
-
yield { type: "text-delta", port: "text", textDelta: contentDelta };
|
|
457
|
-
}
|
|
458
|
-
const tcDeltas = choice.delta?.tool_calls;
|
|
459
|
-
if (Array.isArray(tcDeltas)) {
|
|
460
|
-
for (const tcDelta of tcDeltas) {
|
|
461
|
-
const idx = tcDelta.index;
|
|
462
|
-
if (!toolCallAccumulator.has(idx)) {
|
|
463
|
-
toolCallAccumulator.set(idx, {
|
|
464
|
-
id: tcDelta.id ?? "",
|
|
465
|
-
name: tcDelta.function?.name ?? "",
|
|
466
|
-
arguments: ""
|
|
467
|
-
});
|
|
468
|
-
}
|
|
469
|
-
const acc = toolCallAccumulator.get(idx);
|
|
470
|
-
if (tcDelta.id)
|
|
471
|
-
acc.id = tcDelta.id;
|
|
472
|
-
if (tcDelta.function?.name)
|
|
473
|
-
acc.name = tcDelta.function.name;
|
|
474
|
-
if (tcDelta.function?.arguments)
|
|
475
|
-
acc.arguments += tcDelta.function.arguments;
|
|
476
|
-
}
|
|
477
|
-
const snapshot = [];
|
|
478
|
-
for (const [, tc] of toolCallAccumulator) {
|
|
479
|
-
let parsedInput;
|
|
480
|
-
try {
|
|
481
|
-
parsedInput = JSON.parse(tc.arguments);
|
|
482
|
-
} catch {
|
|
483
|
-
const partial = parsePartialJson(tc.arguments);
|
|
484
|
-
parsedInput = partial ?? {};
|
|
485
|
-
}
|
|
486
|
-
snapshot.push({ id: tc.id, name: tc.name, input: parsedInput });
|
|
487
|
-
}
|
|
488
|
-
yield { type: "object-delta", port: "toolCalls", objectDelta: snapshot };
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
const toolCalls = [];
|
|
492
|
-
for (const [, tc] of toolCallAccumulator) {
|
|
493
|
-
let finalInput;
|
|
494
|
-
try {
|
|
495
|
-
finalInput = JSON.parse(tc.arguments);
|
|
496
|
-
} catch {
|
|
497
|
-
finalInput = parsePartialJson(tc.arguments) ?? {};
|
|
498
|
-
}
|
|
499
|
-
toolCalls.push({ id: tc.id, name: tc.name, input: finalInput });
|
|
500
|
-
}
|
|
501
|
-
const validToolCalls = filterValidToolCalls(toolCalls, input.tools);
|
|
502
|
-
yield {
|
|
503
|
-
type: "finish",
|
|
504
|
-
data: { text: accumulatedText, toolCalls: validToolCalls }
|
|
505
|
-
};
|
|
506
|
-
};
|
|
507
|
-
|
|
508
319
|
// src/provider-hf-inference/common/HFI_JobRunFns.ts
|
|
509
320
|
var HFI_TASKS = {
|
|
510
321
|
ModelInfoTask: HFI_ModelInfo,
|
|
@@ -512,21 +323,19 @@ var HFI_TASKS = {
|
|
|
512
323
|
TextEmbeddingTask: HFI_TextEmbedding,
|
|
513
324
|
TextRewriterTask: HFI_TextRewriter,
|
|
514
325
|
TextSummaryTask: HFI_TextSummary,
|
|
515
|
-
ToolCallingTask: HFI_ToolCalling,
|
|
516
326
|
ModelSearchTask: HFI_ModelSearch
|
|
517
327
|
};
|
|
518
328
|
var HFI_STREAM_TASKS = {
|
|
519
329
|
TextGenerationTask: HFI_TextGeneration_Stream,
|
|
520
330
|
TextRewriterTask: HFI_TextRewriter_Stream,
|
|
521
|
-
TextSummaryTask: HFI_TextSummary_Stream
|
|
522
|
-
ToolCallingTask: HFI_ToolCalling_Stream
|
|
331
|
+
TextSummaryTask: HFI_TextSummary_Stream
|
|
523
332
|
};
|
|
524
333
|
|
|
525
334
|
// src/provider-hf-inference/HfInferenceQueuedProvider.ts
|
|
526
335
|
import {
|
|
527
|
-
|
|
336
|
+
AiProvider
|
|
528
337
|
} from "@workglow/ai";
|
|
529
|
-
class HfInferenceQueuedProvider extends
|
|
338
|
+
class HfInferenceQueuedProvider extends AiProvider {
|
|
530
339
|
name = HF_INFERENCE;
|
|
531
340
|
displayName = "Hugging Face Inference";
|
|
532
341
|
isLocal = false;
|
|
@@ -537,7 +346,6 @@ class HfInferenceQueuedProvider extends QueuedAiProvider {
|
|
|
537
346
|
"TextEmbeddingTask",
|
|
538
347
|
"TextRewriterTask",
|
|
539
348
|
"TextSummaryTask",
|
|
540
|
-
"ToolCallingTask",
|
|
541
349
|
"ModelSearchTask"
|
|
542
350
|
];
|
|
543
351
|
constructor(tasks, streamTasks, reactiveTasks) {
|
|
@@ -550,13 +358,13 @@ async function registerHfInferenceInline(options) {
|
|
|
550
358
|
await new HfInferenceQueuedProvider(HFI_TASKS, HFI_STREAM_TASKS).register(options ?? {});
|
|
551
359
|
}
|
|
552
360
|
// src/provider-hf-inference/registerHfInferenceWorker.ts
|
|
553
|
-
import { getLogger as
|
|
361
|
+
import { getLogger as getLogger3, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
|
|
554
362
|
|
|
555
363
|
// src/provider-hf-inference/HfInferenceProvider.ts
|
|
556
364
|
import {
|
|
557
|
-
AiProvider
|
|
365
|
+
AiProvider as AiProvider2
|
|
558
366
|
} from "@workglow/ai/worker";
|
|
559
|
-
class HfInferenceProvider extends
|
|
367
|
+
class HfInferenceProvider extends AiProvider2 {
|
|
560
368
|
name = HF_INFERENCE;
|
|
561
369
|
displayName = "Hugging Face Inference";
|
|
562
370
|
isLocal = false;
|
|
@@ -567,7 +375,6 @@ class HfInferenceProvider extends AiProvider {
|
|
|
567
375
|
"TextEmbeddingTask",
|
|
568
376
|
"TextRewriterTask",
|
|
569
377
|
"TextSummaryTask",
|
|
570
|
-
"ToolCallingTask",
|
|
571
378
|
"ModelSearchTask"
|
|
572
379
|
];
|
|
573
380
|
constructor(tasks, streamTasks, reactiveTasks) {
|
|
@@ -580,7 +387,7 @@ async function registerHfInferenceWorker() {
|
|
|
580
387
|
const workerServer = globalServiceRegistry.get(WORKER_SERVER);
|
|
581
388
|
new HfInferenceProvider(HFI_TASKS, HFI_STREAM_TASKS).registerOnWorkerServer(workerServer);
|
|
582
389
|
workerServer.sendReady();
|
|
583
|
-
|
|
390
|
+
getLogger3().info("Hugging Face Inference worker job run functions registered");
|
|
584
391
|
}
|
|
585
392
|
export {
|
|
586
393
|
registerHfInferenceWorker,
|
|
@@ -591,4 +398,4 @@ export {
|
|
|
591
398
|
getClient
|
|
592
399
|
};
|
|
593
400
|
|
|
594
|
-
//# debugId=
|
|
401
|
+
//# debugId=0F9D615ABDB7DCE964756E2164756E21
|