@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.
Files changed (600) hide show
  1. package/dist/{src → commonjs}/InferenceClient.d.ts +2 -2
  2. package/dist/commonjs/InferenceClient.d.ts.map +1 -0
  3. package/dist/commonjs/InferenceClient.js +83 -0
  4. package/dist/commonjs/config.js +6 -0
  5. package/dist/commonjs/index.d.ts +7 -0
  6. package/dist/commonjs/index.d.ts.map +1 -0
  7. package/dist/commonjs/index.js +49 -0
  8. package/dist/commonjs/lib/InferenceOutputError.js +10 -0
  9. package/dist/commonjs/lib/getDefaultTask.js +48 -0
  10. package/dist/{src → commonjs}/lib/getInferenceProviderMapping.d.ts +1 -1
  11. package/dist/{src → commonjs}/lib/getInferenceProviderMapping.d.ts.map +1 -1
  12. package/dist/commonjs/lib/getInferenceProviderMapping.js +81 -0
  13. package/dist/{src → commonjs}/lib/getProviderHelper.d.ts +2 -2
  14. package/dist/{src → commonjs}/lib/getProviderHelper.d.ts.map +1 -1
  15. package/dist/commonjs/lib/getProviderHelper.js +168 -0
  16. package/dist/commonjs/lib/isUrl.js +6 -0
  17. package/dist/{src → commonjs}/lib/makeRequestOptions.d.ts +3 -3
  18. package/dist/{src → commonjs}/lib/makeRequestOptions.d.ts.map +1 -1
  19. package/dist/commonjs/lib/makeRequestOptions.js +161 -0
  20. package/dist/commonjs/package.d.ts +3 -0
  21. package/dist/commonjs/package.d.ts.map +1 -0
  22. package/dist/commonjs/package.js +6 -0
  23. package/dist/commonjs/package.json +3 -0
  24. package/dist/{src → commonjs}/providers/black-forest-labs.d.ts +2 -2
  25. package/dist/{src → commonjs}/providers/black-forest-labs.d.ts.map +1 -1
  26. package/dist/commonjs/providers/black-forest-labs.js +82 -0
  27. package/dist/{src → commonjs}/providers/cerebras.d.ts +1 -1
  28. package/dist/{src → commonjs}/providers/cerebras.d.ts.map +1 -1
  29. package/dist/commonjs/providers/cerebras.js +26 -0
  30. package/dist/{src → commonjs}/providers/cohere.d.ts +1 -1
  31. package/dist/{src → commonjs}/providers/cohere.d.ts.map +1 -1
  32. package/dist/commonjs/providers/cohere.js +29 -0
  33. package/dist/{src → commonjs}/providers/consts.d.ts +3 -3
  34. package/dist/commonjs/providers/consts.d.ts.map +1 -0
  35. package/dist/commonjs/providers/consts.js +35 -0
  36. package/dist/{src → commonjs}/providers/fal-ai.d.ts +3 -3
  37. package/dist/{src → commonjs}/providers/fal-ai.d.ts.map +1 -1
  38. package/dist/commonjs/providers/fal-ai.js +216 -0
  39. package/dist/{src → commonjs}/providers/featherless-ai.d.ts +2 -2
  40. package/dist/{src → commonjs}/providers/featherless-ai.d.ts.map +1 -1
  41. package/dist/commonjs/providers/featherless-ai.js +38 -0
  42. package/dist/{src → commonjs}/providers/fireworks-ai.d.ts +1 -1
  43. package/dist/commonjs/providers/fireworks-ai.d.ts.map +1 -0
  44. package/dist/commonjs/providers/fireworks-ai.js +29 -0
  45. package/dist/{src → commonjs}/providers/groq.d.ts +1 -1
  46. package/dist/{src → commonjs}/providers/groq.d.ts.map +1 -1
  47. package/dist/commonjs/providers/groq.js +39 -0
  48. package/dist/{src → commonjs}/providers/hf-inference.d.ts +6 -6
  49. package/dist/{src → commonjs}/providers/hf-inference.d.ts.map +1 -1
  50. package/dist/commonjs/providers/hf-inference.js +432 -0
  51. package/dist/{src → commonjs}/providers/hyperbolic.d.ts +2 -2
  52. package/dist/{src → commonjs}/providers/hyperbolic.d.ts.map +1 -1
  53. package/dist/commonjs/providers/hyperbolic.js +78 -0
  54. package/dist/{src → commonjs}/providers/nebius.d.ts +2 -2
  55. package/dist/{src → commonjs}/providers/nebius.d.ts.map +1 -1
  56. package/dist/commonjs/providers/nebius.js +70 -0
  57. package/dist/{src → commonjs}/providers/novita.d.ts +2 -2
  58. package/dist/{src → commonjs}/providers/novita.d.ts.map +1 -1
  59. package/dist/commonjs/providers/novita.js +73 -0
  60. package/dist/{src → commonjs}/providers/nscale.d.ts +2 -2
  61. package/dist/{src → commonjs}/providers/nscale.d.ts.map +1 -1
  62. package/dist/commonjs/providers/nscale.js +46 -0
  63. package/dist/{src → commonjs}/providers/openai.d.ts +1 -1
  64. package/dist/{src → commonjs}/providers/openai.d.ts.map +1 -1
  65. package/dist/commonjs/providers/openai.js +15 -0
  66. package/dist/{src → commonjs}/providers/ovhcloud.d.ts +2 -2
  67. package/dist/{src → commonjs}/providers/ovhcloud.d.ts.map +1 -1
  68. package/dist/commonjs/providers/ovhcloud.js +60 -0
  69. package/dist/{src → commonjs}/providers/providerHelper.d.ts +4 -4
  70. package/dist/{src → commonjs}/providers/providerHelper.d.ts.map +1 -1
  71. package/dist/commonjs/providers/providerHelper.js +108 -0
  72. package/dist/{src → commonjs}/providers/replicate.d.ts +2 -2
  73. package/dist/{src → commonjs}/providers/replicate.d.ts.map +1 -1
  74. package/dist/commonjs/providers/replicate.js +135 -0
  75. package/dist/{src → commonjs}/providers/sambanova.d.ts +3 -3
  76. package/dist/{src → commonjs}/providers/sambanova.d.ts.map +1 -1
  77. package/dist/commonjs/providers/sambanova.js +49 -0
  78. package/dist/{src → commonjs}/providers/together.d.ts +2 -2
  79. package/dist/{src → commonjs}/providers/together.d.ts.map +1 -1
  80. package/dist/commonjs/providers/together.js +71 -0
  81. package/dist/{src → commonjs}/snippets/getInferenceSnippets.d.ts +2 -2
  82. package/dist/{src → commonjs}/snippets/getInferenceSnippets.d.ts.map +1 -1
  83. package/dist/commonjs/snippets/getInferenceSnippets.js +312 -0
  84. package/dist/commonjs/snippets/index.js +5 -0
  85. package/dist/commonjs/snippets/templates.exported.js +81 -0
  86. package/dist/{src → commonjs}/tasks/audio/audioClassification.d.ts +2 -2
  87. package/dist/{src → commonjs}/tasks/audio/audioClassification.d.ts.map +1 -1
  88. package/dist/commonjs/tasks/audio/audioClassification.js +21 -0
  89. package/dist/{src → commonjs}/tasks/audio/audioToAudio.d.ts +2 -2
  90. package/dist/commonjs/tasks/audio/audioToAudio.d.ts.map +1 -0
  91. package/dist/commonjs/tasks/audio/audioToAudio.js +22 -0
  92. package/dist/{src → commonjs}/tasks/audio/automaticSpeechRecognition.d.ts +2 -2
  93. package/dist/commonjs/tasks/audio/automaticSpeechRecognition.d.ts.map +1 -0
  94. package/dist/commonjs/tasks/audio/automaticSpeechRecognition.js +25 -0
  95. package/dist/{src → commonjs}/tasks/audio/textToSpeech.d.ts +1 -1
  96. package/dist/commonjs/tasks/audio/textToSpeech.d.ts.map +1 -0
  97. package/dist/commonjs/tasks/audio/textToSpeech.js +19 -0
  98. package/dist/{src → commonjs}/tasks/audio/utils.d.ts +1 -1
  99. package/dist/commonjs/tasks/audio/utils.d.ts.map +1 -0
  100. package/dist/commonjs/tasks/audio/utils.js +12 -0
  101. package/dist/{src → commonjs}/tasks/custom/request.d.ts +1 -1
  102. package/dist/commonjs/tasks/custom/request.d.ts.map +1 -0
  103. package/dist/commonjs/tasks/custom/request.js +17 -0
  104. package/dist/{src → commonjs}/tasks/custom/streamingRequest.d.ts +1 -1
  105. package/dist/commonjs/tasks/custom/streamingRequest.d.ts.map +1 -0
  106. package/dist/commonjs/tasks/custom/streamingRequest.js +16 -0
  107. package/dist/{src → commonjs}/tasks/cv/imageClassification.d.ts +2 -2
  108. package/dist/commonjs/tasks/cv/imageClassification.d.ts.map +1 -0
  109. package/dist/commonjs/tasks/cv/imageClassification.js +21 -0
  110. package/dist/{src → commonjs}/tasks/cv/imageSegmentation.d.ts +2 -2
  111. package/dist/commonjs/tasks/cv/imageSegmentation.d.ts.map +1 -0
  112. package/dist/commonjs/tasks/cv/imageSegmentation.js +21 -0
  113. package/dist/{src → commonjs}/tasks/cv/imageToImage.d.ts +1 -1
  114. package/dist/commonjs/tasks/cv/imageToImage.d.ts.map +1 -0
  115. package/dist/commonjs/tasks/cv/imageToImage.js +20 -0
  116. package/dist/{src → commonjs}/tasks/cv/imageToText.d.ts +2 -2
  117. package/dist/commonjs/tasks/cv/imageToText.d.ts.map +1 -0
  118. package/dist/commonjs/tasks/cv/imageToText.js +20 -0
  119. package/dist/{src → commonjs}/tasks/cv/objectDetection.d.ts +2 -2
  120. package/dist/commonjs/tasks/cv/objectDetection.d.ts.map +1 -0
  121. package/dist/commonjs/tasks/cv/objectDetection.js +21 -0
  122. package/dist/{src → commonjs}/tasks/cv/textToImage.d.ts +1 -1
  123. package/dist/commonjs/tasks/cv/textToImage.d.ts.map +1 -0
  124. package/dist/commonjs/tasks/cv/textToImage.js +17 -0
  125. package/dist/{src → commonjs}/tasks/cv/textToVideo.d.ts +1 -1
  126. package/dist/commonjs/tasks/cv/textToVideo.d.ts.map +1 -0
  127. package/dist/commonjs/tasks/cv/textToVideo.js +17 -0
  128. package/dist/{src → commonjs}/tasks/cv/utils.d.ts +1 -1
  129. package/dist/commonjs/tasks/cv/utils.d.ts.map +1 -0
  130. package/dist/commonjs/tasks/cv/utils.js +7 -0
  131. package/dist/{src → commonjs}/tasks/cv/zeroShotImageClassification.d.ts +1 -1
  132. package/dist/commonjs/tasks/cv/zeroShotImageClassification.d.ts.map +1 -0
  133. package/dist/commonjs/tasks/cv/zeroShotImageClassification.js +39 -0
  134. package/dist/commonjs/tasks/index.d.ts +33 -0
  135. package/dist/commonjs/tasks/index.d.ts.map +1 -0
  136. package/dist/commonjs/tasks/index.js +54 -0
  137. package/dist/{src → commonjs}/tasks/multimodal/documentQuestionAnswering.d.ts +1 -1
  138. package/dist/commonjs/tasks/multimodal/documentQuestionAnswering.d.ts.map +1 -0
  139. package/dist/commonjs/tasks/multimodal/documentQuestionAnswering.js +27 -0
  140. package/dist/{src → commonjs}/tasks/multimodal/visualQuestionAnswering.d.ts +1 -1
  141. package/dist/commonjs/tasks/multimodal/visualQuestionAnswering.d.ts.map +1 -0
  142. package/dist/commonjs/tasks/multimodal/visualQuestionAnswering.js +27 -0
  143. package/dist/{src → commonjs}/tasks/nlp/chatCompletion.d.ts +1 -1
  144. package/dist/{src → commonjs}/tasks/nlp/chatCompletion.d.ts.map +1 -1
  145. package/dist/commonjs/tasks/nlp/chatCompletion.js +18 -0
  146. package/dist/{src → commonjs}/tasks/nlp/chatCompletionStream.d.ts +1 -1
  147. package/dist/{src → commonjs}/tasks/nlp/chatCompletionStream.d.ts.map +1 -1
  148. package/dist/commonjs/tasks/nlp/chatCompletionStream.js +17 -0
  149. package/dist/{src → commonjs}/tasks/nlp/featureExtraction.d.ts +1 -1
  150. package/dist/commonjs/tasks/nlp/featureExtraction.d.ts.map +1 -0
  151. package/dist/commonjs/tasks/nlp/featureExtraction.js +18 -0
  152. package/dist/{src → commonjs}/tasks/nlp/fillMask.d.ts +1 -1
  153. package/dist/commonjs/tasks/nlp/fillMask.d.ts.map +1 -0
  154. package/dist/commonjs/tasks/nlp/fillMask.js +18 -0
  155. package/dist/{src → commonjs}/tasks/nlp/questionAnswering.d.ts +1 -1
  156. package/dist/commonjs/tasks/nlp/questionAnswering.d.ts.map +1 -0
  157. package/dist/commonjs/tasks/nlp/questionAnswering.js +18 -0
  158. package/dist/{src → commonjs}/tasks/nlp/sentenceSimilarity.d.ts +1 -1
  159. package/dist/commonjs/tasks/nlp/sentenceSimilarity.d.ts.map +1 -0
  160. package/dist/commonjs/tasks/nlp/sentenceSimilarity.js +18 -0
  161. package/dist/{src → commonjs}/tasks/nlp/summarization.d.ts +1 -1
  162. package/dist/commonjs/tasks/nlp/summarization.d.ts.map +1 -0
  163. package/dist/commonjs/tasks/nlp/summarization.js +18 -0
  164. package/dist/{src → commonjs}/tasks/nlp/tableQuestionAnswering.d.ts +1 -1
  165. package/dist/{src → commonjs}/tasks/nlp/tableQuestionAnswering.d.ts.map +1 -1
  166. package/dist/commonjs/tasks/nlp/tableQuestionAnswering.js +18 -0
  167. package/dist/{src → commonjs}/tasks/nlp/textClassification.d.ts +1 -1
  168. package/dist/commonjs/tasks/nlp/textClassification.d.ts.map +1 -0
  169. package/dist/commonjs/tasks/nlp/textClassification.js +18 -0
  170. package/dist/{src → commonjs}/tasks/nlp/textGeneration.d.ts +1 -1
  171. package/dist/commonjs/tasks/nlp/textGeneration.d.ts.map +1 -0
  172. package/dist/commonjs/tasks/nlp/textGeneration.js +18 -0
  173. package/dist/{src → commonjs}/tasks/nlp/textGenerationStream.d.ts +1 -1
  174. package/dist/commonjs/tasks/nlp/textGenerationStream.d.ts.map +1 -0
  175. package/dist/commonjs/tasks/nlp/textGenerationStream.js +17 -0
  176. package/dist/{src → commonjs}/tasks/nlp/tokenClassification.d.ts +1 -1
  177. package/dist/{src → commonjs}/tasks/nlp/tokenClassification.d.ts.map +1 -1
  178. package/dist/commonjs/tasks/nlp/tokenClassification.js +18 -0
  179. package/dist/{src → commonjs}/tasks/nlp/translation.d.ts +1 -1
  180. package/dist/commonjs/tasks/nlp/translation.d.ts.map +1 -0
  181. package/dist/commonjs/tasks/nlp/translation.js +18 -0
  182. package/dist/{src → commonjs}/tasks/nlp/zeroShotClassification.d.ts +1 -1
  183. package/dist/{src → commonjs}/tasks/nlp/zeroShotClassification.d.ts.map +1 -1
  184. package/dist/commonjs/tasks/nlp/zeroShotClassification.js +18 -0
  185. package/dist/{src → commonjs}/tasks/tabular/tabularClassification.d.ts +1 -1
  186. package/dist/commonjs/tasks/tabular/tabularClassification.d.ts.map +1 -0
  187. package/dist/commonjs/tasks/tabular/tabularClassification.js +20 -0
  188. package/dist/{src → commonjs}/tasks/tabular/tabularRegression.d.ts +1 -1
  189. package/dist/commonjs/tasks/tabular/tabularRegression.d.ts.map +1 -0
  190. package/dist/commonjs/tasks/tabular/tabularRegression.js +20 -0
  191. package/dist/{src → commonjs}/types.d.ts +1 -1
  192. package/dist/{src → commonjs}/types.d.ts.map +1 -1
  193. package/dist/commonjs/types.js +23 -0
  194. package/dist/commonjs/utils/base64FromBytes.js +15 -0
  195. package/dist/commonjs/utils/delay.js +8 -0
  196. package/dist/commonjs/utils/distributive-omit.js +7 -0
  197. package/dist/commonjs/utils/isBackend.js +6 -0
  198. package/dist/commonjs/utils/isFrontend.js +5 -0
  199. package/dist/commonjs/utils/omit.js +13 -0
  200. package/dist/commonjs/utils/pick.js +13 -0
  201. package/dist/{src → commonjs}/utils/request.d.ts +2 -2
  202. package/dist/{src → commonjs}/utils/request.d.ts.map +1 -1
  203. package/dist/commonjs/utils/request.js +116 -0
  204. package/dist/commonjs/utils/toArray.js +9 -0
  205. package/dist/commonjs/utils/typedEntries.js +6 -0
  206. package/dist/commonjs/utils/typedInclude.js +6 -0
  207. package/dist/commonjs/vendor/fetch-event-source/parse.d.ts.map +1 -0
  208. package/dist/commonjs/vendor/fetch-event-source/parse.js +185 -0
  209. package/dist/commonjs/vendor/fetch-event-source/parse.spec.js +370 -0
  210. package/dist/esm/InferenceClient.d.ts +32 -0
  211. package/dist/esm/InferenceClient.d.ts.map +1 -0
  212. package/dist/esm/InferenceClient.js +44 -0
  213. package/dist/esm/config.d.ts +4 -0
  214. package/dist/esm/config.d.ts.map +1 -0
  215. package/dist/esm/config.js +3 -0
  216. package/dist/esm/index.d.ts +7 -0
  217. package/dist/esm/index.d.ts.map +1 -0
  218. package/dist/{src/index.d.ts → esm/index.js} +4 -5
  219. package/dist/esm/lib/InferenceOutputError.d.ts +4 -0
  220. package/dist/esm/lib/InferenceOutputError.d.ts.map +1 -0
  221. package/dist/esm/lib/InferenceOutputError.js +6 -0
  222. package/dist/esm/lib/getDefaultTask.d.ts +11 -0
  223. package/dist/esm/lib/getDefaultTask.d.ts.map +1 -0
  224. package/dist/esm/lib/getDefaultTask.js +45 -0
  225. package/dist/esm/lib/getInferenceProviderMapping.d.ts +25 -0
  226. package/dist/esm/lib/getInferenceProviderMapping.d.ts.map +1 -0
  227. package/dist/esm/lib/getInferenceProviderMapping.js +75 -0
  228. package/dist/esm/lib/getProviderHelper.d.ts +37 -0
  229. package/dist/esm/lib/getProviderHelper.d.ts.map +1 -0
  230. package/dist/esm/lib/getProviderHelper.js +131 -0
  231. package/dist/esm/lib/isUrl.d.ts +2 -0
  232. package/dist/esm/lib/isUrl.d.ts.map +1 -0
  233. package/dist/esm/lib/isUrl.js +3 -0
  234. package/dist/esm/lib/makeRequestOptions.d.ts +31 -0
  235. package/dist/esm/lib/makeRequestOptions.d.ts.map +1 -0
  236. package/dist/esm/lib/makeRequestOptions.js +157 -0
  237. package/dist/esm/package.d.ts +3 -0
  238. package/dist/esm/package.d.ts.map +1 -0
  239. package/dist/esm/package.js +3 -0
  240. package/dist/esm/package.json +3 -0
  241. package/dist/esm/providers/black-forest-labs.d.ts +15 -0
  242. package/dist/esm/providers/black-forest-labs.d.ts.map +1 -0
  243. package/dist/esm/providers/black-forest-labs.js +78 -0
  244. package/dist/esm/providers/cerebras.d.ts +21 -0
  245. package/dist/esm/providers/cerebras.d.ts.map +1 -0
  246. package/dist/esm/providers/cerebras.js +22 -0
  247. package/dist/esm/providers/cohere.d.ts +22 -0
  248. package/dist/esm/providers/cohere.d.ts.map +1 -0
  249. package/dist/esm/providers/cohere.js +25 -0
  250. package/dist/esm/providers/consts.d.ts +12 -0
  251. package/dist/esm/providers/consts.d.ts.map +1 -0
  252. package/dist/esm/providers/consts.js +32 -0
  253. package/dist/esm/providers/fal-ai.d.ts +42 -0
  254. package/dist/esm/providers/fal-ai.d.ts.map +1 -0
  255. package/dist/esm/providers/fal-ai.js +209 -0
  256. package/dist/esm/providers/featherless-ai.d.ts +22 -0
  257. package/dist/esm/providers/featherless-ai.d.ts.map +1 -0
  258. package/dist/esm/providers/featherless-ai.js +33 -0
  259. package/dist/esm/providers/fireworks-ai.d.ts +22 -0
  260. package/dist/esm/providers/fireworks-ai.d.ts.map +1 -0
  261. package/dist/esm/providers/fireworks-ai.js +25 -0
  262. package/dist/esm/providers/groq.d.ts +10 -0
  263. package/dist/esm/providers/groq.d.ts.map +1 -0
  264. package/dist/esm/providers/groq.js +34 -0
  265. package/dist/esm/providers/hf-inference.d.ts +131 -0
  266. package/dist/esm/providers/hf-inference.d.ts.map +1 -0
  267. package/dist/esm/providers/hf-inference.js +400 -0
  268. package/dist/esm/providers/hyperbolic.d.ts +48 -0
  269. package/dist/esm/providers/hyperbolic.d.ts.map +1 -0
  270. package/dist/esm/providers/hyperbolic.js +72 -0
  271. package/dist/esm/providers/nebius.d.ts +49 -0
  272. package/dist/esm/providers/nebius.d.ts.map +1 -0
  273. package/dist/esm/providers/nebius.js +63 -0
  274. package/dist/esm/providers/novita.d.ts +22 -0
  275. package/dist/esm/providers/novita.d.ts.map +1 -0
  276. package/dist/esm/providers/novita.js +67 -0
  277. package/dist/esm/providers/nscale.d.ts +35 -0
  278. package/dist/esm/providers/nscale.d.ts.map +1 -0
  279. package/dist/esm/providers/nscale.js +41 -0
  280. package/dist/esm/providers/openai.d.ts +8 -0
  281. package/dist/esm/providers/openai.d.ts.map +1 -0
  282. package/dist/esm/providers/openai.js +11 -0
  283. package/dist/esm/providers/ovhcloud.d.ts +38 -0
  284. package/dist/esm/providers/ovhcloud.d.ts.map +1 -0
  285. package/dist/esm/providers/ovhcloud.js +55 -0
  286. package/dist/esm/providers/providerHelper.d.ts +186 -0
  287. package/dist/esm/providers/providerHelper.d.ts.map +1 -0
  288. package/dist/esm/providers/providerHelper.js +102 -0
  289. package/dist/esm/providers/replicate.d.ts +25 -0
  290. package/dist/esm/providers/replicate.d.ts.map +1 -0
  291. package/dist/esm/providers/replicate.js +129 -0
  292. package/dist/esm/providers/sambanova.d.ts +14 -0
  293. package/dist/esm/providers/sambanova.d.ts.map +1 -0
  294. package/dist/esm/providers/sambanova.js +44 -0
  295. package/dist/esm/providers/together.d.ts +49 -0
  296. package/dist/esm/providers/together.d.ts.map +1 -0
  297. package/dist/esm/providers/together.js +65 -0
  298. package/dist/esm/snippets/getInferenceSnippets.d.ts +9 -0
  299. package/dist/esm/snippets/getInferenceSnippets.d.ts.map +1 -0
  300. package/dist/esm/snippets/getInferenceSnippets.js +309 -0
  301. package/dist/esm/snippets/index.d.ts +2 -0
  302. package/dist/esm/snippets/index.d.ts.map +1 -0
  303. package/dist/esm/snippets/index.js +1 -0
  304. package/dist/esm/snippets/templates.exported.d.ts +2 -0
  305. package/dist/esm/snippets/templates.exported.d.ts.map +1 -0
  306. package/dist/esm/snippets/templates.exported.js +78 -0
  307. package/dist/esm/tasks/audio/audioClassification.d.ts +10 -0
  308. package/dist/esm/tasks/audio/audioClassification.d.ts.map +1 -0
  309. package/dist/esm/tasks/audio/audioClassification.js +18 -0
  310. package/dist/esm/tasks/audio/audioToAudio.d.ts +29 -0
  311. package/dist/esm/tasks/audio/audioToAudio.d.ts.map +1 -0
  312. package/dist/esm/tasks/audio/audioToAudio.js +19 -0
  313. package/dist/esm/tasks/audio/automaticSpeechRecognition.d.ts +10 -0
  314. package/dist/esm/tasks/audio/automaticSpeechRecognition.d.ts.map +1 -0
  315. package/dist/esm/tasks/audio/automaticSpeechRecognition.js +22 -0
  316. package/dist/esm/tasks/audio/textToSpeech.d.ts +10 -0
  317. package/dist/esm/tasks/audio/textToSpeech.d.ts.map +1 -0
  318. package/dist/esm/tasks/audio/textToSpeech.js +16 -0
  319. package/dist/esm/tasks/audio/utils.d.ts +12 -0
  320. package/dist/esm/tasks/audio/utils.d.ts.map +1 -0
  321. package/dist/esm/tasks/audio/utils.js +9 -0
  322. package/dist/esm/tasks/custom/request.d.ts +10 -0
  323. package/dist/esm/tasks/custom/request.d.ts.map +1 -0
  324. package/dist/esm/tasks/custom/request.js +14 -0
  325. package/dist/esm/tasks/custom/streamingRequest.d.ts +10 -0
  326. package/dist/esm/tasks/custom/streamingRequest.d.ts.map +1 -0
  327. package/dist/esm/tasks/custom/streamingRequest.js +13 -0
  328. package/dist/esm/tasks/cv/imageClassification.d.ts +10 -0
  329. package/dist/esm/tasks/cv/imageClassification.d.ts.map +1 -0
  330. package/dist/esm/tasks/cv/imageClassification.js +18 -0
  331. package/dist/esm/tasks/cv/imageSegmentation.d.ts +10 -0
  332. package/dist/esm/tasks/cv/imageSegmentation.d.ts.map +1 -0
  333. package/dist/esm/tasks/cv/imageSegmentation.js +18 -0
  334. package/dist/esm/tasks/cv/imageToImage.d.ts +9 -0
  335. package/dist/esm/tasks/cv/imageToImage.d.ts.map +1 -0
  336. package/dist/esm/tasks/cv/imageToImage.js +17 -0
  337. package/dist/esm/tasks/cv/imageToText.d.ts +9 -0
  338. package/dist/esm/tasks/cv/imageToText.d.ts.map +1 -0
  339. package/dist/esm/tasks/cv/imageToText.js +17 -0
  340. package/dist/esm/tasks/cv/objectDetection.d.ts +10 -0
  341. package/dist/esm/tasks/cv/objectDetection.d.ts.map +1 -0
  342. package/dist/esm/tasks/cv/objectDetection.js +18 -0
  343. package/dist/esm/tasks/cv/textToImage.d.ts +18 -0
  344. package/dist/esm/tasks/cv/textToImage.d.ts.map +1 -0
  345. package/dist/esm/tasks/cv/textToImage.js +14 -0
  346. package/dist/esm/tasks/cv/textToVideo.d.ts +6 -0
  347. package/dist/esm/tasks/cv/textToVideo.d.ts.map +1 -0
  348. package/dist/esm/tasks/cv/textToVideo.js +14 -0
  349. package/dist/esm/tasks/cv/utils.d.ts +11 -0
  350. package/dist/esm/tasks/cv/utils.d.ts.map +1 -0
  351. package/dist/esm/tasks/cv/utils.js +4 -0
  352. package/dist/esm/tasks/cv/zeroShotImageClassification.d.ts +18 -0
  353. package/dist/esm/tasks/cv/zeroShotImageClassification.d.ts.map +1 -0
  354. package/dist/esm/tasks/cv/zeroShotImageClassification.js +36 -0
  355. package/dist/esm/tasks/index.d.ts +33 -0
  356. package/dist/esm/tasks/index.d.ts.map +1 -0
  357. package/dist/esm/tasks/index.js +38 -0
  358. package/dist/esm/tasks/multimodal/documentQuestionAnswering.d.ts +12 -0
  359. package/dist/esm/tasks/multimodal/documentQuestionAnswering.d.ts.map +1 -0
  360. package/dist/esm/tasks/multimodal/documentQuestionAnswering.js +24 -0
  361. package/dist/esm/tasks/multimodal/visualQuestionAnswering.d.ts +12 -0
  362. package/dist/esm/tasks/multimodal/visualQuestionAnswering.d.ts.map +1 -0
  363. package/dist/esm/tasks/multimodal/visualQuestionAnswering.js +24 -0
  364. package/dist/esm/tasks/nlp/chatCompletion.d.ts +7 -0
  365. package/dist/esm/tasks/nlp/chatCompletion.d.ts.map +1 -0
  366. package/dist/esm/tasks/nlp/chatCompletion.js +15 -0
  367. package/dist/esm/tasks/nlp/chatCompletionStream.d.ts +7 -0
  368. package/dist/esm/tasks/nlp/chatCompletionStream.d.ts.map +1 -0
  369. package/dist/esm/tasks/nlp/chatCompletionStream.js +14 -0
  370. package/dist/esm/tasks/nlp/featureExtraction.d.ts +17 -0
  371. package/dist/esm/tasks/nlp/featureExtraction.d.ts.map +1 -0
  372. package/dist/esm/tasks/nlp/featureExtraction.js +15 -0
  373. package/dist/esm/tasks/nlp/fillMask.d.ts +8 -0
  374. package/dist/esm/tasks/nlp/fillMask.d.ts.map +1 -0
  375. package/dist/esm/tasks/nlp/fillMask.js +15 -0
  376. package/dist/esm/tasks/nlp/questionAnswering.d.ts +8 -0
  377. package/dist/esm/tasks/nlp/questionAnswering.d.ts.map +1 -0
  378. package/dist/esm/tasks/nlp/questionAnswering.js +15 -0
  379. package/dist/esm/tasks/nlp/sentenceSimilarity.d.ts +8 -0
  380. package/dist/esm/tasks/nlp/sentenceSimilarity.d.ts.map +1 -0
  381. package/dist/esm/tasks/nlp/sentenceSimilarity.js +15 -0
  382. package/dist/esm/tasks/nlp/summarization.d.ts +8 -0
  383. package/dist/esm/tasks/nlp/summarization.d.ts.map +1 -0
  384. package/dist/esm/tasks/nlp/summarization.js +15 -0
  385. package/dist/esm/tasks/nlp/tableQuestionAnswering.d.ts +8 -0
  386. package/dist/esm/tasks/nlp/tableQuestionAnswering.d.ts.map +1 -0
  387. package/dist/esm/tasks/nlp/tableQuestionAnswering.js +15 -0
  388. package/dist/esm/tasks/nlp/textClassification.d.ts +8 -0
  389. package/dist/esm/tasks/nlp/textClassification.d.ts.map +1 -0
  390. package/dist/esm/tasks/nlp/textClassification.js +15 -0
  391. package/dist/esm/tasks/nlp/textGeneration.d.ts +8 -0
  392. package/dist/esm/tasks/nlp/textGeneration.d.ts.map +1 -0
  393. package/dist/esm/tasks/nlp/textGeneration.js +15 -0
  394. package/dist/esm/tasks/nlp/textGenerationStream.d.ts +81 -0
  395. package/dist/esm/tasks/nlp/textGenerationStream.d.ts.map +1 -0
  396. package/dist/esm/tasks/nlp/textGenerationStream.js +14 -0
  397. package/dist/esm/tasks/nlp/tokenClassification.d.ts +8 -0
  398. package/dist/esm/tasks/nlp/tokenClassification.d.ts.map +1 -0
  399. package/dist/esm/tasks/nlp/tokenClassification.js +15 -0
  400. package/dist/esm/tasks/nlp/translation.d.ts +8 -0
  401. package/dist/esm/tasks/nlp/translation.d.ts.map +1 -0
  402. package/dist/esm/tasks/nlp/translation.js +15 -0
  403. package/dist/esm/tasks/nlp/zeroShotClassification.d.ts +8 -0
  404. package/dist/esm/tasks/nlp/zeroShotClassification.d.ts.map +1 -0
  405. package/dist/esm/tasks/nlp/zeroShotClassification.js +15 -0
  406. package/dist/esm/tasks/tabular/tabularClassification.d.ts +20 -0
  407. package/dist/esm/tasks/tabular/tabularClassification.d.ts.map +1 -0
  408. package/dist/esm/tasks/tabular/tabularClassification.js +17 -0
  409. package/dist/esm/tasks/tabular/tabularRegression.d.ts +20 -0
  410. package/dist/esm/tasks/tabular/tabularRegression.d.ts.map +1 -0
  411. package/dist/esm/tasks/tabular/tabularRegression.js +17 -0
  412. package/dist/esm/types.d.ts +97 -0
  413. package/dist/esm/types.d.ts.map +1 -0
  414. package/dist/esm/types.js +20 -0
  415. package/dist/esm/utils/base64FromBytes.d.ts +2 -0
  416. package/dist/esm/utils/base64FromBytes.d.ts.map +1 -0
  417. package/dist/esm/utils/base64FromBytes.js +12 -0
  418. package/dist/esm/utils/delay.d.ts +2 -0
  419. package/dist/esm/utils/delay.d.ts.map +1 -0
  420. package/dist/esm/utils/delay.js +5 -0
  421. package/dist/esm/utils/distributive-omit.d.ts +9 -0
  422. package/dist/esm/utils/distributive-omit.d.ts.map +1 -0
  423. package/dist/esm/utils/distributive-omit.js +6 -0
  424. package/dist/esm/utils/isBackend.d.ts +2 -0
  425. package/dist/esm/utils/isBackend.d.ts.map +1 -0
  426. package/dist/esm/utils/isBackend.js +3 -0
  427. package/dist/esm/utils/isFrontend.d.ts +2 -0
  428. package/dist/esm/utils/isFrontend.d.ts.map +1 -0
  429. package/dist/esm/utils/isFrontend.js +2 -0
  430. package/dist/esm/utils/omit.d.ts +5 -0
  431. package/dist/esm/utils/omit.d.ts.map +1 -0
  432. package/dist/esm/utils/omit.js +10 -0
  433. package/dist/esm/utils/pick.d.ts +5 -0
  434. package/dist/esm/utils/pick.d.ts.map +1 -0
  435. package/dist/esm/utils/pick.js +10 -0
  436. package/dist/esm/utils/request.d.ts +28 -0
  437. package/dist/esm/utils/request.d.ts.map +1 -0
  438. package/dist/esm/utils/request.js +112 -0
  439. package/dist/esm/utils/toArray.d.ts +2 -0
  440. package/dist/esm/utils/toArray.d.ts.map +1 -0
  441. package/dist/esm/utils/toArray.js +6 -0
  442. package/dist/esm/utils/typedEntries.d.ts +4 -0
  443. package/dist/esm/utils/typedEntries.d.ts.map +1 -0
  444. package/dist/esm/utils/typedEntries.js +3 -0
  445. package/dist/esm/utils/typedInclude.d.ts +2 -0
  446. package/dist/esm/utils/typedInclude.d.ts.map +1 -0
  447. package/dist/esm/utils/typedInclude.js +3 -0
  448. package/dist/esm/vendor/fetch-event-source/parse.d.ts +69 -0
  449. package/dist/esm/vendor/fetch-event-source/parse.d.ts.map +1 -0
  450. package/dist/esm/vendor/fetch-event-source/parse.js +180 -0
  451. package/dist/esm/vendor/fetch-event-source/parse.spec.d.ts +2 -0
  452. package/dist/esm/vendor/fetch-event-source/parse.spec.d.ts.map +1 -0
  453. package/dist/esm/vendor/fetch-event-source/parse.spec.js +335 -0
  454. package/package.json +26 -12
  455. package/src/InferenceClient.ts +4 -4
  456. package/src/index.ts +4 -4
  457. package/src/lib/getDefaultTask.ts +2 -2
  458. package/src/lib/getInferenceProviderMapping.ts +5 -5
  459. package/src/lib/getProviderHelper.ts +19 -19
  460. package/src/lib/makeRequestOptions.ts +8 -8
  461. package/src/package.ts +3 -0
  462. package/src/providers/black-forest-labs.ts +5 -5
  463. package/src/providers/cerebras.ts +1 -1
  464. package/src/providers/cohere.ts +1 -1
  465. package/src/providers/consts.ts +3 -3
  466. package/src/providers/fal-ai.ts +9 -9
  467. package/src/providers/featherless-ai.ts +3 -3
  468. package/src/providers/fireworks-ai.ts +1 -1
  469. package/src/providers/groq.ts +1 -1
  470. package/src/providers/hf-inference.ts +11 -11
  471. package/src/providers/hyperbolic.ts +4 -4
  472. package/src/providers/nebius.ts +4 -4
  473. package/src/providers/novita.ts +5 -5
  474. package/src/providers/nscale.ts +4 -4
  475. package/src/providers/openai.ts +1 -1
  476. package/src/providers/ovhcloud.ts +4 -4
  477. package/src/providers/providerHelper.ts +7 -7
  478. package/src/providers/replicate.ts +5 -5
  479. package/src/providers/sambanova.ts +4 -4
  480. package/src/providers/together.ts +4 -4
  481. package/src/snippets/getInferenceSnippets.ts +7 -7
  482. package/src/tasks/audio/audioClassification.ts +6 -6
  483. package/src/tasks/audio/audioToAudio.ts +6 -6
  484. package/src/tasks/audio/automaticSpeechRecognition.ts +6 -6
  485. package/src/tasks/audio/textToSpeech.ts +4 -4
  486. package/src/tasks/audio/utils.ts +2 -2
  487. package/src/tasks/custom/request.ts +4 -4
  488. package/src/tasks/custom/streamingRequest.ts +4 -4
  489. package/src/tasks/cv/imageClassification.ts +5 -5
  490. package/src/tasks/cv/imageSegmentation.ts +5 -5
  491. package/src/tasks/cv/imageToImage.ts +4 -4
  492. package/src/tasks/cv/imageToText.ts +6 -6
  493. package/src/tasks/cv/objectDetection.ts +5 -5
  494. package/src/tasks/cv/textToImage.ts +5 -5
  495. package/src/tasks/cv/textToVideo.ts +8 -8
  496. package/src/tasks/cv/utils.ts +2 -2
  497. package/src/tasks/cv/zeroShotImageClassification.ts +5 -5
  498. package/src/tasks/index.ts +32 -32
  499. package/src/tasks/multimodal/documentQuestionAnswering.ts +5 -5
  500. package/src/tasks/multimodal/visualQuestionAnswering.ts +5 -5
  501. package/src/tasks/nlp/chatCompletion.ts +4 -4
  502. package/src/tasks/nlp/chatCompletionStream.ts +4 -4
  503. package/src/tasks/nlp/featureExtraction.ts +4 -4
  504. package/src/tasks/nlp/fillMask.ts +4 -4
  505. package/src/tasks/nlp/questionAnswering.ts +4 -4
  506. package/src/tasks/nlp/sentenceSimilarity.ts +4 -4
  507. package/src/tasks/nlp/summarization.ts +4 -4
  508. package/src/tasks/nlp/tableQuestionAnswering.ts +4 -4
  509. package/src/tasks/nlp/textClassification.ts +4 -4
  510. package/src/tasks/nlp/textGeneration.ts +5 -5
  511. package/src/tasks/nlp/textGenerationStream.ts +4 -4
  512. package/src/tasks/nlp/tokenClassification.ts +4 -4
  513. package/src/tasks/nlp/translation.ts +4 -4
  514. package/src/tasks/nlp/zeroShotClassification.ts +4 -4
  515. package/src/tasks/tabular/tabularClassification.ts +4 -4
  516. package/src/tasks/tabular/tabularRegression.ts +4 -4
  517. package/src/types.ts +1 -1
  518. package/src/utils/isFrontend.ts +1 -1
  519. package/src/utils/omit.ts +2 -2
  520. package/src/utils/request.ts +5 -5
  521. package/src/vendor/fetch-event-source/parse.spec.ts +1 -1
  522. package/src/vendor/fetch-event-source/parse.ts +6 -5
  523. package/dist/index.cjs +0 -2868
  524. package/dist/index.js +0 -2812
  525. package/dist/src/InferenceClient.d.ts.map +0 -1
  526. package/dist/src/index.d.ts.map +0 -1
  527. package/dist/src/providers/consts.d.ts.map +0 -1
  528. package/dist/src/providers/fireworks-ai.d.ts.map +0 -1
  529. package/dist/src/tasks/audio/audioToAudio.d.ts.map +0 -1
  530. package/dist/src/tasks/audio/automaticSpeechRecognition.d.ts.map +0 -1
  531. package/dist/src/tasks/audio/textToSpeech.d.ts.map +0 -1
  532. package/dist/src/tasks/audio/utils.d.ts.map +0 -1
  533. package/dist/src/tasks/custom/request.d.ts.map +0 -1
  534. package/dist/src/tasks/custom/streamingRequest.d.ts.map +0 -1
  535. package/dist/src/tasks/cv/imageClassification.d.ts.map +0 -1
  536. package/dist/src/tasks/cv/imageSegmentation.d.ts.map +0 -1
  537. package/dist/src/tasks/cv/imageToImage.d.ts.map +0 -1
  538. package/dist/src/tasks/cv/imageToText.d.ts.map +0 -1
  539. package/dist/src/tasks/cv/objectDetection.d.ts.map +0 -1
  540. package/dist/src/tasks/cv/textToImage.d.ts.map +0 -1
  541. package/dist/src/tasks/cv/textToVideo.d.ts.map +0 -1
  542. package/dist/src/tasks/cv/utils.d.ts.map +0 -1
  543. package/dist/src/tasks/cv/zeroShotImageClassification.d.ts.map +0 -1
  544. package/dist/src/tasks/index.d.ts +0 -33
  545. package/dist/src/tasks/index.d.ts.map +0 -1
  546. package/dist/src/tasks/multimodal/documentQuestionAnswering.d.ts.map +0 -1
  547. package/dist/src/tasks/multimodal/visualQuestionAnswering.d.ts.map +0 -1
  548. package/dist/src/tasks/nlp/featureExtraction.d.ts.map +0 -1
  549. package/dist/src/tasks/nlp/fillMask.d.ts.map +0 -1
  550. package/dist/src/tasks/nlp/questionAnswering.d.ts.map +0 -1
  551. package/dist/src/tasks/nlp/sentenceSimilarity.d.ts.map +0 -1
  552. package/dist/src/tasks/nlp/summarization.d.ts.map +0 -1
  553. package/dist/src/tasks/nlp/textClassification.d.ts.map +0 -1
  554. package/dist/src/tasks/nlp/textGeneration.d.ts.map +0 -1
  555. package/dist/src/tasks/nlp/textGenerationStream.d.ts.map +0 -1
  556. package/dist/src/tasks/nlp/translation.d.ts.map +0 -1
  557. package/dist/src/tasks/tabular/tabularClassification.d.ts.map +0 -1
  558. package/dist/src/tasks/tabular/tabularRegression.d.ts.map +0 -1
  559. package/dist/src/vendor/fetch-event-source/parse.d.ts.map +0 -1
  560. package/dist/test/InferenceClient.spec.d.ts +0 -2
  561. package/dist/test/InferenceClient.spec.d.ts.map +0 -1
  562. package/dist/test/expect-closeto.d.ts +0 -2
  563. package/dist/test/expect-closeto.d.ts.map +0 -1
  564. package/dist/test/test-files.d.ts +0 -2
  565. package/dist/test/test-files.d.ts.map +0 -1
  566. /package/dist/{src → commonjs}/config.d.ts +0 -0
  567. /package/dist/{src → commonjs}/config.d.ts.map +0 -0
  568. /package/dist/{src → commonjs}/lib/InferenceOutputError.d.ts +0 -0
  569. /package/dist/{src → commonjs}/lib/InferenceOutputError.d.ts.map +0 -0
  570. /package/dist/{src → commonjs}/lib/getDefaultTask.d.ts +0 -0
  571. /package/dist/{src → commonjs}/lib/getDefaultTask.d.ts.map +0 -0
  572. /package/dist/{src → commonjs}/lib/isUrl.d.ts +0 -0
  573. /package/dist/{src → commonjs}/lib/isUrl.d.ts.map +0 -0
  574. /package/dist/{src → commonjs}/snippets/index.d.ts +0 -0
  575. /package/dist/{src → commonjs}/snippets/index.d.ts.map +0 -0
  576. /package/dist/{src → commonjs}/snippets/templates.exported.d.ts +0 -0
  577. /package/dist/{src → commonjs}/snippets/templates.exported.d.ts.map +0 -0
  578. /package/dist/{src → commonjs}/utils/base64FromBytes.d.ts +0 -0
  579. /package/dist/{src → commonjs}/utils/base64FromBytes.d.ts.map +0 -0
  580. /package/dist/{src → commonjs}/utils/delay.d.ts +0 -0
  581. /package/dist/{src → commonjs}/utils/delay.d.ts.map +0 -0
  582. /package/dist/{src → commonjs}/utils/distributive-omit.d.ts +0 -0
  583. /package/dist/{src → commonjs}/utils/distributive-omit.d.ts.map +0 -0
  584. /package/dist/{src → commonjs}/utils/isBackend.d.ts +0 -0
  585. /package/dist/{src → commonjs}/utils/isBackend.d.ts.map +0 -0
  586. /package/dist/{src → commonjs}/utils/isFrontend.d.ts +0 -0
  587. /package/dist/{src → commonjs}/utils/isFrontend.d.ts.map +0 -0
  588. /package/dist/{src → commonjs}/utils/omit.d.ts +0 -0
  589. /package/dist/{src → commonjs}/utils/omit.d.ts.map +0 -0
  590. /package/dist/{src → commonjs}/utils/pick.d.ts +0 -0
  591. /package/dist/{src → commonjs}/utils/pick.d.ts.map +0 -0
  592. /package/dist/{src → commonjs}/utils/toArray.d.ts +0 -0
  593. /package/dist/{src → commonjs}/utils/toArray.d.ts.map +0 -0
  594. /package/dist/{src → commonjs}/utils/typedEntries.d.ts +0 -0
  595. /package/dist/{src → commonjs}/utils/typedEntries.d.ts.map +0 -0
  596. /package/dist/{src → commonjs}/utils/typedInclude.d.ts +0 -0
  597. /package/dist/{src → commonjs}/utils/typedInclude.d.ts.map +0 -0
  598. /package/dist/{src → commonjs}/vendor/fetch-event-source/parse.d.ts +0 -0
  599. /package/dist/{src → commonjs}/vendor/fetch-event-source/parse.spec.d.ts +0 -0
  600. /package/dist/{src → commonjs}/vendor/fetch-event-source/parse.spec.d.ts.map +0 -0
