@huggingface/inference 3.13.2 → 3.14.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/{src → commonjs}/InferenceClient.d.ts +2 -2
- package/dist/commonjs/InferenceClient.d.ts.map +1 -0
- package/dist/commonjs/InferenceClient.js +83 -0
- package/dist/commonjs/config.js +6 -0
- package/dist/commonjs/index.d.ts +7 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +49 -0
- package/dist/commonjs/lib/InferenceOutputError.js +10 -0
- package/dist/commonjs/lib/getDefaultTask.js +48 -0
- package/dist/{src → commonjs}/lib/getInferenceProviderMapping.d.ts +1 -1
- package/dist/{src → commonjs}/lib/getInferenceProviderMapping.d.ts.map +1 -1
- package/dist/commonjs/lib/getInferenceProviderMapping.js +81 -0
- package/dist/{src → commonjs}/lib/getProviderHelper.d.ts +2 -2
- package/dist/{src → commonjs}/lib/getProviderHelper.d.ts.map +1 -1
- package/dist/commonjs/lib/getProviderHelper.js +168 -0
- package/dist/commonjs/lib/isUrl.js +6 -0
- package/dist/{src → commonjs}/lib/makeRequestOptions.d.ts +3 -3
- package/dist/{src → commonjs}/lib/makeRequestOptions.d.ts.map +1 -1
- package/dist/commonjs/lib/makeRequestOptions.js +161 -0
- package/dist/commonjs/package.d.ts +3 -0
- package/dist/commonjs/package.d.ts.map +1 -0
- package/dist/commonjs/package.js +6 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/{src → commonjs}/providers/black-forest-labs.d.ts +2 -2
- package/dist/{src → commonjs}/providers/black-forest-labs.d.ts.map +1 -1
- package/dist/commonjs/providers/black-forest-labs.js +82 -0
- package/dist/{src → commonjs}/providers/cerebras.d.ts +1 -1
- package/dist/{src → commonjs}/providers/cerebras.d.ts.map +1 -1
- package/dist/commonjs/providers/cerebras.js +26 -0
- package/dist/{src → commonjs}/providers/cohere.d.ts +1 -1
- package/dist/{src → commonjs}/providers/cohere.d.ts.map +1 -1
- package/dist/commonjs/providers/cohere.js +29 -0
- package/dist/{src → commonjs}/providers/consts.d.ts +3 -3
- package/dist/commonjs/providers/consts.d.ts.map +1 -0
- package/dist/commonjs/providers/consts.js +35 -0
- package/dist/{src → commonjs}/providers/fal-ai.d.ts +3 -3
- package/dist/{src → commonjs}/providers/fal-ai.d.ts.map +1 -1
- package/dist/commonjs/providers/fal-ai.js +216 -0
- package/dist/{src → commonjs}/providers/featherless-ai.d.ts +2 -2
- package/dist/{src → commonjs}/providers/featherless-ai.d.ts.map +1 -1
- package/dist/commonjs/providers/featherless-ai.js +38 -0
- package/dist/{src → commonjs}/providers/fireworks-ai.d.ts +1 -1
- package/dist/commonjs/providers/fireworks-ai.d.ts.map +1 -0
- package/dist/commonjs/providers/fireworks-ai.js +29 -0
- package/dist/{src → commonjs}/providers/groq.d.ts +1 -1
- package/dist/{src → commonjs}/providers/groq.d.ts.map +1 -1
- package/dist/commonjs/providers/groq.js +39 -0
- package/dist/{src → commonjs}/providers/hf-inference.d.ts +6 -6
- package/dist/{src → commonjs}/providers/hf-inference.d.ts.map +1 -1
- package/dist/commonjs/providers/hf-inference.js +432 -0
- package/dist/{src → commonjs}/providers/hyperbolic.d.ts +2 -2
- package/dist/{src → commonjs}/providers/hyperbolic.d.ts.map +1 -1
- package/dist/commonjs/providers/hyperbolic.js +78 -0
- package/dist/{src → commonjs}/providers/nebius.d.ts +2 -2
- package/dist/{src → commonjs}/providers/nebius.d.ts.map +1 -1
- package/dist/commonjs/providers/nebius.js +70 -0
- package/dist/{src → commonjs}/providers/novita.d.ts +2 -2
- package/dist/{src → commonjs}/providers/novita.d.ts.map +1 -1
- package/dist/commonjs/providers/novita.js +73 -0
- package/dist/{src → commonjs}/providers/nscale.d.ts +2 -2
- package/dist/{src → commonjs}/providers/nscale.d.ts.map +1 -1
- package/dist/commonjs/providers/nscale.js +46 -0
- package/dist/{src → commonjs}/providers/openai.d.ts +1 -1
- package/dist/{src → commonjs}/providers/openai.d.ts.map +1 -1
- package/dist/commonjs/providers/openai.js +15 -0
- package/dist/{src → commonjs}/providers/ovhcloud.d.ts +2 -2
- package/dist/{src → commonjs}/providers/ovhcloud.d.ts.map +1 -1
- package/dist/commonjs/providers/ovhcloud.js +60 -0
- package/dist/{src → commonjs}/providers/providerHelper.d.ts +4 -4
- package/dist/{src → commonjs}/providers/providerHelper.d.ts.map +1 -1
- package/dist/commonjs/providers/providerHelper.js +108 -0
- package/dist/{src → commonjs}/providers/replicate.d.ts +2 -2
- package/dist/{src → commonjs}/providers/replicate.d.ts.map +1 -1
- package/dist/commonjs/providers/replicate.js +135 -0
- package/dist/{src → commonjs}/providers/sambanova.d.ts +3 -3
- package/dist/{src → commonjs}/providers/sambanova.d.ts.map +1 -1
- package/dist/commonjs/providers/sambanova.js +49 -0
- package/dist/{src → commonjs}/providers/together.d.ts +2 -2
- package/dist/{src → commonjs}/providers/together.d.ts.map +1 -1
- package/dist/commonjs/providers/together.js +71 -0
- package/dist/{src → commonjs}/snippets/getInferenceSnippets.d.ts +2 -2
- package/dist/{src → commonjs}/snippets/getInferenceSnippets.d.ts.map +1 -1
- package/dist/commonjs/snippets/getInferenceSnippets.js +312 -0
- package/dist/commonjs/snippets/index.js +5 -0
- package/dist/commonjs/snippets/templates.exported.js +81 -0
- package/dist/{src → commonjs}/tasks/audio/audioClassification.d.ts +2 -2
- package/dist/{src → commonjs}/tasks/audio/audioClassification.d.ts.map +1 -1
- package/dist/commonjs/tasks/audio/audioClassification.js +21 -0
- package/dist/{src → commonjs}/tasks/audio/audioToAudio.d.ts +2 -2
- package/dist/commonjs/tasks/audio/audioToAudio.d.ts.map +1 -0
- package/dist/commonjs/tasks/audio/audioToAudio.js +22 -0
- package/dist/{src → commonjs}/tasks/audio/automaticSpeechRecognition.d.ts +2 -2
- package/dist/commonjs/tasks/audio/automaticSpeechRecognition.d.ts.map +1 -0
- package/dist/commonjs/tasks/audio/automaticSpeechRecognition.js +25 -0
- package/dist/{src → commonjs}/tasks/audio/textToSpeech.d.ts +1 -1
- package/dist/commonjs/tasks/audio/textToSpeech.d.ts.map +1 -0
- package/dist/commonjs/tasks/audio/textToSpeech.js +19 -0
- package/dist/{src → commonjs}/tasks/audio/utils.d.ts +1 -1
- package/dist/commonjs/tasks/audio/utils.d.ts.map +1 -0
- package/dist/commonjs/tasks/audio/utils.js +12 -0
- package/dist/{src → commonjs}/tasks/custom/request.d.ts +1 -1
- package/dist/commonjs/tasks/custom/request.d.ts.map +1 -0
- package/dist/commonjs/tasks/custom/request.js +17 -0
- package/dist/{src → commonjs}/tasks/custom/streamingRequest.d.ts +1 -1
- package/dist/commonjs/tasks/custom/streamingRequest.d.ts.map +1 -0
- package/dist/commonjs/tasks/custom/streamingRequest.js +16 -0
- package/dist/{src → commonjs}/tasks/cv/imageClassification.d.ts +2 -2
- package/dist/commonjs/tasks/cv/imageClassification.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/imageClassification.js +21 -0
- package/dist/{src → commonjs}/tasks/cv/imageSegmentation.d.ts +2 -2
- package/dist/commonjs/tasks/cv/imageSegmentation.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/imageSegmentation.js +21 -0
- package/dist/{src → commonjs}/tasks/cv/imageToImage.d.ts +1 -1
- package/dist/commonjs/tasks/cv/imageToImage.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/imageToImage.js +20 -0
- package/dist/{src → commonjs}/tasks/cv/imageToText.d.ts +2 -2
- package/dist/commonjs/tasks/cv/imageToText.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/imageToText.js +20 -0
- package/dist/{src → commonjs}/tasks/cv/objectDetection.d.ts +2 -2
- package/dist/commonjs/tasks/cv/objectDetection.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/objectDetection.js +21 -0
- package/dist/{src → commonjs}/tasks/cv/textToImage.d.ts +1 -1
- package/dist/commonjs/tasks/cv/textToImage.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/textToImage.js +17 -0
- package/dist/{src → commonjs}/tasks/cv/textToVideo.d.ts +1 -1
- package/dist/commonjs/tasks/cv/textToVideo.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/textToVideo.js +17 -0
- package/dist/{src → commonjs}/tasks/cv/utils.d.ts +1 -1
- package/dist/commonjs/tasks/cv/utils.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/utils.js +7 -0
- package/dist/{src → commonjs}/tasks/cv/zeroShotImageClassification.d.ts +1 -1
- package/dist/commonjs/tasks/cv/zeroShotImageClassification.d.ts.map +1 -0
- package/dist/commonjs/tasks/cv/zeroShotImageClassification.js +39 -0
- package/dist/commonjs/tasks/index.d.ts +33 -0
- package/dist/commonjs/tasks/index.d.ts.map +1 -0
- package/dist/commonjs/tasks/index.js +54 -0
- package/dist/{src → commonjs}/tasks/multimodal/documentQuestionAnswering.d.ts +1 -1
- package/dist/commonjs/tasks/multimodal/documentQuestionAnswering.d.ts.map +1 -0
- package/dist/commonjs/tasks/multimodal/documentQuestionAnswering.js +27 -0
- package/dist/{src → commonjs}/tasks/multimodal/visualQuestionAnswering.d.ts +1 -1
- package/dist/commonjs/tasks/multimodal/visualQuestionAnswering.d.ts.map +1 -0
- package/dist/commonjs/tasks/multimodal/visualQuestionAnswering.js +27 -0
- package/dist/{src → commonjs}/tasks/nlp/chatCompletion.d.ts +1 -1
- package/dist/{src → commonjs}/tasks/nlp/chatCompletion.d.ts.map +1 -1
- package/dist/commonjs/tasks/nlp/chatCompletion.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/chatCompletionStream.d.ts +1 -1
- package/dist/{src → commonjs}/tasks/nlp/chatCompletionStream.d.ts.map +1 -1
- package/dist/commonjs/tasks/nlp/chatCompletionStream.js +17 -0
- package/dist/{src → commonjs}/tasks/nlp/featureExtraction.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/featureExtraction.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/featureExtraction.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/fillMask.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/fillMask.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/fillMask.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/questionAnswering.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/questionAnswering.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/questionAnswering.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/sentenceSimilarity.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/sentenceSimilarity.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/sentenceSimilarity.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/summarization.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/summarization.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/summarization.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/tableQuestionAnswering.d.ts +1 -1
- package/dist/{src → commonjs}/tasks/nlp/tableQuestionAnswering.d.ts.map +1 -1
- package/dist/commonjs/tasks/nlp/tableQuestionAnswering.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/textClassification.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/textClassification.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/textClassification.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/textGeneration.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/textGeneration.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/textGeneration.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/textGenerationStream.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/textGenerationStream.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/textGenerationStream.js +17 -0
- package/dist/{src → commonjs}/tasks/nlp/tokenClassification.d.ts +1 -1
- package/dist/{src → commonjs}/tasks/nlp/tokenClassification.d.ts.map +1 -1
- package/dist/commonjs/tasks/nlp/tokenClassification.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/translation.d.ts +1 -1
- package/dist/commonjs/tasks/nlp/translation.d.ts.map +1 -0
- package/dist/commonjs/tasks/nlp/translation.js +18 -0
- package/dist/{src → commonjs}/tasks/nlp/zeroShotClassification.d.ts +1 -1
- package/dist/{src → commonjs}/tasks/nlp/zeroShotClassification.d.ts.map +1 -1
- package/dist/commonjs/tasks/nlp/zeroShotClassification.js +18 -0
- package/dist/{src → commonjs}/tasks/tabular/tabularClassification.d.ts +1 -1
- package/dist/commonjs/tasks/tabular/tabularClassification.d.ts.map +1 -0
- package/dist/commonjs/tasks/tabular/tabularClassification.js +20 -0
- package/dist/{src → commonjs}/tasks/tabular/tabularRegression.d.ts +1 -1
- package/dist/commonjs/tasks/tabular/tabularRegression.d.ts.map +1 -0
- package/dist/commonjs/tasks/tabular/tabularRegression.js +20 -0
- package/dist/{src → commonjs}/types.d.ts +1 -1
- package/dist/{src → commonjs}/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +23 -0
- package/dist/commonjs/utils/base64FromBytes.js +15 -0
- package/dist/commonjs/utils/delay.js +8 -0
- package/dist/commonjs/utils/distributive-omit.js +7 -0
- package/dist/commonjs/utils/isBackend.js +6 -0
- package/dist/commonjs/utils/isFrontend.js +5 -0
- package/dist/commonjs/utils/omit.js +13 -0
- package/dist/commonjs/utils/pick.js +13 -0
- package/dist/{src → commonjs}/utils/request.d.ts +2 -2
- package/dist/{src → commonjs}/utils/request.d.ts.map +1 -1
- package/dist/commonjs/utils/request.js +116 -0
- package/dist/commonjs/utils/toArray.js +9 -0
- package/dist/commonjs/utils/typedEntries.js +6 -0
- package/dist/commonjs/utils/typedInclude.js +6 -0
- package/dist/commonjs/vendor/fetch-event-source/parse.d.ts.map +1 -0
- package/dist/commonjs/vendor/fetch-event-source/parse.js +185 -0
- package/dist/commonjs/vendor/fetch-event-source/parse.spec.js +370 -0
- package/dist/esm/InferenceClient.d.ts +32 -0
- package/dist/esm/InferenceClient.d.ts.map +1 -0
- package/dist/esm/InferenceClient.js +44 -0
- package/dist/esm/config.d.ts +4 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +3 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/{src/index.d.ts → esm/index.js} +4 -5
- package/dist/esm/lib/InferenceOutputError.d.ts +4 -0
- package/dist/esm/lib/InferenceOutputError.d.ts.map +1 -0
- package/dist/esm/lib/InferenceOutputError.js +6 -0
- package/dist/esm/lib/getDefaultTask.d.ts +11 -0
- package/dist/esm/lib/getDefaultTask.d.ts.map +1 -0
- package/dist/esm/lib/getDefaultTask.js +45 -0
- package/dist/esm/lib/getInferenceProviderMapping.d.ts +25 -0
- package/dist/esm/lib/getInferenceProviderMapping.d.ts.map +1 -0
- package/dist/esm/lib/getInferenceProviderMapping.js +75 -0
- package/dist/esm/lib/getProviderHelper.d.ts +37 -0
- package/dist/esm/lib/getProviderHelper.d.ts.map +1 -0
- package/dist/esm/lib/getProviderHelper.js +131 -0
- package/dist/esm/lib/isUrl.d.ts +2 -0
- package/dist/esm/lib/isUrl.d.ts.map +1 -0
- package/dist/esm/lib/isUrl.js +3 -0
- package/dist/esm/lib/makeRequestOptions.d.ts +31 -0
- package/dist/esm/lib/makeRequestOptions.d.ts.map +1 -0
- package/dist/esm/lib/makeRequestOptions.js +157 -0
- package/dist/esm/package.d.ts +3 -0
- package/dist/esm/package.d.ts.map +1 -0
- package/dist/esm/package.js +3 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/providers/black-forest-labs.d.ts +15 -0
- package/dist/esm/providers/black-forest-labs.d.ts.map +1 -0
- package/dist/esm/providers/black-forest-labs.js +78 -0
- package/dist/esm/providers/cerebras.d.ts +21 -0
- package/dist/esm/providers/cerebras.d.ts.map +1 -0
- package/dist/esm/providers/cerebras.js +22 -0
- package/dist/esm/providers/cohere.d.ts +22 -0
- package/dist/esm/providers/cohere.d.ts.map +1 -0
- package/dist/esm/providers/cohere.js +25 -0
- package/dist/esm/providers/consts.d.ts +12 -0
- package/dist/esm/providers/consts.d.ts.map +1 -0
- package/dist/esm/providers/consts.js +32 -0
- package/dist/esm/providers/fal-ai.d.ts +42 -0
- package/dist/esm/providers/fal-ai.d.ts.map +1 -0
- package/dist/esm/providers/fal-ai.js +209 -0
- package/dist/esm/providers/featherless-ai.d.ts +22 -0
- package/dist/esm/providers/featherless-ai.d.ts.map +1 -0
- package/dist/esm/providers/featherless-ai.js +33 -0
- package/dist/esm/providers/fireworks-ai.d.ts +22 -0
- package/dist/esm/providers/fireworks-ai.d.ts.map +1 -0
- package/dist/esm/providers/fireworks-ai.js +25 -0
- package/dist/esm/providers/groq.d.ts +10 -0
- package/dist/esm/providers/groq.d.ts.map +1 -0
- package/dist/esm/providers/groq.js +34 -0
- package/dist/esm/providers/hf-inference.d.ts +131 -0
- package/dist/esm/providers/hf-inference.d.ts.map +1 -0
- package/dist/esm/providers/hf-inference.js +400 -0
- package/dist/esm/providers/hyperbolic.d.ts +48 -0
- package/dist/esm/providers/hyperbolic.d.ts.map +1 -0
- package/dist/esm/providers/hyperbolic.js +72 -0
- package/dist/esm/providers/nebius.d.ts +49 -0
- package/dist/esm/providers/nebius.d.ts.map +1 -0
- package/dist/esm/providers/nebius.js +63 -0
- package/dist/esm/providers/novita.d.ts +22 -0
- package/dist/esm/providers/novita.d.ts.map +1 -0
- package/dist/esm/providers/novita.js +67 -0
- package/dist/esm/providers/nscale.d.ts +35 -0
- package/dist/esm/providers/nscale.d.ts.map +1 -0
- package/dist/esm/providers/nscale.js +41 -0
- package/dist/esm/providers/openai.d.ts +8 -0
- package/dist/esm/providers/openai.d.ts.map +1 -0
- package/dist/esm/providers/openai.js +11 -0
- package/dist/esm/providers/ovhcloud.d.ts +38 -0
- package/dist/esm/providers/ovhcloud.d.ts.map +1 -0
- package/dist/esm/providers/ovhcloud.js +55 -0
- package/dist/esm/providers/providerHelper.d.ts +186 -0
- package/dist/esm/providers/providerHelper.d.ts.map +1 -0
- package/dist/esm/providers/providerHelper.js +102 -0
- package/dist/esm/providers/replicate.d.ts +25 -0
- package/dist/esm/providers/replicate.d.ts.map +1 -0
- package/dist/esm/providers/replicate.js +129 -0
- package/dist/esm/providers/sambanova.d.ts +14 -0
- package/dist/esm/providers/sambanova.d.ts.map +1 -0
- package/dist/esm/providers/sambanova.js +44 -0
- package/dist/esm/providers/together.d.ts +49 -0
- package/dist/esm/providers/together.d.ts.map +1 -0
- package/dist/esm/providers/together.js +65 -0
- package/dist/esm/snippets/getInferenceSnippets.d.ts +9 -0
- package/dist/esm/snippets/getInferenceSnippets.d.ts.map +1 -0
- package/dist/esm/snippets/getInferenceSnippets.js +309 -0
- package/dist/esm/snippets/index.d.ts +2 -0
- package/dist/esm/snippets/index.d.ts.map +1 -0
- package/dist/esm/snippets/index.js +1 -0
- package/dist/esm/snippets/templates.exported.d.ts +2 -0
- package/dist/esm/snippets/templates.exported.d.ts.map +1 -0
- package/dist/esm/snippets/templates.exported.js +78 -0
- package/dist/esm/tasks/audio/audioClassification.d.ts +10 -0
- package/dist/esm/tasks/audio/audioClassification.d.ts.map +1 -0
- package/dist/esm/tasks/audio/audioClassification.js +18 -0
- package/dist/esm/tasks/audio/audioToAudio.d.ts +29 -0
- package/dist/esm/tasks/audio/audioToAudio.d.ts.map +1 -0
- package/dist/esm/tasks/audio/audioToAudio.js +19 -0
- package/dist/esm/tasks/audio/automaticSpeechRecognition.d.ts +10 -0
- package/dist/esm/tasks/audio/automaticSpeechRecognition.d.ts.map +1 -0
- package/dist/esm/tasks/audio/automaticSpeechRecognition.js +22 -0
- package/dist/esm/tasks/audio/textToSpeech.d.ts +10 -0
- package/dist/esm/tasks/audio/textToSpeech.d.ts.map +1 -0
- package/dist/esm/tasks/audio/textToSpeech.js +16 -0
- package/dist/esm/tasks/audio/utils.d.ts +12 -0
- package/dist/esm/tasks/audio/utils.d.ts.map +1 -0
- package/dist/esm/tasks/audio/utils.js +9 -0
- package/dist/esm/tasks/custom/request.d.ts +10 -0
- package/dist/esm/tasks/custom/request.d.ts.map +1 -0
- package/dist/esm/tasks/custom/request.js +14 -0
- package/dist/esm/tasks/custom/streamingRequest.d.ts +10 -0
- package/dist/esm/tasks/custom/streamingRequest.d.ts.map +1 -0
- package/dist/esm/tasks/custom/streamingRequest.js +13 -0
- package/dist/esm/tasks/cv/imageClassification.d.ts +10 -0
- package/dist/esm/tasks/cv/imageClassification.d.ts.map +1 -0
- package/dist/esm/tasks/cv/imageClassification.js +18 -0
- package/dist/esm/tasks/cv/imageSegmentation.d.ts +10 -0
- package/dist/esm/tasks/cv/imageSegmentation.d.ts.map +1 -0
- package/dist/esm/tasks/cv/imageSegmentation.js +18 -0
- package/dist/esm/tasks/cv/imageToImage.d.ts +9 -0
- package/dist/esm/tasks/cv/imageToImage.d.ts.map +1 -0
- package/dist/esm/tasks/cv/imageToImage.js +17 -0
- package/dist/esm/tasks/cv/imageToText.d.ts +9 -0
- package/dist/esm/tasks/cv/imageToText.d.ts.map +1 -0
- package/dist/esm/tasks/cv/imageToText.js +17 -0
- package/dist/esm/tasks/cv/objectDetection.d.ts +10 -0
- package/dist/esm/tasks/cv/objectDetection.d.ts.map +1 -0
- package/dist/esm/tasks/cv/objectDetection.js +18 -0
- package/dist/esm/tasks/cv/textToImage.d.ts +18 -0
- package/dist/esm/tasks/cv/textToImage.d.ts.map +1 -0
- package/dist/esm/tasks/cv/textToImage.js +14 -0
- package/dist/esm/tasks/cv/textToVideo.d.ts +6 -0
- package/dist/esm/tasks/cv/textToVideo.d.ts.map +1 -0
- package/dist/esm/tasks/cv/textToVideo.js +14 -0
- package/dist/esm/tasks/cv/utils.d.ts +11 -0
- package/dist/esm/tasks/cv/utils.d.ts.map +1 -0
- package/dist/esm/tasks/cv/utils.js +4 -0
- package/dist/esm/tasks/cv/zeroShotImageClassification.d.ts +18 -0
- package/dist/esm/tasks/cv/zeroShotImageClassification.d.ts.map +1 -0
- package/dist/esm/tasks/cv/zeroShotImageClassification.js +36 -0
- package/dist/esm/tasks/index.d.ts +33 -0
- package/dist/esm/tasks/index.d.ts.map +1 -0
- package/dist/esm/tasks/index.js +38 -0
- package/dist/esm/tasks/multimodal/documentQuestionAnswering.d.ts +12 -0
- package/dist/esm/tasks/multimodal/documentQuestionAnswering.d.ts.map +1 -0
- package/dist/esm/tasks/multimodal/documentQuestionAnswering.js +24 -0
- package/dist/esm/tasks/multimodal/visualQuestionAnswering.d.ts +12 -0
- package/dist/esm/tasks/multimodal/visualQuestionAnswering.d.ts.map +1 -0
- package/dist/esm/tasks/multimodal/visualQuestionAnswering.js +24 -0
- package/dist/esm/tasks/nlp/chatCompletion.d.ts +7 -0
- package/dist/esm/tasks/nlp/chatCompletion.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/chatCompletion.js +15 -0
- package/dist/esm/tasks/nlp/chatCompletionStream.d.ts +7 -0
- package/dist/esm/tasks/nlp/chatCompletionStream.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/chatCompletionStream.js +14 -0
- package/dist/esm/tasks/nlp/featureExtraction.d.ts +17 -0
- package/dist/esm/tasks/nlp/featureExtraction.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/featureExtraction.js +15 -0
- package/dist/esm/tasks/nlp/fillMask.d.ts +8 -0
- package/dist/esm/tasks/nlp/fillMask.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/fillMask.js +15 -0
- package/dist/esm/tasks/nlp/questionAnswering.d.ts +8 -0
- package/dist/esm/tasks/nlp/questionAnswering.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/questionAnswering.js +15 -0
- package/dist/esm/tasks/nlp/sentenceSimilarity.d.ts +8 -0
- package/dist/esm/tasks/nlp/sentenceSimilarity.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/sentenceSimilarity.js +15 -0
- package/dist/esm/tasks/nlp/summarization.d.ts +8 -0
- package/dist/esm/tasks/nlp/summarization.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/summarization.js +15 -0
- package/dist/esm/tasks/nlp/tableQuestionAnswering.d.ts +8 -0
- package/dist/esm/tasks/nlp/tableQuestionAnswering.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/tableQuestionAnswering.js +15 -0
- package/dist/esm/tasks/nlp/textClassification.d.ts +8 -0
- package/dist/esm/tasks/nlp/textClassification.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/textClassification.js +15 -0
- package/dist/esm/tasks/nlp/textGeneration.d.ts +8 -0
- package/dist/esm/tasks/nlp/textGeneration.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/textGeneration.js +15 -0
- package/dist/esm/tasks/nlp/textGenerationStream.d.ts +81 -0
- package/dist/esm/tasks/nlp/textGenerationStream.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/textGenerationStream.js +14 -0
- package/dist/esm/tasks/nlp/tokenClassification.d.ts +8 -0
- package/dist/esm/tasks/nlp/tokenClassification.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/tokenClassification.js +15 -0
- package/dist/esm/tasks/nlp/translation.d.ts +8 -0
- package/dist/esm/tasks/nlp/translation.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/translation.js +15 -0
- package/dist/esm/tasks/nlp/zeroShotClassification.d.ts +8 -0
- package/dist/esm/tasks/nlp/zeroShotClassification.d.ts.map +1 -0
- package/dist/esm/tasks/nlp/zeroShotClassification.js +15 -0
- package/dist/esm/tasks/tabular/tabularClassification.d.ts +20 -0
- package/dist/esm/tasks/tabular/tabularClassification.d.ts.map +1 -0
- package/dist/esm/tasks/tabular/tabularClassification.js +17 -0
- package/dist/esm/tasks/tabular/tabularRegression.d.ts +20 -0
- package/dist/esm/tasks/tabular/tabularRegression.d.ts.map +1 -0
- package/dist/esm/tasks/tabular/tabularRegression.js +17 -0
- package/dist/esm/types.d.ts +97 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +20 -0
- package/dist/esm/utils/base64FromBytes.d.ts +2 -0
- package/dist/esm/utils/base64FromBytes.d.ts.map +1 -0
- package/dist/esm/utils/base64FromBytes.js +12 -0
- package/dist/esm/utils/delay.d.ts +2 -0
- package/dist/esm/utils/delay.d.ts.map +1 -0
- package/dist/esm/utils/delay.js +5 -0
- package/dist/esm/utils/distributive-omit.d.ts +9 -0
- package/dist/esm/utils/distributive-omit.d.ts.map +1 -0
- package/dist/esm/utils/distributive-omit.js +6 -0
- package/dist/esm/utils/isBackend.d.ts +2 -0
- package/dist/esm/utils/isBackend.d.ts.map +1 -0
- package/dist/esm/utils/isBackend.js +3 -0
- package/dist/esm/utils/isFrontend.d.ts +2 -0
- package/dist/esm/utils/isFrontend.d.ts.map +1 -0
- package/dist/esm/utils/isFrontend.js +2 -0
- package/dist/esm/utils/omit.d.ts +5 -0
- package/dist/esm/utils/omit.d.ts.map +1 -0
- package/dist/esm/utils/omit.js +10 -0
- package/dist/esm/utils/pick.d.ts +5 -0
- package/dist/esm/utils/pick.d.ts.map +1 -0
- package/dist/esm/utils/pick.js +10 -0
- package/dist/esm/utils/request.d.ts +28 -0
- package/dist/esm/utils/request.d.ts.map +1 -0
- package/dist/esm/utils/request.js +112 -0
- package/dist/esm/utils/toArray.d.ts +2 -0
- package/dist/esm/utils/toArray.d.ts.map +1 -0
- package/dist/esm/utils/toArray.js +6 -0
- package/dist/esm/utils/typedEntries.d.ts +4 -0
- package/dist/esm/utils/typedEntries.d.ts.map +1 -0
- package/dist/esm/utils/typedEntries.js +3 -0
- package/dist/esm/utils/typedInclude.d.ts +2 -0
- package/dist/esm/utils/typedInclude.d.ts.map +1 -0
- package/dist/esm/utils/typedInclude.js +3 -0
- package/dist/esm/vendor/fetch-event-source/parse.d.ts +69 -0
- package/dist/esm/vendor/fetch-event-source/parse.d.ts.map +1 -0
- package/dist/esm/vendor/fetch-event-source/parse.js +180 -0
- package/dist/esm/vendor/fetch-event-source/parse.spec.d.ts +2 -0
- package/dist/esm/vendor/fetch-event-source/parse.spec.d.ts.map +1 -0
- package/dist/esm/vendor/fetch-event-source/parse.spec.js +335 -0
- package/package.json +26 -12
- package/src/InferenceClient.ts +4 -4
- package/src/index.ts +4 -4
- package/src/lib/getDefaultTask.ts +2 -2
- package/src/lib/getInferenceProviderMapping.ts +5 -5
- package/src/lib/getProviderHelper.ts +19 -19
- package/src/lib/makeRequestOptions.ts +8 -8
- package/src/package.ts +3 -0
- package/src/providers/black-forest-labs.ts +5 -5
- package/src/providers/cerebras.ts +1 -1
- package/src/providers/cohere.ts +1 -1
- package/src/providers/consts.ts +3 -3
- package/src/providers/fal-ai.ts +9 -9
- package/src/providers/featherless-ai.ts +3 -3
- package/src/providers/fireworks-ai.ts +1 -1
- package/src/providers/groq.ts +1 -1
- package/src/providers/hf-inference.ts +11 -11
- package/src/providers/hyperbolic.ts +4 -4
- package/src/providers/nebius.ts +4 -4
- package/src/providers/novita.ts +5 -5
- package/src/providers/nscale.ts +4 -4
- package/src/providers/openai.ts +1 -1
- package/src/providers/ovhcloud.ts +4 -4
- package/src/providers/providerHelper.ts +7 -7
- package/src/providers/replicate.ts +5 -5
- package/src/providers/sambanova.ts +4 -4
- package/src/providers/together.ts +4 -4
- package/src/snippets/getInferenceSnippets.ts +7 -7
- package/src/tasks/audio/audioClassification.ts +6 -6
- package/src/tasks/audio/audioToAudio.ts +6 -6
- package/src/tasks/audio/automaticSpeechRecognition.ts +6 -6
- package/src/tasks/audio/textToSpeech.ts +4 -4
- package/src/tasks/audio/utils.ts +2 -2
- package/src/tasks/custom/request.ts +4 -4
- package/src/tasks/custom/streamingRequest.ts +4 -4
- package/src/tasks/cv/imageClassification.ts +5 -5
- package/src/tasks/cv/imageSegmentation.ts +5 -5
- package/src/tasks/cv/imageToImage.ts +4 -4
- package/src/tasks/cv/imageToText.ts +6 -6
- package/src/tasks/cv/objectDetection.ts +5 -5
- package/src/tasks/cv/textToImage.ts +5 -5
- package/src/tasks/cv/textToVideo.ts +8 -8
- package/src/tasks/cv/utils.ts +2 -2
- package/src/tasks/cv/zeroShotImageClassification.ts +5 -5
- package/src/tasks/index.ts +32 -32
- package/src/tasks/multimodal/documentQuestionAnswering.ts +5 -5
- package/src/tasks/multimodal/visualQuestionAnswering.ts +5 -5
- package/src/tasks/nlp/chatCompletion.ts +4 -4
- package/src/tasks/nlp/chatCompletionStream.ts +4 -4
- package/src/tasks/nlp/featureExtraction.ts +4 -4
- package/src/tasks/nlp/fillMask.ts +4 -4
- package/src/tasks/nlp/questionAnswering.ts +4 -4
- package/src/tasks/nlp/sentenceSimilarity.ts +4 -4
- package/src/tasks/nlp/summarization.ts +4 -4
- package/src/tasks/nlp/tableQuestionAnswering.ts +4 -4
- package/src/tasks/nlp/textClassification.ts +4 -4
- package/src/tasks/nlp/textGeneration.ts +5 -5
- package/src/tasks/nlp/textGenerationStream.ts +4 -4
- package/src/tasks/nlp/tokenClassification.ts +4 -4
- package/src/tasks/nlp/translation.ts +4 -4
- package/src/tasks/nlp/zeroShotClassification.ts +4 -4
- package/src/tasks/tabular/tabularClassification.ts +4 -4
- package/src/tasks/tabular/tabularRegression.ts +4 -4
- package/src/types.ts +1 -1
- package/src/utils/isFrontend.ts +1 -1
- package/src/utils/omit.ts +2 -2
- package/src/utils/request.ts +5 -5
- package/src/vendor/fetch-event-source/parse.spec.ts +1 -1
- package/src/vendor/fetch-event-source/parse.ts +6 -5
- package/dist/index.cjs +0 -2868
- package/dist/index.js +0 -2812
- package/dist/src/InferenceClient.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/providers/consts.d.ts.map +0 -1
- package/dist/src/providers/fireworks-ai.d.ts.map +0 -1
- package/dist/src/tasks/audio/audioToAudio.d.ts.map +0 -1
- package/dist/src/tasks/audio/automaticSpeechRecognition.d.ts.map +0 -1
- package/dist/src/tasks/audio/textToSpeech.d.ts.map +0 -1
- package/dist/src/tasks/audio/utils.d.ts.map +0 -1
- package/dist/src/tasks/custom/request.d.ts.map +0 -1
- package/dist/src/tasks/custom/streamingRequest.d.ts.map +0 -1
- package/dist/src/tasks/cv/imageClassification.d.ts.map +0 -1
- package/dist/src/tasks/cv/imageSegmentation.d.ts.map +0 -1
- package/dist/src/tasks/cv/imageToImage.d.ts.map +0 -1
- package/dist/src/tasks/cv/imageToText.d.ts.map +0 -1
- package/dist/src/tasks/cv/objectDetection.d.ts.map +0 -1
- package/dist/src/tasks/cv/textToImage.d.ts.map +0 -1
- package/dist/src/tasks/cv/textToVideo.d.ts.map +0 -1
- package/dist/src/tasks/cv/utils.d.ts.map +0 -1
- package/dist/src/tasks/cv/zeroShotImageClassification.d.ts.map +0 -1
- package/dist/src/tasks/index.d.ts +0 -33
- package/dist/src/tasks/index.d.ts.map +0 -1
- package/dist/src/tasks/multimodal/documentQuestionAnswering.d.ts.map +0 -1
- package/dist/src/tasks/multimodal/visualQuestionAnswering.d.ts.map +0 -1
- package/dist/src/tasks/nlp/featureExtraction.d.ts.map +0 -1
- package/dist/src/tasks/nlp/fillMask.d.ts.map +0 -1
- package/dist/src/tasks/nlp/questionAnswering.d.ts.map +0 -1
- package/dist/src/tasks/nlp/sentenceSimilarity.d.ts.map +0 -1
- package/dist/src/tasks/nlp/summarization.d.ts.map +0 -1
- package/dist/src/tasks/nlp/textClassification.d.ts.map +0 -1
- package/dist/src/tasks/nlp/textGeneration.d.ts.map +0 -1
- package/dist/src/tasks/nlp/textGenerationStream.d.ts.map +0 -1
- package/dist/src/tasks/nlp/translation.d.ts.map +0 -1
- package/dist/src/tasks/tabular/tabularClassification.d.ts.map +0 -1
- package/dist/src/tasks/tabular/tabularRegression.d.ts.map +0 -1
- package/dist/src/vendor/fetch-event-source/parse.d.ts.map +0 -1
- package/dist/test/InferenceClient.spec.d.ts +0 -2
- package/dist/test/InferenceClient.spec.d.ts.map +0 -1
- package/dist/test/expect-closeto.d.ts +0 -2
- package/dist/test/expect-closeto.d.ts.map +0 -1
- package/dist/test/test-files.d.ts +0 -2
- package/dist/test/test-files.d.ts.map +0 -1
- /package/dist/{src → commonjs}/config.d.ts +0 -0
- /package/dist/{src → commonjs}/config.d.ts.map +0 -0
- /package/dist/{src → commonjs}/lib/InferenceOutputError.d.ts +0 -0
- /package/dist/{src → commonjs}/lib/InferenceOutputError.d.ts.map +0 -0
- /package/dist/{src → commonjs}/lib/getDefaultTask.d.ts +0 -0
- /package/dist/{src → commonjs}/lib/getDefaultTask.d.ts.map +0 -0
- /package/dist/{src → commonjs}/lib/isUrl.d.ts +0 -0
- /package/dist/{src → commonjs}/lib/isUrl.d.ts.map +0 -0
- /package/dist/{src → commonjs}/snippets/index.d.ts +0 -0
- /package/dist/{src → commonjs}/snippets/index.d.ts.map +0 -0
- /package/dist/{src → commonjs}/snippets/templates.exported.d.ts +0 -0
- /package/dist/{src → commonjs}/snippets/templates.exported.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/base64FromBytes.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/base64FromBytes.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/delay.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/delay.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/distributive-omit.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/distributive-omit.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/isBackend.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/isBackend.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/isFrontend.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/isFrontend.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/omit.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/omit.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/pick.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/pick.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/toArray.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/toArray.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/typedEntries.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/typedEntries.d.ts.map +0 -0
- /package/dist/{src → commonjs}/utils/typedInclude.d.ts +0 -0
- /package/dist/{src → commonjs}/utils/typedInclude.d.ts.map +0 -0
- /package/dist/{src → commonjs}/vendor/fetch-event-source/parse.d.ts +0 -0
- /package/dist/{src → commonjs}/vendor/fetch-event-source/parse.spec.d.ts +0 -0
- /package/dist/{src → commonjs}/vendor/fetch-event-source/parse.spec.d.ts.map +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReplicateTextToVideoTask = exports.ReplicateTextToSpeechTask = exports.ReplicateTextToImageTask = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* See the registered mapping of HF model ID => Replicate model ID here:
|
|
6
|
+
*
|
|
7
|
+
* https://huggingface.co/api/partners/replicate/models
|
|
8
|
+
*
|
|
9
|
+
* This is a publicly available mapping.
|
|
10
|
+
*
|
|
11
|
+
* If you want to try to run inference for a new model locally before it's registered on huggingface.co,
|
|
12
|
+
* you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
|
|
13
|
+
*
|
|
14
|
+
* - If you work at Replicate and want to update this mapping, please use the model mapping API we provide on huggingface.co
|
|
15
|
+
* - If you're a community member and want to add a new supported HF model to Replicate, please open an issue on the present repo
|
|
16
|
+
* and we will tag Replicate team members.
|
|
17
|
+
*
|
|
18
|
+
* Thanks!
|
|
19
|
+
*/
|
|
20
|
+
const InferenceOutputError_js_1 = require("../lib/InferenceOutputError.js");
|
|
21
|
+
const isUrl_js_1 = require("../lib/isUrl.js");
|
|
22
|
+
const omit_js_1 = require("../utils/omit.js");
|
|
23
|
+
const providerHelper_js_1 = require("./providerHelper.js");
|
|
24
|
+
class ReplicateTask extends providerHelper_js_1.TaskProviderHelper {
|
|
25
|
+
constructor(url) {
|
|
26
|
+
super("replicate", url || "https://api.replicate.com");
|
|
27
|
+
}
|
|
28
|
+
makeRoute(params) {
|
|
29
|
+
if (params.model.includes(":")) {
|
|
30
|
+
return "v1/predictions";
|
|
31
|
+
}
|
|
32
|
+
return `v1/models/${params.model}/predictions`;
|
|
33
|
+
}
|
|
34
|
+
preparePayload(params) {
|
|
35
|
+
return {
|
|
36
|
+
input: {
|
|
37
|
+
...(0, omit_js_1.omit)(params.args, ["inputs", "parameters"]),
|
|
38
|
+
...params.args.parameters,
|
|
39
|
+
prompt: params.args.inputs,
|
|
40
|
+
},
|
|
41
|
+
version: params.model.includes(":") ? params.model.split(":")[1] : undefined,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
prepareHeaders(params, binary) {
|
|
45
|
+
const headers = { Authorization: `Bearer ${params.accessToken}`, Prefer: "wait" };
|
|
46
|
+
if (!binary) {
|
|
47
|
+
headers["Content-Type"] = "application/json";
|
|
48
|
+
}
|
|
49
|
+
return headers;
|
|
50
|
+
}
|
|
51
|
+
makeUrl(params) {
|
|
52
|
+
const baseUrl = this.makeBaseUrl(params);
|
|
53
|
+
if (params.model.includes(":")) {
|
|
54
|
+
return `${baseUrl}/v1/predictions`;
|
|
55
|
+
}
|
|
56
|
+
return `${baseUrl}/v1/models/${params.model}/predictions`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
class ReplicateTextToImageTask extends ReplicateTask {
|
|
60
|
+
preparePayload(params) {
|
|
61
|
+
return {
|
|
62
|
+
input: {
|
|
63
|
+
...(0, omit_js_1.omit)(params.args, ["inputs", "parameters"]),
|
|
64
|
+
...params.args.parameters,
|
|
65
|
+
prompt: params.args.inputs,
|
|
66
|
+
lora_weights: params.mapping?.adapter === "lora" && params.mapping.adapterWeightsPath
|
|
67
|
+
? `https://huggingface.co/${params.mapping.hfModelId}`
|
|
68
|
+
: undefined,
|
|
69
|
+
},
|
|
70
|
+
version: params.model.includes(":") ? params.model.split(":")[1] : undefined,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async getResponse(res, url, headers, outputType) {
|
|
74
|
+
void url;
|
|
75
|
+
void headers;
|
|
76
|
+
if (typeof res === "object" &&
|
|
77
|
+
"output" in res &&
|
|
78
|
+
Array.isArray(res.output) &&
|
|
79
|
+
res.output.length > 0 &&
|
|
80
|
+
typeof res.output[0] === "string") {
|
|
81
|
+
if (outputType === "url") {
|
|
82
|
+
return res.output[0];
|
|
83
|
+
}
|
|
84
|
+
const urlResponse = await fetch(res.output[0]);
|
|
85
|
+
return await urlResponse.blob();
|
|
86
|
+
}
|
|
87
|
+
throw new InferenceOutputError_js_1.InferenceOutputError("Expected Replicate text-to-image response format");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.ReplicateTextToImageTask = ReplicateTextToImageTask;
|
|
91
|
+
class ReplicateTextToSpeechTask extends ReplicateTask {
|
|
92
|
+
preparePayload(params) {
|
|
93
|
+
const payload = super.preparePayload(params);
|
|
94
|
+
const input = payload["input"];
|
|
95
|
+
if (typeof input === "object" && input !== null && "prompt" in input) {
|
|
96
|
+
const inputObj = input;
|
|
97
|
+
inputObj["text"] = inputObj["prompt"];
|
|
98
|
+
delete inputObj["prompt"];
|
|
99
|
+
}
|
|
100
|
+
return payload;
|
|
101
|
+
}
|
|
102
|
+
async getResponse(response) {
|
|
103
|
+
if (response instanceof Blob) {
|
|
104
|
+
return response;
|
|
105
|
+
}
|
|
106
|
+
if (response && typeof response === "object") {
|
|
107
|
+
if ("output" in response) {
|
|
108
|
+
if (typeof response.output === "string") {
|
|
109
|
+
const urlResponse = await fetch(response.output);
|
|
110
|
+
return await urlResponse.blob();
|
|
111
|
+
}
|
|
112
|
+
else if (Array.isArray(response.output)) {
|
|
113
|
+
const urlResponse = await fetch(response.output[0]);
|
|
114
|
+
return await urlResponse.blob();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
throw new InferenceOutputError_js_1.InferenceOutputError("Expected Blob or object with output");
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.ReplicateTextToSpeechTask = ReplicateTextToSpeechTask;
|
|
122
|
+
class ReplicateTextToVideoTask extends ReplicateTask {
|
|
123
|
+
async getResponse(response) {
|
|
124
|
+
if (typeof response === "object" &&
|
|
125
|
+
!!response &&
|
|
126
|
+
"output" in response &&
|
|
127
|
+
typeof response.output === "string" &&
|
|
128
|
+
(0, isUrl_js_1.isUrl)(response.output)) {
|
|
129
|
+
const urlResponse = await fetch(response.output);
|
|
130
|
+
return await urlResponse.blob();
|
|
131
|
+
}
|
|
132
|
+
throw new InferenceOutputError_js_1.InferenceOutputError("Expected { output: string }");
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.ReplicateTextToVideoTask = ReplicateTextToVideoTask;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FeatureExtractionOutput } from "@huggingface/tasks";
|
|
2
|
-
import type { BodyParams } from "../types";
|
|
3
|
-
import type { FeatureExtractionTaskHelper } from "./providerHelper";
|
|
4
|
-
import { BaseConversationalTask, TaskProviderHelper } from "./providerHelper";
|
|
2
|
+
import type { BodyParams } from "../types.js";
|
|
3
|
+
import type { FeatureExtractionTaskHelper } from "./providerHelper.js";
|
|
4
|
+
import { BaseConversationalTask, TaskProviderHelper } from "./providerHelper.js";
|
|
5
5
|
export declare class SambanovaConversationalTask extends BaseConversationalTask {
|
|
6
6
|
constructor();
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sambanova.d.ts","sourceRoot":"","sources":["../../../src/providers/sambanova.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sambanova.d.ts","sourceRoot":"","sources":["../../../src/providers/sambanova.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,qBAAa,2BAA4B,SAAQ,sBAAsB;;CAItE;AAED,qBAAa,8BAA+B,SAAQ,kBAAmB,YAAW,2BAA2B;;IAKnG,SAAS,IAAI,MAAM;IAIb,WAAW,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAStF,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOpE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SambanovaFeatureExtractionTask = exports.SambanovaConversationalTask = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* See the registered mapping of HF model ID => Sambanova model ID here:
|
|
6
|
+
*
|
|
7
|
+
* https://huggingface.co/api/partners/sambanova/models
|
|
8
|
+
*
|
|
9
|
+
* This is a publicly available mapping.
|
|
10
|
+
*
|
|
11
|
+
* If you want to try to run inference for a new model locally before it's registered on huggingface.co,
|
|
12
|
+
* you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
|
|
13
|
+
*
|
|
14
|
+
* - If you work at Sambanova and want to update this mapping, please use the model mapping API we provide on huggingface.co
|
|
15
|
+
* - If you're a community member and want to add a new supported HF model to Sambanova, please open an issue on the present repo
|
|
16
|
+
* and we will tag Sambanova team members.
|
|
17
|
+
*
|
|
18
|
+
* Thanks!
|
|
19
|
+
*/
|
|
20
|
+
const InferenceOutputError_js_1 = require("../lib/InferenceOutputError.js");
|
|
21
|
+
const providerHelper_js_1 = require("./providerHelper.js");
|
|
22
|
+
class SambanovaConversationalTask extends providerHelper_js_1.BaseConversationalTask {
|
|
23
|
+
constructor() {
|
|
24
|
+
super("sambanova", "https://api.sambanova.ai");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.SambanovaConversationalTask = SambanovaConversationalTask;
|
|
28
|
+
class SambanovaFeatureExtractionTask extends providerHelper_js_1.TaskProviderHelper {
|
|
29
|
+
constructor() {
|
|
30
|
+
super("sambanova", "https://api.sambanova.ai");
|
|
31
|
+
}
|
|
32
|
+
makeRoute() {
|
|
33
|
+
return `/v1/embeddings`;
|
|
34
|
+
}
|
|
35
|
+
async getResponse(response) {
|
|
36
|
+
if (typeof response === "object" && "data" in response && Array.isArray(response.data)) {
|
|
37
|
+
return response.data.map((item) => item.embedding);
|
|
38
|
+
}
|
|
39
|
+
throw new InferenceOutputError_js_1.InferenceOutputError("Expected Sambanova feature-extraction (embeddings) response format to be {'data' : list of {'embedding' : number[]}}");
|
|
40
|
+
}
|
|
41
|
+
preparePayload(params) {
|
|
42
|
+
return {
|
|
43
|
+
model: params.model,
|
|
44
|
+
input: params.args.inputs,
|
|
45
|
+
...params.args,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.SambanovaFeatureExtractionTask = SambanovaFeatureExtractionTask;
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* Thanks!
|
|
16
16
|
*/
|
|
17
17
|
import type { ChatCompletionOutput, TextGenerationOutput, TextGenerationOutputFinishReason } from "@huggingface/tasks";
|
|
18
|
-
import type { BodyParams } from "../types";
|
|
19
|
-
import { BaseConversationalTask, BaseTextGenerationTask, TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper";
|
|
18
|
+
import type { BodyParams } from "../types.js";
|
|
19
|
+
import { BaseConversationalTask, BaseTextGenerationTask, TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper.js";
|
|
20
20
|
interface TogetherTextCompletionOutput extends Omit<ChatCompletionOutput, "choices"> {
|
|
21
21
|
choices: Array<{
|
|
22
22
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"together.d.ts","sourceRoot":"","sources":["../../../src/providers/together.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEvH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"together.d.ts","sourceRoot":"","sources":["../../../src/providers/together.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEvH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,MAAM,qBAAqB,CAAC;AAI7B,UAAU,4BAA6B,SAAQ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;IACnF,OAAO,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,gCAAgC,CAAC;QAChD,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACH;AAED,UAAU,6BAA6B;IACtC,IAAI,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACH;AAED,qBAAa,0BAA2B,SAAQ,sBAAsB;;CAIrE;AAED,qBAAa,0BAA2B,SAAQ,sBAAsB;;IAK5D,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrD,WAAW,CAAC,QAAQ,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAcjG;AAED,qBAAa,uBAAwB,SAAQ,kBAAmB,YAAW,qBAAqB;;IAK/F,SAAS,IAAI,MAAM;IAInB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUrD,WAAW,CAAC,QAAQ,EAAE,6BAA6B,EAAE,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAkB/G"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TogetherTextToImageTask = exports.TogetherTextGenerationTask = exports.TogetherConversationalTask = void 0;
|
|
4
|
+
const InferenceOutputError_js_1 = require("../lib/InferenceOutputError.js");
|
|
5
|
+
const omit_js_1 = require("../utils/omit.js");
|
|
6
|
+
const providerHelper_js_1 = require("./providerHelper.js");
|
|
7
|
+
const TOGETHER_API_BASE_URL = "https://api.together.xyz";
|
|
8
|
+
class TogetherConversationalTask extends providerHelper_js_1.BaseConversationalTask {
|
|
9
|
+
constructor() {
|
|
10
|
+
super("together", TOGETHER_API_BASE_URL);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.TogetherConversationalTask = TogetherConversationalTask;
|
|
14
|
+
class TogetherTextGenerationTask extends providerHelper_js_1.BaseTextGenerationTask {
|
|
15
|
+
constructor() {
|
|
16
|
+
super("together", TOGETHER_API_BASE_URL);
|
|
17
|
+
}
|
|
18
|
+
preparePayload(params) {
|
|
19
|
+
return {
|
|
20
|
+
model: params.model,
|
|
21
|
+
...params.args,
|
|
22
|
+
prompt: params.args.inputs,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async getResponse(response) {
|
|
26
|
+
if (typeof response === "object" &&
|
|
27
|
+
"choices" in response &&
|
|
28
|
+
Array.isArray(response?.choices) &&
|
|
29
|
+
typeof response?.model === "string") {
|
|
30
|
+
const completion = response.choices[0];
|
|
31
|
+
return {
|
|
32
|
+
generated_text: completion.text,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
throw new InferenceOutputError_js_1.InferenceOutputError("Expected Together text generation response format");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.TogetherTextGenerationTask = TogetherTextGenerationTask;
|
|
39
|
+
class TogetherTextToImageTask extends providerHelper_js_1.TaskProviderHelper {
|
|
40
|
+
constructor() {
|
|
41
|
+
super("together", TOGETHER_API_BASE_URL);
|
|
42
|
+
}
|
|
43
|
+
makeRoute() {
|
|
44
|
+
return "v1/images/generations";
|
|
45
|
+
}
|
|
46
|
+
preparePayload(params) {
|
|
47
|
+
return {
|
|
48
|
+
...(0, omit_js_1.omit)(params.args, ["inputs", "parameters"]),
|
|
49
|
+
...params.args.parameters,
|
|
50
|
+
prompt: params.args.inputs,
|
|
51
|
+
response_format: "base64",
|
|
52
|
+
model: params.model,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async getResponse(response, outputType) {
|
|
56
|
+
if (typeof response === "object" &&
|
|
57
|
+
"data" in response &&
|
|
58
|
+
Array.isArray(response.data) &&
|
|
59
|
+
response.data.length > 0 &&
|
|
60
|
+
"b64_json" in response.data[0] &&
|
|
61
|
+
typeof response.data[0].b64_json === "string") {
|
|
62
|
+
const base64Data = response.data[0].b64_json;
|
|
63
|
+
if (outputType === "url") {
|
|
64
|
+
return `data:image/jpeg;base64,${base64Data}`;
|
|
65
|
+
}
|
|
66
|
+
return fetch(`data:image/jpeg;base64,${base64Data}`).then((res) => res.blob());
|
|
67
|
+
}
|
|
68
|
+
throw new InferenceOutputError_js_1.InferenceOutputError("Expected Together text-to-image response format");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.TogetherTextToImageTask = TogetherTextToImageTask;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type InferenceSnippet, type ModelDataMinimal } from "@huggingface/tasks";
|
|
2
|
-
import type { InferenceProviderModelMapping } from "../lib/getInferenceProviderMapping";
|
|
3
|
-
import type { InferenceProviderOrPolicy } from "../types";
|
|
2
|
+
import type { InferenceProviderModelMapping } from "../lib/getInferenceProviderMapping.js";
|
|
3
|
+
import type { InferenceProviderOrPolicy } from "../types.js";
|
|
4
4
|
export type InferenceSnippetOptions = {
|
|
5
5
|
streaming?: boolean;
|
|
6
6
|
billTo?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInferenceSnippets.d.ts","sourceRoot":"","sources":["../../../src/snippets/getInferenceSnippets.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAGrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getInferenceSnippets.d.ts","sourceRoot":"","sources":["../../../src/snippets/getInferenceSnippets.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAGrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAG3F,OAAO,KAAK,EAAE,yBAAyB,EAA8B,MAAM,aAAa,CAAC;AAGzF,MAAM,MAAM,uBAAuB,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAmUzG,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,yBAAyB,EACnC,wBAAwB,CAAC,EAAE,6BAA6B,EACxD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,EAAE,CAIpB"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInferenceSnippets = getInferenceSnippets;
|
|
4
|
+
const jinja_1 = require("@huggingface/jinja");
|
|
5
|
+
const tasks_1 = require("@huggingface/tasks");
|
|
6
|
+
const getProviderHelper_js_1 = require("../lib/getProviderHelper.js");
|
|
7
|
+
const makeRequestOptions_js_1 = require("../lib/makeRequestOptions.js");
|
|
8
|
+
const templates_exported_js_1 = require("./templates.exported.js");
|
|
9
|
+
const PYTHON_CLIENTS = ["huggingface_hub", "fal_client", "requests", "openai"];
|
|
10
|
+
const JS_CLIENTS = ["fetch", "huggingface.js", "openai"];
|
|
11
|
+
const SH_CLIENTS = ["curl"];
|
|
12
|
+
const CLIENTS = {
|
|
13
|
+
js: [...JS_CLIENTS],
|
|
14
|
+
python: [...PYTHON_CLIENTS],
|
|
15
|
+
sh: [...SH_CLIENTS],
|
|
16
|
+
};
|
|
17
|
+
const CLIENTS_AUTO_POLICY = {
|
|
18
|
+
js: ["huggingface.js"],
|
|
19
|
+
python: ["huggingface_hub"],
|
|
20
|
+
};
|
|
21
|
+
// Helpers to find + load templates
|
|
22
|
+
const hasTemplate = (language, client, templateName) => templates_exported_js_1.templates[language]?.[client]?.[templateName] !== undefined;
|
|
23
|
+
const loadTemplate = (language, client, templateName) => {
|
|
24
|
+
const template = templates_exported_js_1.templates[language]?.[client]?.[templateName];
|
|
25
|
+
if (!template) {
|
|
26
|
+
throw new Error(`Template not found: ${language}/${client}/${templateName}`);
|
|
27
|
+
}
|
|
28
|
+
return (data) => new jinja_1.Template(template).render({ ...data });
|
|
29
|
+
};
|
|
30
|
+
const snippetImportPythonInferenceClient = loadTemplate("python", "huggingface_hub", "importInferenceClient");
|
|
31
|
+
const snippetImportRequests = loadTemplate("python", "requests", "importRequests");
|
|
32
|
+
// Needed for huggingface_hub basic snippets
|
|
33
|
+
const HF_PYTHON_METHODS = {
|
|
34
|
+
"audio-classification": "audio_classification",
|
|
35
|
+
"audio-to-audio": "audio_to_audio",
|
|
36
|
+
"automatic-speech-recognition": "automatic_speech_recognition",
|
|
37
|
+
"document-question-answering": "document_question_answering",
|
|
38
|
+
"feature-extraction": "feature_extraction",
|
|
39
|
+
"fill-mask": "fill_mask",
|
|
40
|
+
"image-classification": "image_classification",
|
|
41
|
+
"image-segmentation": "image_segmentation",
|
|
42
|
+
"image-to-image": "image_to_image",
|
|
43
|
+
"image-to-text": "image_to_text",
|
|
44
|
+
"object-detection": "object_detection",
|
|
45
|
+
"question-answering": "question_answering",
|
|
46
|
+
"sentence-similarity": "sentence_similarity",
|
|
47
|
+
summarization: "summarization",
|
|
48
|
+
"table-question-answering": "table_question_answering",
|
|
49
|
+
"tabular-classification": "tabular_classification",
|
|
50
|
+
"tabular-regression": "tabular_regression",
|
|
51
|
+
"text-classification": "text_classification",
|
|
52
|
+
"text-generation": "text_generation",
|
|
53
|
+
"text-to-image": "text_to_image",
|
|
54
|
+
"text-to-speech": "text_to_speech",
|
|
55
|
+
"text-to-video": "text_to_video",
|
|
56
|
+
"token-classification": "token_classification",
|
|
57
|
+
translation: "translation",
|
|
58
|
+
"visual-question-answering": "visual_question_answering",
|
|
59
|
+
"zero-shot-classification": "zero_shot_classification",
|
|
60
|
+
"zero-shot-image-classification": "zero_shot_image_classification",
|
|
61
|
+
};
|
|
62
|
+
// Needed for huggingface.js basic snippets
|
|
63
|
+
const HF_JS_METHODS = {
|
|
64
|
+
"automatic-speech-recognition": "automaticSpeechRecognition",
|
|
65
|
+
"feature-extraction": "featureExtraction",
|
|
66
|
+
"fill-mask": "fillMask",
|
|
67
|
+
"image-classification": "imageClassification",
|
|
68
|
+
"question-answering": "questionAnswering",
|
|
69
|
+
"sentence-similarity": "sentenceSimilarity",
|
|
70
|
+
summarization: "summarization",
|
|
71
|
+
"table-question-answering": "tableQuestionAnswering",
|
|
72
|
+
"text-classification": "textClassification",
|
|
73
|
+
"text-generation": "textGeneration",
|
|
74
|
+
"text2text-generation": "textGeneration",
|
|
75
|
+
"token-classification": "tokenClassification",
|
|
76
|
+
"text-to-speech": "textToSpeech",
|
|
77
|
+
translation: "translation",
|
|
78
|
+
};
|
|
79
|
+
// Snippet generators
|
|
80
|
+
const snippetGenerator = (templateName, inputPreparationFn) => {
|
|
81
|
+
return (model, accessToken, provider, inferenceProviderMapping, opts) => {
|
|
82
|
+
const providerModelId = inferenceProviderMapping?.providerId ?? model.id;
|
|
83
|
+
/// Hacky: hard-code conversational templates here
|
|
84
|
+
let task = model.pipeline_tag;
|
|
85
|
+
if (model.pipeline_tag &&
|
|
86
|
+
["text-generation", "image-text-to-text"].includes(model.pipeline_tag) &&
|
|
87
|
+
model.tags.includes("conversational")) {
|
|
88
|
+
templateName = opts?.streaming ? "conversationalStream" : "conversational";
|
|
89
|
+
inputPreparationFn = prepareConversationalInput;
|
|
90
|
+
task = "conversational";
|
|
91
|
+
}
|
|
92
|
+
let providerHelper;
|
|
93
|
+
try {
|
|
94
|
+
providerHelper = (0, getProviderHelper_js_1.getProviderHelper)(provider, task);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
console.error(`Failed to get provider helper for ${provider} (${task})`, e);
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
/// Prepare inputs + make request
|
|
101
|
+
const inputs = inputPreparationFn ? inputPreparationFn(model, opts) : { inputs: (0, tasks_1.getModelInputSnippet)(model) };
|
|
102
|
+
const request = (0, makeRequestOptions_js_1.makeRequestOptionsFromResolvedModel)(providerModelId, providerHelper, {
|
|
103
|
+
accessToken,
|
|
104
|
+
provider,
|
|
105
|
+
...inputs,
|
|
106
|
+
}, inferenceProviderMapping, {
|
|
107
|
+
task,
|
|
108
|
+
billTo: opts?.billTo,
|
|
109
|
+
});
|
|
110
|
+
/// Parse request.info.body if not a binary.
|
|
111
|
+
/// This is the body sent to the provider. Important for snippets with raw payload (e.g curl, requests, etc.)
|
|
112
|
+
let providerInputs = inputs;
|
|
113
|
+
const bodyAsObj = request.info.body;
|
|
114
|
+
if (typeof bodyAsObj === "string") {
|
|
115
|
+
try {
|
|
116
|
+
providerInputs = JSON.parse(bodyAsObj);
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
console.error("Failed to parse body as JSON", e);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/// Prepare template injection data
|
|
123
|
+
const params = {
|
|
124
|
+
accessToken,
|
|
125
|
+
authorizationHeader: request.info.headers?.Authorization,
|
|
126
|
+
baseUrl: removeSuffix(request.url, "/chat/completions"),
|
|
127
|
+
fullUrl: request.url,
|
|
128
|
+
inputs: {
|
|
129
|
+
asObj: inputs,
|
|
130
|
+
asCurlString: formatBody(inputs, "curl"),
|
|
131
|
+
asJsonString: formatBody(inputs, "json"),
|
|
132
|
+
asPythonString: formatBody(inputs, "python"),
|
|
133
|
+
asTsString: formatBody(inputs, "ts"),
|
|
134
|
+
},
|
|
135
|
+
providerInputs: {
|
|
136
|
+
asObj: providerInputs,
|
|
137
|
+
asCurlString: formatBody(providerInputs, "curl"),
|
|
138
|
+
asJsonString: formatBody(providerInputs, "json"),
|
|
139
|
+
asPythonString: formatBody(providerInputs, "python"),
|
|
140
|
+
asTsString: formatBody(providerInputs, "ts"),
|
|
141
|
+
},
|
|
142
|
+
model,
|
|
143
|
+
provider,
|
|
144
|
+
providerModelId: providerModelId ?? model.id,
|
|
145
|
+
billTo: opts?.billTo,
|
|
146
|
+
};
|
|
147
|
+
/// Iterate over clients => check if a snippet exists => generate
|
|
148
|
+
const clients = provider === "auto" ? CLIENTS_AUTO_POLICY : CLIENTS;
|
|
149
|
+
return tasks_1.inferenceSnippetLanguages
|
|
150
|
+
.map((language) => {
|
|
151
|
+
const langClients = clients[language] ?? [];
|
|
152
|
+
return langClients
|
|
153
|
+
.map((client) => {
|
|
154
|
+
if (!hasTemplate(language, client, templateName)) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const template = loadTemplate(language, client, templateName);
|
|
158
|
+
if (client === "huggingface_hub" && templateName.includes("basic")) {
|
|
159
|
+
if (!(model.pipeline_tag && model.pipeline_tag in HF_PYTHON_METHODS)) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
params["methodName"] = HF_PYTHON_METHODS[model.pipeline_tag];
|
|
163
|
+
}
|
|
164
|
+
if (client === "huggingface.js" && templateName.includes("basic")) {
|
|
165
|
+
if (!(model.pipeline_tag && model.pipeline_tag in HF_JS_METHODS)) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
params["methodName"] = HF_JS_METHODS[model.pipeline_tag];
|
|
169
|
+
}
|
|
170
|
+
/// Generate snippet
|
|
171
|
+
let snippet = template(params).trim();
|
|
172
|
+
if (!snippet) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
/// Add import section separately
|
|
176
|
+
if (client === "huggingface_hub") {
|
|
177
|
+
const importSection = snippetImportPythonInferenceClient({ ...params });
|
|
178
|
+
snippet = `${importSection}\n\n${snippet}`;
|
|
179
|
+
}
|
|
180
|
+
else if (client === "requests") {
|
|
181
|
+
const importSection = snippetImportRequests({
|
|
182
|
+
...params,
|
|
183
|
+
importBase64: snippet.includes("base64"),
|
|
184
|
+
importJson: snippet.includes("json."),
|
|
185
|
+
});
|
|
186
|
+
snippet = `${importSection}\n\n${snippet}`;
|
|
187
|
+
}
|
|
188
|
+
/// Snippet is ready!
|
|
189
|
+
return { language, client: client, content: snippet };
|
|
190
|
+
})
|
|
191
|
+
.filter((snippet) => snippet !== undefined);
|
|
192
|
+
})
|
|
193
|
+
.flat();
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
const prepareDocumentQuestionAnsweringInput = (model) => {
|
|
197
|
+
return JSON.parse((0, tasks_1.getModelInputSnippet)(model));
|
|
198
|
+
};
|
|
199
|
+
const prepareImageToImageInput = (model) => {
|
|
200
|
+
const data = JSON.parse((0, tasks_1.getModelInputSnippet)(model));
|
|
201
|
+
return { inputs: data.image, parameters: { prompt: data.prompt } };
|
|
202
|
+
};
|
|
203
|
+
const prepareConversationalInput = (model, opts) => {
|
|
204
|
+
return {
|
|
205
|
+
messages: opts?.messages ?? (0, tasks_1.getModelInputSnippet)(model),
|
|
206
|
+
...(opts?.temperature ? { temperature: opts?.temperature } : undefined),
|
|
207
|
+
...(opts?.max_tokens ? { max_tokens: opts?.max_tokens } : undefined),
|
|
208
|
+
...(opts?.top_p ? { top_p: opts?.top_p } : undefined),
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
const prepareQuestionAnsweringInput = (model) => {
|
|
212
|
+
const data = JSON.parse((0, tasks_1.getModelInputSnippet)(model));
|
|
213
|
+
return { question: data.question, context: data.context };
|
|
214
|
+
};
|
|
215
|
+
const prepareTableQuestionAnsweringInput = (model) => {
|
|
216
|
+
const data = JSON.parse((0, tasks_1.getModelInputSnippet)(model));
|
|
217
|
+
return { query: data.query, table: JSON.stringify(data.table) };
|
|
218
|
+
};
|
|
219
|
+
const snippets = {
|
|
220
|
+
"audio-classification": snippetGenerator("basicAudio"),
|
|
221
|
+
"audio-to-audio": snippetGenerator("basicAudio"),
|
|
222
|
+
"automatic-speech-recognition": snippetGenerator("basicAudio"),
|
|
223
|
+
"document-question-answering": snippetGenerator("documentQuestionAnswering", prepareDocumentQuestionAnsweringInput),
|
|
224
|
+
"feature-extraction": snippetGenerator("basic"),
|
|
225
|
+
"fill-mask": snippetGenerator("basic"),
|
|
226
|
+
"image-classification": snippetGenerator("basicImage"),
|
|
227
|
+
"image-segmentation": snippetGenerator("basicImage"),
|
|
228
|
+
"image-text-to-text": snippetGenerator("conversational"),
|
|
229
|
+
"image-to-image": snippetGenerator("imageToImage", prepareImageToImageInput),
|
|
230
|
+
"image-to-text": snippetGenerator("basicImage"),
|
|
231
|
+
"object-detection": snippetGenerator("basicImage"),
|
|
232
|
+
"question-answering": snippetGenerator("questionAnswering", prepareQuestionAnsweringInput),
|
|
233
|
+
"sentence-similarity": snippetGenerator("basic"),
|
|
234
|
+
summarization: snippetGenerator("basic"),
|
|
235
|
+
"tabular-classification": snippetGenerator("tabular"),
|
|
236
|
+
"tabular-regression": snippetGenerator("tabular"),
|
|
237
|
+
"table-question-answering": snippetGenerator("tableQuestionAnswering", prepareTableQuestionAnsweringInput),
|
|
238
|
+
"text-classification": snippetGenerator("basic"),
|
|
239
|
+
"text-generation": snippetGenerator("basic"),
|
|
240
|
+
"text-to-audio": snippetGenerator("textToAudio"),
|
|
241
|
+
"text-to-image": snippetGenerator("textToImage"),
|
|
242
|
+
"text-to-speech": snippetGenerator("textToSpeech"),
|
|
243
|
+
"text-to-video": snippetGenerator("textToVideo"),
|
|
244
|
+
"text2text-generation": snippetGenerator("basic"),
|
|
245
|
+
"token-classification": snippetGenerator("basic"),
|
|
246
|
+
translation: snippetGenerator("basic"),
|
|
247
|
+
"zero-shot-classification": snippetGenerator("zeroShotClassification"),
|
|
248
|
+
"zero-shot-image-classification": snippetGenerator("zeroShotImageClassification"),
|
|
249
|
+
};
|
|
250
|
+
function getInferenceSnippets(model, accessToken, provider, inferenceProviderMapping, opts) {
|
|
251
|
+
return model.pipeline_tag && model.pipeline_tag in snippets
|
|
252
|
+
? snippets[model.pipeline_tag]?.(model, accessToken, provider, inferenceProviderMapping, opts) ?? []
|
|
253
|
+
: [];
|
|
254
|
+
}
|
|
255
|
+
// String manipulation helpers
|
|
256
|
+
function formatBody(obj, format) {
|
|
257
|
+
switch (format) {
|
|
258
|
+
case "curl":
|
|
259
|
+
return indentString(formatBody(obj, "json"));
|
|
260
|
+
case "json":
|
|
261
|
+
/// Hacky: remove outer brackets to make is extendable in templates
|
|
262
|
+
return JSON.stringify(obj, null, 4).split("\n").slice(1, -1).join("\n");
|
|
263
|
+
case "python":
|
|
264
|
+
return indentString(Object.entries(obj)
|
|
265
|
+
.map(([key, value]) => {
|
|
266
|
+
const formattedValue = JSON.stringify(value, null, 4).replace(/"/g, '"');
|
|
267
|
+
return `${key}=${formattedValue},`;
|
|
268
|
+
})
|
|
269
|
+
.join("\n"));
|
|
270
|
+
case "ts":
|
|
271
|
+
/// Hacky: remove outer brackets to make is extendable in templates
|
|
272
|
+
return formatTsObject(obj).split("\n").slice(1, -1).join("\n");
|
|
273
|
+
default:
|
|
274
|
+
throw new Error(`Unsupported format: ${format}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function formatTsObject(obj, depth) {
|
|
278
|
+
depth = depth ?? 0;
|
|
279
|
+
/// Case int, boolean, string, etc.
|
|
280
|
+
if (typeof obj !== "object" || obj === null) {
|
|
281
|
+
return JSON.stringify(obj);
|
|
282
|
+
}
|
|
283
|
+
/// Case array
|
|
284
|
+
if (Array.isArray(obj)) {
|
|
285
|
+
const items = obj
|
|
286
|
+
.map((item) => {
|
|
287
|
+
const formatted = formatTsObject(item, depth + 1);
|
|
288
|
+
return `${" ".repeat(4 * (depth + 1))}${formatted},`;
|
|
289
|
+
})
|
|
290
|
+
.join("\n");
|
|
291
|
+
return `[\n${items}\n${" ".repeat(4 * depth)}]`;
|
|
292
|
+
}
|
|
293
|
+
/// Case mapping
|
|
294
|
+
const entries = Object.entries(obj);
|
|
295
|
+
const lines = entries
|
|
296
|
+
.map(([key, value]) => {
|
|
297
|
+
const formattedValue = formatTsObject(value, depth + 1);
|
|
298
|
+
const keyStr = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key) ? key : `"${key}"`;
|
|
299
|
+
return `${" ".repeat(4 * (depth + 1))}${keyStr}: ${formattedValue},`;
|
|
300
|
+
})
|
|
301
|
+
.join("\n");
|
|
302
|
+
return `{\n${lines}\n${" ".repeat(4 * depth)}}`;
|
|
303
|
+
}
|
|
304
|
+
function indentString(str) {
|
|
305
|
+
return str
|
|
306
|
+
.split("\n")
|
|
307
|
+
.map((line) => " ".repeat(4) + line)
|
|
308
|
+
.join("\n");
|
|
309
|
+
}
|
|
310
|
+
function removeSuffix(str, suffix) {
|
|
311
|
+
return str.endsWith(suffix) ? str.slice(0, -suffix.length) : str;
|
|
312
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInferenceSnippets = void 0;
|
|
4
|
+
var getInferenceSnippets_js_1 = require("./getInferenceSnippets.js");
|
|
5
|
+
Object.defineProperty(exports, "getInferenceSnippets", { enumerable: true, get: function () { return getInferenceSnippets_js_1.getInferenceSnippets; } });
|