@@ -0,0 +1,75 @@
1
+ import { HF_HUB_URL } from "../config.js";
2
+ import { HARDCODED_MODEL_INFERENCE_MAPPING } from "../providers/consts.js";
3
+ import { EQUIVALENT_SENTENCE_TRANSFORMERS_TASKS } from "../providers/hf-inference.js";
4
+ import { typedInclude } from "../utils/typedInclude.js";
5
+ export const inferenceProviderMappingCache = new Map();
6
+ export async function fetchInferenceProviderMappingForModel(modelId, accessToken, options) {
7
+ let inferenceProviderMapping;
8
+ if (inferenceProviderMappingCache.has(modelId)) {
9
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
10
+ inferenceProviderMapping = inferenceProviderMappingCache.get(modelId);
11
+ }
12
+ else {
13
+ const resp = await (options?.fetch ?? fetch)(`${HF_HUB_URL}/api/models/${modelId}?expand[]=inferenceProviderMapping`, {
14
+ headers: accessToken?.startsWith("hf_") ? { Authorization: `Bearer ${accessToken}` } : {},
15
+ });
16
+ if (resp.status === 404) {
17
+ throw new Error(`Model ${modelId} does not exist`);
18
+ }
19
+ inferenceProviderMapping = await resp
20
+ .json()
21
+ .then((json) => json.inferenceProviderMapping)
22
+ .catch(() => null);
23
+ if (inferenceProviderMapping) {
24
+ inferenceProviderMappingCache.set(modelId, inferenceProviderMapping);
25
+ }
26
+ }
27
+ if (!inferenceProviderMapping) {
28
+ throw new Error(`We have not been able to find inference provider information for model ${modelId}.`);
29
+ }
30
+ return inferenceProviderMapping;
31
+ }
32
+ export async function getInferenceProviderMapping(params, options) {
33
+ if (HARDCODED_MODEL_INFERENCE_MAPPING[params.provider][params.modelId]) {
34
+ return HARDCODED_MODEL_INFERENCE_MAPPING[params.provider][params.modelId];
35
+ }
36
+ const inferenceProviderMapping = await fetchInferenceProviderMappingForModel(params.modelId, params.accessToken, options);
37
+ const providerMapping = inferenceProviderMapping[params.provider];
38
+ if (providerMapping) {
39
+ const equivalentTasks = params.provider === "hf-inference" && typedInclude(EQUIVALENT_SENTENCE_TRANSFORMERS_TASKS, params.task)
40
+ ? EQUIVALENT_SENTENCE_TRANSFORMERS_TASKS
41
+ : [params.task];
42
+ if (!typedInclude(equivalentTasks, providerMapping.task)) {
43
+ throw new Error(`Model ${params.modelId} is not supported for task ${params.task} and provider ${params.provider}. Supported task: ${providerMapping.task}.`);
44
+ }
45
+ if (providerMapping.status === "staging") {
46
+ console.warn(`Model ${params.modelId} is in staging mode for provider ${params.provider}. Meant for test purposes only.`);
47
+ }
48
+ return { ...providerMapping, hfModelId: params.modelId };
49
+ }
50
+ return null;
51
+ }
52
+ export async function resolveProvider(provider, modelId, endpointUrl) {
53
+ if (endpointUrl) {
54
+ if (provider) {
55
+ throw new Error("Specifying both endpointUrl and provider is not supported.");
56
+ }
57
+ /// Defaulting to hf-inference helpers / API
58
+ return "hf-inference";
59
+ }
60
+ if (!provider) {
61
+ console.log("Defaulting to 'auto' which will select the first provider available for the model, sorted by the user's order in https://hf.co/settings/inference-providers.");
62
+ provider = "auto";
63
+ }
64
+ if (provider === "auto") {
65
+ if (!modelId) {
66
+ throw new Error("Specifying a model is required when provider is 'auto'");
67
+ }
68
+ const inferenceProviderMapping = await fetchInferenceProviderMappingForModel(modelId);
69
+ provider = Object.keys(inferenceProviderMapping)[0];
70
+ }
71
+ if (!provider) {
72
+ throw new Error(`No Inference Provider available for model ${modelId}.`);
73
+ }
74
+ return provider;
75
+ }
@@ -0,0 +1,37 @@
1
+ import type { AudioClassificationTaskHelper, AudioToAudioTaskHelper, AutomaticSpeechRecognitionTaskHelper, ConversationalTaskHelper, DocumentQuestionAnsweringTaskHelper, FeatureExtractionTaskHelper, FillMaskTaskHelper, ImageClassificationTaskHelper, ImageSegmentationTaskHelper, ImageToImageTaskHelper, ImageToTextTaskHelper, ObjectDetectionTaskHelper, QuestionAnsweringTaskHelper, SentenceSimilarityTaskHelper, SummarizationTaskHelper, TableQuestionAnsweringTaskHelper, TabularClassificationTaskHelper, TabularRegressionTaskHelper, TaskProviderHelper, TextClassificationTaskHelper, TextGenerationTaskHelper, TextToAudioTaskHelper, TextToImageTaskHelper, TextToSpeechTaskHelper, TextToVideoTaskHelper, TokenClassificationTaskHelper, TranslationTaskHelper, VisualQuestionAnsweringTaskHelper, ZeroShotClassificationTaskHelper, ZeroShotImageClassificationTaskHelper } from "../providers/providerHelper.js";
2
+ import type { InferenceProvider, InferenceProviderOrPolicy, InferenceTask } from "../types.js";
3
+ export declare const PROVIDERS: Record<InferenceProvider, Partial<Record<InferenceTask, TaskProviderHelper>>>;
4
+ /**
5
+ * Get provider helper instance by name and task
6
+ */
7
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "text-to-image"): TextToImageTaskHelper & TaskProviderHelper;
8
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "conversational"): ConversationalTaskHelper & TaskProviderHelper;
9
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "text-generation"): TextGenerationTaskHelper & TaskProviderHelper;
10
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "text-to-speech"): TextToSpeechTaskHelper & TaskProviderHelper;
11
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "text-to-audio"): TextToAudioTaskHelper & TaskProviderHelper;
12
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "automatic-speech-recognition"): AutomaticSpeechRecognitionTaskHelper & TaskProviderHelper;
13
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "text-to-video"): TextToVideoTaskHelper & TaskProviderHelper;
14
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "text-classification"): TextClassificationTaskHelper & TaskProviderHelper;
15
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "question-answering"): QuestionAnsweringTaskHelper & TaskProviderHelper;
16
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "audio-classification"): AudioClassificationTaskHelper & TaskProviderHelper;
17
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "audio-to-audio"): AudioToAudioTaskHelper & TaskProviderHelper;
18
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "fill-mask"): FillMaskTaskHelper & TaskProviderHelper;
19
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "feature-extraction"): FeatureExtractionTaskHelper & TaskProviderHelper;
20
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "image-classification"): ImageClassificationTaskHelper & TaskProviderHelper;
21
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "image-segmentation"): ImageSegmentationTaskHelper & TaskProviderHelper;
22
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "document-question-answering"): DocumentQuestionAnsweringTaskHelper & TaskProviderHelper;
23
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "image-to-text"): ImageToTextTaskHelper & TaskProviderHelper;
24
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "object-detection"): ObjectDetectionTaskHelper & TaskProviderHelper;
25
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "zero-shot-image-classification"): ZeroShotImageClassificationTaskHelper & TaskProviderHelper;
26
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "zero-shot-classification"): ZeroShotClassificationTaskHelper & TaskProviderHelper;
27
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "image-to-image"): ImageToImageTaskHelper & TaskProviderHelper;
28
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "sentence-similarity"): SentenceSimilarityTaskHelper & TaskProviderHelper;
29
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "table-question-answering"): TableQuestionAnsweringTaskHelper & TaskProviderHelper;
30
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "tabular-classification"): TabularClassificationTaskHelper & TaskProviderHelper;
31
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "tabular-regression"): TabularRegressionTaskHelper & TaskProviderHelper;
32
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "token-classification"): TokenClassificationTaskHelper & TaskProviderHelper;
33
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "translation"): TranslationTaskHelper & TaskProviderHelper;
34
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "summarization"): SummarizationTaskHelper & TaskProviderHelper;
35
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: "visual-question-answering"): VisualQuestionAnsweringTaskHelper & TaskProviderHelper;
36
+ export declare function getProviderHelper(provider: InferenceProviderOrPolicy, task: InferenceTask | undefined): TaskProviderHelper;
37
+ //# sourceMappingURL=getProviderHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,6BAA6B,EAC7B,sBAAsB,EACtB,oCAAoC,EACpC,wBAAwB,EACxB,mCAAmC,EACnC,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,qCAAqC,EACrC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/F,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAiGnG,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,wBAAwB,GAAG,kBAAkB,CAAC;AACjD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,iBAAiB,GACrB,wBAAwB,GAAG,kBAAkB,CAAC;AACjD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,8BAA8B,GAClC,oCAAoC,GAAG,kBAAkB,CAAC;AAC7D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,qBAAqB,GACzB,4BAA4B,GAAG,kBAAkB,CAAC;AACrD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,sBAAsB,GAC1B,6BAA6B,GAAG,kBAAkB,CAAC;AACtD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,WAAW,GACf,kBAAkB,GAAG,kBAAkB,CAAC;AAC3C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,sBAAsB,GAC1B,6BAA6B,GAAG,kBAAkB,CAAC;AACtD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,6BAA6B,GACjC,mCAAmC,GAAG,kBAAkB,CAAC;AAC5D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,kBAAkB,GACtB,yBAAyB,GAAG,kBAAkB,CAAC;AAClD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gCAAgC,GACpC,qCAAqC,GAAG,kBAAkB,CAAC;AAC9D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,0BAA0B,GAC9B,gCAAgC,GAAG,kBAAkB,CAAC;AACzD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,qBAAqB,GACzB,4BAA4B,GAAG,kBAAkB,CAAC;AACrD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,0BAA0B,GAC9B,gCAAgC,GAAG,kBAAkB,CAAC;AACzD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,wBAAwB,GAC5B,+BAA+B,GAAG,kBAAkB,CAAC;AACxD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,sBAAsB,GAC1B,6BAA6B,GAAG,kBAAkB,CAAC;AACtD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,aAAa,GACjB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,uBAAuB,GAAG,kBAAkB,CAAC;AAChD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,2BAA2B,GAC/B,iCAAiC,GAAG,kBAAkB,CAAC;AAC1D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,aAAa,GAAG,SAAS,GAC7B,kBAAkB,CAAC"}
@@ -0,0 +1,131 @@
1
+ import * as BlackForestLabs from "../providers/black-forest-labs.js";
2
+ import * as Cerebras from "../providers/cerebras.js";
3
+ import * as Cohere from "../providers/cohere.js";
4
+ import * as FalAI from "../providers/fal-ai.js";
5
+ import * as FeatherlessAI from "../providers/featherless-ai.js";
6
+ import * as Fireworks from "../providers/fireworks-ai.js";
7
+ import * as Groq from "../providers/groq.js";
8
+ import * as HFInference from "../providers/hf-inference.js";
9
+ import * as Hyperbolic from "../providers/hyperbolic.js";
10
+ import * as Nebius from "../providers/nebius.js";
11
+ import * as Novita from "../providers/novita.js";
12
+ import * as Nscale from "../providers/nscale.js";
13
+ import * as OpenAI from "../providers/openai.js";
14
+ import * as OvhCloud from "../providers/ovhcloud.js";
15
+ import * as Replicate from "../providers/replicate.js";
16
+ import * as Sambanova from "../providers/sambanova.js";
17
+ import * as Together from "../providers/together.js";
18
+ export const PROVIDERS = {
19
+ "black-forest-labs": {
20
+ "text-to-image": new BlackForestLabs.BlackForestLabsTextToImageTask(),
21
+ },
22
+ cerebras: {
23
+ conversational: new Cerebras.CerebrasConversationalTask(),
24
+ },
25
+ cohere: {
26
+ conversational: new Cohere.CohereConversationalTask(),
27
+ },
28
+ "fal-ai": {
29
+ "text-to-image": new FalAI.FalAITextToImageTask(),
30
+ "text-to-speech": new FalAI.FalAITextToSpeechTask(),
31
+ "text-to-video": new FalAI.FalAITextToVideoTask(),
32
+ "automatic-speech-recognition": new FalAI.FalAIAutomaticSpeechRecognitionTask(),
33
+ },
34
+ "featherless-ai": {
35
+ conversational: new FeatherlessAI.FeatherlessAIConversationalTask(),
36
+ "text-generation": new FeatherlessAI.FeatherlessAITextGenerationTask(),
37
+ },
38
+ "hf-inference": {
39
+ "text-to-image": new HFInference.HFInferenceTextToImageTask(),
40
+ conversational: new HFInference.HFInferenceConversationalTask(),
41
+ "text-generation": new HFInference.HFInferenceTextGenerationTask(),
42
+ "text-classification": new HFInference.HFInferenceTextClassificationTask(),
43
+ "question-answering": new HFInference.HFInferenceQuestionAnsweringTask(),
44
+ "audio-classification": new HFInference.HFInferenceAudioClassificationTask(),
45
+ "automatic-speech-recognition": new HFInference.HFInferenceAutomaticSpeechRecognitionTask(),
46
+ "fill-mask": new HFInference.HFInferenceFillMaskTask(),
47
+ "feature-extraction": new HFInference.HFInferenceFeatureExtractionTask(),
48
+ "image-classification": new HFInference.HFInferenceImageClassificationTask(),
49
+ "image-segmentation": new HFInference.HFInferenceImageSegmentationTask(),
50
+ "document-question-answering": new HFInference.HFInferenceDocumentQuestionAnsweringTask(),
51
+ "image-to-text": new HFInference.HFInferenceImageToTextTask(),
52
+ "object-detection": new HFInference.HFInferenceObjectDetectionTask(),
53
+ "audio-to-audio": new HFInference.HFInferenceAudioToAudioTask(),
54
+ "zero-shot-image-classification": new HFInference.HFInferenceZeroShotImageClassificationTask(),
55
+ "zero-shot-classification": new HFInference.HFInferenceZeroShotClassificationTask(),
56
+ "image-to-image": new HFInference.HFInferenceImageToImageTask(),
57
+ "sentence-similarity": new HFInference.HFInferenceSentenceSimilarityTask(),
58
+ "table-question-answering": new HFInference.HFInferenceTableQuestionAnsweringTask(),
59
+ "tabular-classification": new HFInference.HFInferenceTabularClassificationTask(),
60
+ "text-to-speech": new HFInference.HFInferenceTextToSpeechTask(),
61
+ "token-classification": new HFInference.HFInferenceTokenClassificationTask(),
62
+ translation: new HFInference.HFInferenceTranslationTask(),
63
+ summarization: new HFInference.HFInferenceSummarizationTask(),
64
+ "visual-question-answering": new HFInference.HFInferenceVisualQuestionAnsweringTask(),
65
+ "tabular-regression": new HFInference.HFInferenceTabularRegressionTask(),
66
+ "text-to-audio": new HFInference.HFInferenceTextToAudioTask(),
67
+ },
68
+ "fireworks-ai": {
69
+ conversational: new Fireworks.FireworksConversationalTask(),
70
+ },
71
+ groq: {
72
+ conversational: new Groq.GroqConversationalTask(),
73
+ "text-generation": new Groq.GroqTextGenerationTask(),
74
+ },
75
+ hyperbolic: {
76
+ "text-to-image": new Hyperbolic.HyperbolicTextToImageTask(),
77
+ conversational: new Hyperbolic.HyperbolicConversationalTask(),
78
+ "text-generation": new Hyperbolic.HyperbolicTextGenerationTask(),
79
+ },
80
+ nebius: {
81
+ "text-to-image": new Nebius.NebiusTextToImageTask(),
82
+ conversational: new Nebius.NebiusConversationalTask(),
83
+ "text-generation": new Nebius.NebiusTextGenerationTask(),
84
+ "feature-extraction": new Nebius.NebiusFeatureExtractionTask(),
85
+ },
86
+ novita: {
87
+ conversational: new Novita.NovitaConversationalTask(),
88
+ "text-generation": new Novita.NovitaTextGenerationTask(),
89
+ },
90
+ nscale: {
91
+ "text-to-image": new Nscale.NscaleTextToImageTask(),
92
+ conversational: new Nscale.NscaleConversationalTask(),
93
+ },
94
+ openai: {
95
+ conversational: new OpenAI.OpenAIConversationalTask(),
96
+ },
97
+ ovhcloud: {
98
+ conversational: new OvhCloud.OvhCloudConversationalTask(),
99
+ "text-generation": new OvhCloud.OvhCloudTextGenerationTask(),
100
+ },
101
+ replicate: {
102
+ "text-to-image": new Replicate.ReplicateTextToImageTask(),
103
+ "text-to-speech": new Replicate.ReplicateTextToSpeechTask(),
104
+ "text-to-video": new Replicate.ReplicateTextToVideoTask(),
105
+ },
106
+ sambanova: {
107
+ conversational: new Sambanova.SambanovaConversationalTask(),
108
+ "feature-extraction": new Sambanova.SambanovaFeatureExtractionTask(),
109
+ },
110
+ together: {
111
+ "text-to-image": new Together.TogetherTextToImageTask(),
112
+ conversational: new Together.TogetherConversationalTask(),
113
+ "text-generation": new Together.TogetherTextGenerationTask(),
114
+ },
115
+ };
116
+ export function getProviderHelper(provider, task) {
117
+ if ((provider === "hf-inference" && !task) || provider === "auto") {
118
+ return new HFInference.HFInferenceTask();
119
+ }
120
+ if (!task) {
121
+ throw new Error("you need to provide a task name when using an external provider, e.g. 'text-to-image'");
122
+ }
123
+ if (!(provider in PROVIDERS)) {
124
+ throw new Error(`Provider '${provider}' not supported. Available providers: ${Object.keys(PROVIDERS)}`);
125
+ }
126
+ const providerTasks = PROVIDERS[provider];
127
+ if (!providerTasks || !(task in providerTasks)) {
128
+ throw new Error(`Task '${task}' not supported for provider '${provider}'. Available tasks: ${Object.keys(providerTasks ?? {})}`);
129
+ }
130
+ return providerTasks[task];
131
+ }
@@ -0,0 +1,2 @@
1
+ export declare function isUrl(modelOrUrl: string): boolean;
2
+ //# sourceMappingURL=isUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/isUrl.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEjD"}
@@ -0,0 +1,3 @@
1
+ export function isUrl(modelOrUrl) {
2
+ return /^http(s?):/.test(modelOrUrl) || modelOrUrl.startsWith("/");
3
+ }
@@ -0,0 +1,31 @@
1
+ import type { InferenceTask, Options, RequestArgs } from "../types.js";
2
+ import type { InferenceProviderModelMapping } from "./getInferenceProviderMapping.js";
3
+ import type { getProviderHelper } from "./getProviderHelper.js";
4
+ /**
5
+ * Helper that prepares request arguments.
6
+ * This async version handle the model ID resolution step.
7
+ */
8
+ export declare function makeRequestOptions(args: RequestArgs & {
9
+ data?: Blob | ArrayBuffer;
10
+ stream?: boolean;
11
+ }, providerHelper: ReturnType<typeof getProviderHelper>, options?: Options & {
12
+ /** In most cases (unless we pass a endpointUrl) we know the task */
13
+ task?: InferenceTask;
14
+ }): Promise<{
15
+ url: string;
16
+ info: RequestInit;
17
+ }>;
18
+ /**
19
+ * Helper that prepares request arguments. - for internal use only
20
+ * This sync version skips the model ID resolution step
21
+ */
22
+ export declare function makeRequestOptionsFromResolvedModel(resolvedModel: string, providerHelper: ReturnType<typeof getProviderHelper>, args: RequestArgs & {
23
+ data?: Blob | ArrayBuffer;
24
+ stream?: boolean;
25
+ }, mapping: InferenceProviderModelMapping | undefined, options?: Options & {
26
+ task?: InferenceTask;
27
+ }): {
28
+ url: string;
29
+ info: RequestInit;
30
+ };
31
+ //# sourceMappingURL=makeRequestOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeRequestOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/makeRequestOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAShE;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,WAAW,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,EACD,cAAc,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAAG;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,aAAa,CAAC;CACrB,GACC,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAmE7C;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAClD,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpD,IAAI,EAAE,WAAW,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,EACD,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,OAAO,CAAC,EAAE,OAAO,GAAG;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;CACrB,GACC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CA+EpC"}
@@ -0,0 +1,157 @@
1
+ import { HF_HEADER_X_BILL_TO, HF_HUB_URL } from "../config.js";
2
+ import { PACKAGE_NAME, PACKAGE_VERSION } from "../package.js";
3
+ import { getInferenceProviderMapping } from "./getInferenceProviderMapping.js";
4
+ import { isUrl } from "./isUrl.js";
5
+ /**
6
+ * Lazy-loaded from huggingface.co/api/tasks when needed
7
+ * Used to determine the default model to use when it's not user defined
8
+ */
9
+ let tasks = null;
10
+ /**
11
+ * Helper that prepares request arguments.
12
+ * This async version handle the model ID resolution step.
13
+ */
14
+ export async function makeRequestOptions(args, providerHelper, options) {
15
+ const { model: maybeModel } = args;
16
+ const provider = providerHelper.provider;
17
+ const { task } = options ?? {};
18
+ // Validate inputs
19
+ if (args.endpointUrl && provider !== "hf-inference") {
20
+ throw new Error(`Cannot use endpointUrl with a third-party provider.`);
21
+ }
22
+ if (maybeModel && isUrl(maybeModel)) {
23
+ throw new Error(`Model URLs are no longer supported. Use endpointUrl instead.`);
24
+ }
25
+ if (args.endpointUrl) {
26
+ // No need to have maybeModel, or to load default model for a task
27
+ return makeRequestOptionsFromResolvedModel(maybeModel ?? args.endpointUrl, providerHelper, args, undefined, options);
28
+ }
29
+ if (!maybeModel && !task) {
30
+ throw new Error("No model provided, and no task has been specified.");
31
+ }
32
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
33
+ const hfModel = maybeModel ?? (await loadDefaultModel(task));
34
+ if (providerHelper.clientSideRoutingOnly && !maybeModel) {
35
+ throw new Error(`Provider ${provider} requires a model ID to be passed directly.`);
36
+ }
37
+ const inferenceProviderMapping = providerHelper.clientSideRoutingOnly
38
+ ? {
39
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
40
+ providerId: removeProviderPrefix(maybeModel, provider),
41
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
42
+ hfModelId: maybeModel,
43
+ status: "live",
44
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
45
+ task: task,
46
+ }
47
+ : await getInferenceProviderMapping({
48
+ modelId: hfModel,
49
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
50
+ task: task,
51
+ provider,
52
+ accessToken: args.accessToken,
53
+ }, { fetch: options?.fetch });
54
+ if (!inferenceProviderMapping) {
55
+ throw new Error(`We have not been able to find inference provider information for model ${hfModel}.`);
56
+ }
57
+ // Use the sync version with the resolved model
58
+ return makeRequestOptionsFromResolvedModel(inferenceProviderMapping.providerId, providerHelper, args, inferenceProviderMapping, options);
59
+ }
60
+ /**
61
+ * Helper that prepares request arguments. - for internal use only
62
+ * This sync version skips the model ID resolution step
63
+ */
64
+ export function makeRequestOptionsFromResolvedModel(resolvedModel, providerHelper, args, mapping, options) {
65
+ const { accessToken, endpointUrl, provider: maybeProvider, model, ...remainingArgs } = args;
66
+ void model;
67
+ void maybeProvider;
68
+ const provider = providerHelper.provider;
69
+ const { includeCredentials, task, signal, billTo } = options ?? {};
70
+ const authMethod = (() => {
71
+ if (providerHelper.clientSideRoutingOnly) {
72
+ // Closed-source providers require an accessToken (cannot be routed).
73
+ if (accessToken && accessToken.startsWith("hf_")) {
74
+ throw new Error(`Provider ${provider} is closed-source and does not support HF tokens.`);
75
+ }
76
+ return "provider-key";
77
+ }
78
+ if (accessToken) {
79
+ return accessToken.startsWith("hf_") ? "hf-token" : "provider-key";
80
+ }
81
+ if (includeCredentials === "include") {
82
+ // If accessToken is passed, it should take precedence over includeCredentials
83
+ return "credentials-include";
84
+ }
85
+ return "none";
86
+ })();
87
+ // Make URL
88
+ const modelId = endpointUrl ?? resolvedModel;
89
+ const url = providerHelper.makeUrl({
90
+ authMethod,
91
+ model: modelId,
92
+ task,
93
+ });
94
+ // Make headers
95
+ const headers = providerHelper.prepareHeaders({
96
+ accessToken,
97
+ authMethod,
98
+ }, "data" in args && !!args.data);
99
+ if (billTo) {
100
+ headers[HF_HEADER_X_BILL_TO] = billTo;
101
+ }
102
+ // Add user-agent to headers
103
+ // e.g. @huggingface/inference/3.1.3
104
+ const ownUserAgent = `${PACKAGE_NAME}/${PACKAGE_VERSION}`;
105
+ const userAgent = [ownUserAgent, typeof navigator !== "undefined" ? navigator.userAgent : undefined]
106
+ .filter((x) => x !== undefined)
107
+ .join(" ");
108
+ headers["User-Agent"] = userAgent;
109
+ // Make body
110
+ const body = providerHelper.makeBody({
111
+ args: remainingArgs,
112
+ model: resolvedModel,
113
+ task,
114
+ mapping,
115
+ });
116
+ /**
117
+ * For edge runtimes, leave 'credentials' undefined, otherwise cloudflare workers will error
118
+ */
119
+ let credentials;
120
+ if (typeof includeCredentials === "string") {
121
+ credentials = includeCredentials;
122
+ }
123
+ else if (includeCredentials === true) {
124
+ credentials = "include";
125
+ }
126
+ const info = {
127
+ headers,
128
+ method: "POST",
129
+ body: body,
130
+ ...(credentials ? { credentials } : undefined),
131
+ signal,
132
+ };
133
+ return { url, info };
134
+ }
135
+ async function loadDefaultModel(task) {
136
+ if (!tasks) {
137
+ tasks = await loadTaskInfo();
138
+ }
139
+ const taskInfo = tasks[task];
140
+ if ((taskInfo?.models.length ?? 0) <= 0) {
141
+ throw new Error(`No default model defined for task ${task}, please define the model explicitly.`);
142
+ }
143
+ return taskInfo.models[0].id;
144
+ }
145
+ async function loadTaskInfo() {
146
+ const res = await fetch(`${HF_HUB_URL}/api/tasks`);
147
+ if (!res.ok) {
148
+ throw new Error("Failed to load tasks definitions from Hugging Face Hub.");
149
+ }
150
+ return await res.json();
151
+ }
152
+ function removeProviderPrefix(model, provider) {
153
+ if (!model.startsWith(`${provider}/`)) {
154
+ throw new Error(`Models from ${provider} must be prefixed by "${provider}/". Got "${model}".`);
155
+ }
156
+ return model.slice(provider.length + 1);
157
+ }
@@ -0,0 +1,3 @@
1
+ export declare const PACKAGE_VERSION = "3.14.0";
2
+ export declare const PACKAGE_NAME = "@huggingface/inference";
3
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,YAAY,2BAA2B,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Generated file from package.json. Issues importing JSON directly when publishing on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783
2
+ export const PACKAGE_VERSION = "3.14.0";
3
+ export const PACKAGE_NAME = "@huggingface/inference";
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,15 @@
1
+ import type { BodyParams, HeaderParams, UrlParams } from "../types.js";
2
+ import { TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper.js";
3
+ interface BlackForestLabsResponse {
4
+ id: string;
5
+ polling_url: string;
6
+ }
7
+ export declare class BlackForestLabsTextToImageTask extends TaskProviderHelper implements TextToImageTaskHelper {
8
+ constructor();
9
+ preparePayload(params: BodyParams): Record<string, unknown>;
10
+ prepareHeaders(params: HeaderParams, binary: boolean): Record<string, string>;
11
+ makeRoute(params: UrlParams): string;
12
+ getResponse(response: BlackForestLabsResponse, url?: string, headers?: HeadersInit, outputType?: "url" | "blob"): Promise<string | Blob>;
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=black-forest-labs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-forest-labs.d.ts","sourceRoot":"","sources":["../../../src/providers/black-forest-labs.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,UAAU,uBAAuB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,8BAA+B,SAAQ,kBAAmB,YAAW,qBAAqB;;IAKtG,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQlD,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWtF,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAO9B,WAAW,CAChB,QAAQ,EAAE,uBAAuB,EACjC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgCzB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * See the registered mapping of HF model ID => Black Forest Labs model ID here:
3
+ *
4
+ * https://huggingface.co/api/partners/blackforestlabs/models
5
+ *
6
+ * This is a publicly available mapping.
7
+ *
8
+ * If you want to try to run inference for a new model locally before it's registered on huggingface.co,
9
+ * you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
10
+ *
11
+ * - If you work at Black Forest Labs and want to update this mapping, please use the model mapping API we provide on huggingface.co
12
+ * - If you're a community member and want to add a new supported HF model to Black Forest Labs, please open an issue on the present repo
13
+ * and we will tag Black Forest Labs team members.
14
+ *
15
+ * Thanks!
16
+ */
17
+ import { InferenceOutputError } from "../lib/InferenceOutputError.js";
18
+ import { delay } from "../utils/delay.js";
19
+ import { omit } from "../utils/omit.js";
20
+ import { TaskProviderHelper } from "./providerHelper.js";
21
+ const BLACK_FOREST_LABS_AI_API_BASE_URL = "https://api.us1.bfl.ai";
22
+ export class BlackForestLabsTextToImageTask extends TaskProviderHelper {
23
+ constructor() {
24
+ super("black-forest-labs", BLACK_FOREST_LABS_AI_API_BASE_URL);
25
+ }
26
+ preparePayload(params) {
27
+ return {
28
+ ...omit(params.args, ["inputs", "parameters"]),
29
+ ...params.args.parameters,
30
+ prompt: params.args.inputs,
31
+ };
32
+ }
33
+ prepareHeaders(params, binary) {
34
+ const headers = {
35
+ Authorization: params.authMethod !== "provider-key" ? `Bearer ${params.accessToken}` : `X-Key ${params.accessToken}`,
36
+ };
37
+ if (!binary) {
38
+ headers["Content-Type"] = "application/json";
39
+ }
40
+ return headers;
41
+ }
42
+ makeRoute(params) {
43
+ if (!params) {
44
+ throw new Error("Params are required");
45
+ }
46
+ return `/v1/${params.model}`;
47
+ }
48
+ async getResponse(response, url, headers, outputType) {
49
+ const urlObj = new URL(response.polling_url);
50
+ for (let step = 0; step < 5; step++) {
51
+ await delay(1000);
52
+ console.debug(`Polling Black Forest Labs API for the result... ${step + 1}/5`);
53
+ urlObj.searchParams.set("attempt", step.toString(10));
54
+ const resp = await fetch(urlObj, { headers: { "Content-Type": "application/json" } });
55
+ if (!resp.ok) {
56
+ throw new InferenceOutputError("Failed to fetch result from black forest labs API");
57
+ }
58
+ const payload = await resp.json();
59
+ if (typeof payload === "object" &&
60
+ payload &&
61
+ "status" in payload &&
62
+ typeof payload.status === "string" &&
63
+ payload.status === "Ready" &&
64
+ "result" in payload &&
65
+ typeof payload.result === "object" &&
66
+ payload.result &&
67
+ "sample" in payload.result &&
68
+ typeof payload.result.sample === "string") {
69
+ if (outputType === "url") {
70
+ return payload.result.sample;
71
+ }
72
+ const image = await fetch(payload.result.sample);
73
+ return await image.blob();
74
+ }
75
+ }
76
+ throw new InferenceOutputError("Failed to fetch result from black forest labs API");
77
+ }
78
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * See the registered mapping of HF model ID => Cerebras model ID here:
3
+ *
4
+ * https://huggingface.co/api/partners/cerebras/models
5
+ *
6
+ * This is a publicly available mapping.
7
+ *
8
+ * If you want to try to run inference for a new model locally before it's registered on huggingface.co,
9
+ * you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
10
+ *
11
+ * - If you work at Cerebras and want to update this mapping, please use the model mapping API we provide on huggingface.co
12
+ * - If you're a community member and want to add a new supported HF model to Cerebras, please open an issue on the present repo
13
+ * and we will tag Cerebras team members.
14
+ *
15
+ * Thanks!
16
+ */
17
+ import { BaseConversationalTask } from "./providerHelper.js";
18
+ export declare class CerebrasConversationalTask extends BaseConversationalTask {
19
+ constructor();
20
+ }
21
+ //# sourceMappingURL=cerebras.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cerebras.d.ts","sourceRoot":"","sources":["../../../src/providers/cerebras.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,qBAAa,0BAA2B,SAAQ,sBAAsB;;CAIrE"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * See the registered mapping of HF model ID => Cerebras model ID here:
3
+ *
4
+ * https://huggingface.co/api/partners/cerebras/models
5
+ *
6
+ * This is a publicly available mapping.
7
+ *
8
+ * If you want to try to run inference for a new model locally before it's registered on huggingface.co,
9
+ * you can add it to the dictionary "HARDCODED_MODEL_ID_MAPPING" in consts.ts, for dev purposes.
10
+ *
11
+ * - If you work at Cerebras and want to update this mapping, please use the model mapping API we provide on huggingface.co
12
+ * - If you're a community member and want to add a new supported HF model to Cerebras, please open an issue on the present repo
13
+ * and we will tag Cerebras team members.
14
+ *
15
+ * Thanks!
16
+ */
17
+ import { BaseConversationalTask } from "./providerHelper.js";
18
+ export class CerebrasConversationalTask extends BaseConversationalTask {
19
+ constructor() {
20
+ super("cerebras", "https://api.cerebras.ai");
21
+ }
22
+ }