modelfusion 0.110.0 → 0.112.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 (283) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +41 -65
  3. package/core/FunctionEvent.d.ts +3 -3
  4. package/core/api/ApiFacade.cjs +20 -0
  5. package/core/api/ApiFacade.d.ts +4 -0
  6. package/core/api/ApiFacade.js +4 -0
  7. package/core/api/BaseUrlApiConfiguration.cjs +47 -5
  8. package/core/api/BaseUrlApiConfiguration.d.ts +23 -6
  9. package/core/api/BaseUrlApiConfiguration.js +45 -4
  10. package/core/api/BaseUrlApiConfiguration.test.cjs +11 -0
  11. package/core/api/BaseUrlApiConfiguration.test.js +9 -0
  12. package/core/api/callWithRetryAndThrottle.cjs +3 -3
  13. package/core/api/callWithRetryAndThrottle.js +3 -3
  14. package/core/api/index.cjs +15 -2
  15. package/core/api/index.d.ts +2 -2
  16. package/core/api/index.js +2 -2
  17. package/core/api/postToApi.cjs +28 -5
  18. package/core/api/postToApi.d.ts +5 -4
  19. package/core/api/postToApi.js +26 -4
  20. package/core/api/throttleOff.cjs +8 -0
  21. package/core/api/throttleOff.d.ts +5 -0
  22. package/core/api/throttleOff.js +4 -0
  23. package/internal/index.cjs +2 -8
  24. package/internal/index.d.ts +1 -1
  25. package/internal/index.js +1 -1
  26. package/model-function/ModelCallEvent.d.ts +3 -3
  27. package/model-function/generate-structure/generateStructure.d.ts +1 -1
  28. package/model-function/generate-text/PromptTemplateFullTextModel.cjs +2 -2
  29. package/model-function/generate-text/PromptTemplateFullTextModel.d.ts +3 -3
  30. package/model-function/generate-text/PromptTemplateFullTextModel.js +2 -2
  31. package/model-function/generate-text/PromptTemplateTextGenerationModel.cjs +2 -2
  32. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +3 -3
  33. package/model-function/generate-text/PromptTemplateTextGenerationModel.js +2 -2
  34. package/model-provider/anthropic/AnthropicApiConfiguration.cjs +14 -6
  35. package/model-provider/anthropic/AnthropicApiConfiguration.d.ts +7 -8
  36. package/model-provider/anthropic/AnthropicApiConfiguration.js +15 -7
  37. package/model-provider/anthropic/AnthropicError.cjs +7 -27
  38. package/model-provider/anthropic/AnthropicError.d.ts +21 -16
  39. package/model-provider/anthropic/AnthropicError.js +7 -25
  40. package/model-provider/anthropic/AnthropicFacade.cjs +10 -1
  41. package/model-provider/anthropic/AnthropicFacade.d.ts +9 -0
  42. package/model-provider/anthropic/AnthropicFacade.js +8 -0
  43. package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +22 -24
  44. package/model-provider/anthropic/AnthropicTextGenerationModel.js +23 -25
  45. package/model-provider/anthropic/index.cjs +1 -4
  46. package/model-provider/anthropic/index.d.ts +1 -1
  47. package/model-provider/anthropic/index.js +0 -1
  48. package/model-provider/automatic1111/Automatic1111ApiConfiguration.cjs +12 -4
  49. package/model-provider/automatic1111/Automatic1111ApiConfiguration.d.ts +3 -3
  50. package/model-provider/automatic1111/Automatic1111ApiConfiguration.js +12 -4
  51. package/model-provider/automatic1111/Automatic1111Error.cjs +3 -3
  52. package/model-provider/automatic1111/Automatic1111Error.d.ts +13 -3
  53. package/model-provider/automatic1111/Automatic1111Error.js +4 -4
  54. package/model-provider/automatic1111/Automatic1111Facade.cjs +9 -9
  55. package/model-provider/automatic1111/Automatic1111Facade.d.ts +6 -6
  56. package/model-provider/automatic1111/Automatic1111Facade.js +7 -7
  57. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +11 -7
  58. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +11 -7
  59. package/model-provider/cohere/CohereApiConfiguration.cjs +14 -6
  60. package/model-provider/cohere/CohereApiConfiguration.d.ts +7 -8
  61. package/model-provider/cohere/CohereApiConfiguration.js +15 -7
  62. package/model-provider/cohere/CohereError.cjs +8 -43
  63. package/model-provider/cohere/CohereError.d.ts +9 -16
  64. package/model-provider/cohere/CohereError.js +8 -41
  65. package/model-provider/cohere/CohereFacade.cjs +12 -3
  66. package/model-provider/cohere/CohereFacade.d.ts +11 -2
  67. package/model-provider/cohere/CohereFacade.js +10 -2
  68. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +18 -22
  69. package/model-provider/cohere/CohereTextEmbeddingModel.js +18 -22
  70. package/model-provider/cohere/CohereTextGenerationModel.cjs +31 -39
  71. package/model-provider/cohere/CohereTextGenerationModel.d.ts +110 -8
  72. package/model-provider/cohere/CohereTextGenerationModel.js +31 -39
  73. package/model-provider/cohere/CohereTokenizer.cjs +32 -41
  74. package/model-provider/cohere/CohereTokenizer.d.ts +2 -2
  75. package/model-provider/cohere/CohereTokenizer.js +32 -41
  76. package/model-provider/cohere/index.cjs +1 -3
  77. package/model-provider/cohere/index.d.ts +1 -1
  78. package/model-provider/cohere/index.js +0 -1
  79. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.cjs +14 -6
  80. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.d.ts +7 -8
  81. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.js +15 -7
  82. package/model-provider/elevenlabs/ElevenLabsFacade.cjs +10 -1
  83. package/model-provider/elevenlabs/ElevenLabsFacade.d.ts +9 -0
  84. package/model-provider/elevenlabs/ElevenLabsFacade.js +8 -0
  85. package/model-provider/elevenlabs/ElevenLabsSpeechModel.cjs +42 -53
  86. package/model-provider/elevenlabs/ElevenLabsSpeechModel.js +44 -55
  87. package/model-provider/huggingface/HuggingFaceApiConfiguration.cjs +14 -6
  88. package/model-provider/huggingface/HuggingFaceApiConfiguration.d.ts +7 -8
  89. package/model-provider/huggingface/HuggingFaceApiConfiguration.js +15 -7
  90. package/model-provider/huggingface/HuggingFaceError.cjs +7 -29
  91. package/model-provider/huggingface/HuggingFaceError.d.ts +9 -16
  92. package/model-provider/huggingface/HuggingFaceError.js +7 -27
  93. package/model-provider/huggingface/HuggingFaceFacade.cjs +10 -1
  94. package/model-provider/huggingface/HuggingFaceFacade.d.ts +9 -0
  95. package/model-provider/huggingface/HuggingFaceFacade.js +8 -0
  96. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.cjs +17 -27
  97. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.js +17 -27
  98. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +22 -23
  99. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +22 -23
  100. package/model-provider/huggingface/index.cjs +1 -3
  101. package/model-provider/huggingface/index.d.ts +1 -1
  102. package/model-provider/huggingface/index.js +0 -1
  103. package/model-provider/llamacpp/LlamaCppApiConfiguration.cjs +13 -6
  104. package/model-provider/llamacpp/LlamaCppApiConfiguration.d.ts +7 -9
  105. package/model-provider/llamacpp/LlamaCppApiConfiguration.js +14 -7
  106. package/model-provider/llamacpp/LlamaCppCompletionModel.cjs +4 -4
  107. package/model-provider/llamacpp/LlamaCppCompletionModel.d.ts +173 -5
  108. package/model-provider/llamacpp/LlamaCppCompletionModel.js +4 -4
  109. package/model-provider/llamacpp/LlamaCppError.cjs +7 -27
  110. package/model-provider/llamacpp/LlamaCppError.d.ts +9 -16
  111. package/model-provider/llamacpp/LlamaCppError.js +7 -25
  112. package/model-provider/llamacpp/LlamaCppFacade.cjs +10 -2
  113. package/model-provider/llamacpp/LlamaCppFacade.d.ts +8 -1
  114. package/model-provider/llamacpp/LlamaCppFacade.js +8 -1
  115. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.cjs +10 -14
  116. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.js +10 -14
  117. package/model-provider/llamacpp/LlamaCppTokenizer.cjs +14 -18
  118. package/model-provider/llamacpp/LlamaCppTokenizer.js +14 -18
  119. package/model-provider/llamacpp/index.cjs +1 -3
  120. package/model-provider/llamacpp/index.d.ts +1 -1
  121. package/model-provider/llamacpp/index.js +0 -1
  122. package/model-provider/lmnt/LmntApiConfiguration.cjs +14 -6
  123. package/model-provider/lmnt/LmntApiConfiguration.d.ts +7 -8
  124. package/model-provider/lmnt/LmntApiConfiguration.js +15 -7
  125. package/model-provider/lmnt/LmntFacade.cjs +11 -2
  126. package/model-provider/lmnt/LmntFacade.d.ts +10 -1
  127. package/model-provider/lmnt/LmntFacade.js +9 -1
  128. package/model-provider/lmnt/LmntSpeechModel.cjs +53 -41
  129. package/model-provider/lmnt/LmntSpeechModel.d.ts +51 -3
  130. package/model-provider/lmnt/LmntSpeechModel.js +54 -42
  131. package/model-provider/mistral/MistralApiConfiguration.cjs +14 -6
  132. package/model-provider/mistral/MistralApiConfiguration.d.ts +9 -11
  133. package/model-provider/mistral/MistralApiConfiguration.js +15 -7
  134. package/model-provider/mistral/MistralChatModel.cjs +4 -4
  135. package/model-provider/mistral/MistralChatModel.d.ts +52 -7
  136. package/model-provider/mistral/MistralChatModel.js +5 -5
  137. package/model-provider/mistral/MistralError.cjs +3 -3
  138. package/model-provider/mistral/MistralError.d.ts +15 -3
  139. package/model-provider/mistral/MistralError.js +4 -4
  140. package/model-provider/mistral/MistralFacade.cjs +5 -1
  141. package/model-provider/mistral/MistralFacade.d.ts +10 -3
  142. package/model-provider/mistral/MistralFacade.js +6 -2
  143. package/model-provider/mistral/MistralTextEmbeddingModel.cjs +2 -1
  144. package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +3 -3
  145. package/model-provider/mistral/MistralTextEmbeddingModel.js +2 -1
  146. package/model-provider/ollama/OllamaApiConfiguration.cjs +13 -6
  147. package/model-provider/ollama/OllamaApiConfiguration.d.ts +7 -10
  148. package/model-provider/ollama/OllamaApiConfiguration.js +14 -7
  149. package/model-provider/ollama/OllamaChatModel.cjs +6 -6
  150. package/model-provider/ollama/OllamaChatModel.d.ts +49 -8
  151. package/model-provider/ollama/OllamaChatModel.js +7 -7
  152. package/model-provider/ollama/OllamaCompletionModel.cjs +6 -6
  153. package/model-provider/ollama/OllamaCompletionModel.d.ts +43 -8
  154. package/model-provider/ollama/OllamaCompletionModel.js +7 -7
  155. package/model-provider/ollama/OllamaError.cjs +3 -3
  156. package/model-provider/ollama/OllamaError.d.ts +7 -3
  157. package/model-provider/ollama/OllamaError.js +4 -4
  158. package/model-provider/ollama/OllamaFacade.cjs +6 -2
  159. package/model-provider/ollama/OllamaFacade.d.ts +8 -3
  160. package/model-provider/ollama/OllamaFacade.js +6 -2
  161. package/model-provider/ollama/OllamaTextEmbeddingModel.cjs +15 -16
  162. package/model-provider/ollama/OllamaTextEmbeddingModel.js +15 -16
  163. package/model-provider/openai/AbstractOpenAIChatModel.cjs +5 -5
  164. package/model-provider/openai/AbstractOpenAIChatModel.d.ts +155 -9
  165. package/model-provider/openai/AbstractOpenAIChatModel.js +5 -5
  166. package/model-provider/openai/AbstractOpenAICompletionModel.cjs +30 -32
  167. package/model-provider/openai/AbstractOpenAICompletionModel.d.ts +4 -4
  168. package/model-provider/openai/AbstractOpenAICompletionModel.js +30 -32
  169. package/model-provider/openai/AzureOpenAIApiConfiguration.d.ts +9 -8
  170. package/model-provider/openai/OpenAIApiConfiguration.cjs +14 -6
  171. package/model-provider/openai/OpenAIApiConfiguration.d.ts +7 -8
  172. package/model-provider/openai/OpenAIApiConfiguration.js +15 -7
  173. package/model-provider/openai/OpenAIChatFunctionCallStructureGenerationModel.d.ts +1 -1
  174. package/model-provider/openai/OpenAIChatModel.d.ts +2 -2
  175. package/model-provider/openai/OpenAIError.cjs +8 -8
  176. package/model-provider/openai/OpenAIError.d.ts +27 -3
  177. package/model-provider/openai/OpenAIError.js +9 -9
  178. package/model-provider/openai/OpenAIFacade.cjs +23 -2
  179. package/model-provider/openai/OpenAIFacade.d.ts +20 -2
  180. package/model-provider/openai/OpenAIFacade.js +20 -1
  181. package/model-provider/openai/OpenAIImageGenerationModel.cjs +20 -21
  182. package/model-provider/openai/OpenAIImageGenerationModel.js +20 -21
  183. package/model-provider/openai/OpenAISpeechModel.cjs +17 -22
  184. package/model-provider/openai/OpenAISpeechModel.js +17 -22
  185. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +18 -23
  186. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +3 -3
  187. package/model-provider/openai/OpenAITextEmbeddingModel.js +18 -23
  188. package/model-provider/openai/OpenAITranscriptionModel.cjs +42 -48
  189. package/model-provider/openai/OpenAITranscriptionModel.d.ts +14 -10
  190. package/model-provider/openai/OpenAITranscriptionModel.js +42 -48
  191. package/model-provider/openai-compatible/FireworksAIApiConfiguration.cjs +11 -7
  192. package/model-provider/openai-compatible/FireworksAIApiConfiguration.d.ts +4 -9
  193. package/model-provider/openai-compatible/FireworksAIApiConfiguration.js +12 -8
  194. package/model-provider/openai-compatible/OpenAICompatibleChatModel.d.ts +2 -2
  195. package/model-provider/openai-compatible/OpenAICompatibleFacade.cjs +25 -1
  196. package/model-provider/openai-compatible/OpenAICompatibleFacade.d.ts +23 -0
  197. package/model-provider/openai-compatible/OpenAICompatibleFacade.js +22 -0
  198. package/model-provider/openai-compatible/TogetherAIApiConfiguration.cjs +11 -7
  199. package/model-provider/openai-compatible/TogetherAIApiConfiguration.d.ts +4 -9
  200. package/model-provider/openai-compatible/TogetherAIApiConfiguration.js +12 -8
  201. package/model-provider/stability/StabilityApiConfiguration.cjs +13 -12
  202. package/model-provider/stability/StabilityApiConfiguration.d.ts +4 -4
  203. package/model-provider/stability/StabilityApiConfiguration.js +13 -12
  204. package/model-provider/stability/StabilityError.cjs +3 -3
  205. package/model-provider/stability/StabilityError.d.ts +7 -3
  206. package/model-provider/stability/StabilityError.js +4 -4
  207. package/model-provider/stability/StabilityFacade.cjs +9 -9
  208. package/model-provider/stability/StabilityFacade.d.ts +8 -8
  209. package/model-provider/stability/StabilityFacade.js +7 -7
  210. package/model-provider/stability/StabilityImageGenerationModel.cjs +2 -1
  211. package/model-provider/stability/StabilityImageGenerationModel.js +2 -1
  212. package/model-provider/whispercpp/WhisperCppApiConfiguration.cjs +13 -6
  213. package/model-provider/whispercpp/WhisperCppApiConfiguration.d.ts +7 -10
  214. package/model-provider/whispercpp/WhisperCppApiConfiguration.js +14 -7
  215. package/model-provider/whispercpp/WhisperCppFacade.cjs +9 -5
  216. package/model-provider/whispercpp/WhisperCppFacade.d.ts +7 -2
  217. package/model-provider/whispercpp/WhisperCppFacade.js +8 -4
  218. package/model-provider/whispercpp/WhisperCppTranscriptionModel.cjs +5 -2
  219. package/model-provider/whispercpp/WhisperCppTranscriptionModel.js +6 -3
  220. package/package.json +1 -1
  221. package/tool/Tool.cjs +0 -10
  222. package/tool/Tool.d.ts +0 -1
  223. package/tool/Tool.js +0 -10
  224. package/tool/WebSearchTool.cjs +2 -2
  225. package/tool/WebSearchTool.d.ts +1 -2
  226. package/tool/WebSearchTool.js +3 -3
  227. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs → generate-tool-calls/TextGenerationToolCallsModel.cjs} +7 -7
  228. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts → generate-tool-calls/TextGenerationToolCallsModel.d.ts} +6 -6
  229. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js → generate-tool-calls/TextGenerationToolCallsModel.js} +5 -5
  230. package/tool/generate-tool-calls/ToolCallsGenerationEvent.d.ts +23 -0
  231. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.d.ts → generate-tool-calls/ToolCallsGenerationModel.d.ts} +3 -3
  232. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.cjs → generate-tool-calls/ToolCallsParseError.cjs} +5 -5
  233. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.d.ts → generate-tool-calls/ToolCallsParseError.d.ts} +1 -1
  234. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.js → generate-tool-calls/ToolCallsParseError.js} +3 -3
  235. package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.d.ts → generate-tool-calls/ToolCallsPromptTemplate.d.ts} +1 -1
  236. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.cjs → generate-tool-calls/generateToolCalls.cjs} +5 -5
  237. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.d.ts → generate-tool-calls/generateToolCalls.d.ts} +3 -3
  238. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.js → generate-tool-calls/generateToolCalls.js} +3 -3
  239. package/tool/{generate-tool-calls-or-text → generate-tool-calls}/index.cjs +6 -6
  240. package/tool/generate-tool-calls/index.d.ts +6 -0
  241. package/tool/generate-tool-calls/index.js +6 -0
  242. package/tool/index.cjs +2 -3
  243. package/tool/index.d.ts +2 -3
  244. package/tool/index.js +2 -3
  245. package/tool/use-tools/UseToolsEvent.d.ts +7 -0
  246. package/tool/use-tools/UseToolsEvent.js +1 -0
  247. package/tool/{use-tools-or-generate-text → use-tools}/index.cjs +2 -2
  248. package/tool/use-tools/index.d.ts +2 -0
  249. package/tool/use-tools/index.js +2 -0
  250. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.cjs → use-tools/useTools.cjs} +6 -6
  251. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.d.ts → use-tools/useTools.d.ts} +2 -2
  252. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.js → use-tools/useTools.js} +4 -4
  253. package/vector-index/memory/MemoryVectorIndex.cjs +2 -2
  254. package/vector-index/memory/MemoryVectorIndex.js +3 -3
  255. package/core/api/BaseUrlPartsApiConfiguration.cjs +0 -53
  256. package/core/api/BaseUrlPartsApiConfiguration.d.ts +0 -26
  257. package/core/api/BaseUrlPartsApiConfiguration.js +0 -49
  258. package/core/api/throttleUnlimitedConcurrency.cjs +0 -8
  259. package/core/api/throttleUnlimitedConcurrency.d.ts +0 -5
  260. package/core/api/throttleUnlimitedConcurrency.js +0 -4
  261. package/model-provider/elevenlabs/ElevenLabsError.cjs +0 -30
  262. package/model-provider/elevenlabs/ElevenLabsError.d.ts +0 -3
  263. package/model-provider/elevenlabs/ElevenLabsError.js +0 -26
  264. package/model-provider/lmnt/LmntError.cjs +0 -30
  265. package/model-provider/lmnt/LmntError.d.ts +0 -3
  266. package/model-provider/lmnt/LmntError.js +0 -26
  267. package/tool/InvalidToolNameError.cjs +0 -17
  268. package/tool/InvalidToolNameError.d.ts +0 -7
  269. package/tool/InvalidToolNameError.js +0 -13
  270. package/tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.d.ts +0 -23
  271. package/tool/generate-tool-calls-or-text/index.d.ts +0 -6
  272. package/tool/generate-tool-calls-or-text/index.js +0 -6
  273. package/tool/use-tools-or-generate-text/UseToolsOrGenerateTextEvent.d.ts +0 -7
  274. package/tool/use-tools-or-generate-text/index.d.ts +0 -2
  275. package/tool/use-tools-or-generate-text/index.js +0 -2
  276. /package/{tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js → core/api/BaseUrlApiConfiguration.test.d.ts} +0 -0
  277. /package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.cjs → generate-tool-calls/ToolCallsGenerationEvent.cjs} +0 -0
  278. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.js → generate-tool-calls/ToolCallsGenerationEvent.js} +0 -0
  279. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.cjs → generate-tool-calls/ToolCallsGenerationModel.cjs} +0 -0
  280. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js → generate-tool-calls/ToolCallsGenerationModel.js} +0 -0
  281. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.cjs → generate-tool-calls/ToolCallsPromptTemplate.cjs} +0 -0
  282. /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.js → generate-tool-calls/ToolCallsPromptTemplate.js} +0 -0
  283. /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.cjs → use-tools/UseToolsEvent.cjs} +0 -0
@@ -1,13 +1,12 @@
1
1
  import { z } from "zod";
2
2
  import { callWithRetryAndThrottle } from "../../core/api/callWithRetryAndThrottle.js";
3
- import { createAudioMpegResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
- import { ZodSchema } from "../../core/schema/ZodSchema.js";
3
+ import { createAudioMpegResponseHandler, createTextErrorResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
5
+ import { safeParseJSON } from "../../core/schema/parseJSON.js";
5
6
  import { AbstractModel } from "../../model-function/AbstractModel.js";
6
7
  import { AsyncQueue } from "../../util/AsyncQueue.js";
7
8
  import { createSimpleWebSocket } from "../../util/SimpleWebSocket.js";
8
- import { safeParseJSON } from "../../core/schema/parseJSON.js";
9
9
  import { ElevenLabsApiConfiguration } from "./ElevenLabsApiConfiguration.js";
10
- import { failedElevenLabsCallResponseHandler } from "./ElevenLabsError.js";
11
10
  const elevenLabsModels = [
12
11
  "eleven_multilingual_v2",
13
12
  "eleven_multilingual_v1",
@@ -15,27 +14,6 @@ const elevenLabsModels = [
15
14
  "eleven_turbo_v2",
16
15
  ];
17
16
  const defaultModel = "eleven_monolingual_v1";
18
- const streamingResponseSchema = new ZodSchema(z.union([
19
- z.object({
20
- audio: z.string(),
21
- isFinal: z.literal(false).nullable(),
22
- normalizedAlignment: z
23
- .object({
24
- chars: z.array(z.string()),
25
- charStartTimesMs: z.array(z.number()),
26
- charDurationsMs: z.array(z.number()),
27
- })
28
- .nullable(),
29
- }),
30
- z.object({
31
- isFinal: z.literal(true),
32
- }),
33
- z.object({
34
- message: z.string(),
35
- error: z.string(),
36
- code: z.number(),
37
- }),
38
- ]));
39
17
  /**
40
18
  * Synthesize speech using the ElevenLabs Text to Speech API.
41
19
  *
@@ -58,16 +36,25 @@ export class ElevenLabsSpeechModel extends AbstractModel {
58
36
  return this.settings.voice;
59
37
  }
60
38
  async callAPI(text, options) {
39
+ const api = this.settings.api ?? new ElevenLabsApiConfiguration();
40
+ const abortSignal = options?.run?.abortSignal;
61
41
  return callWithRetryAndThrottle({
62
- retry: this.settings.api?.retry,
63
- throttle: this.settings.api?.throttle,
64
- call: async () => callElevenLabsTextToSpeechAPI({
65
- api: this.settings.api,
66
- abortSignal: options?.run?.abortSignal,
67
- text,
68
- voiceId: this.settings.voice,
69
- modelId: this.settings.model,
70
- voiceSettings: this.settings.voiceSettings,
42
+ retry: api.retry,
43
+ throttle: api.throttle,
44
+ call: async () => postJsonToApi({
45
+ url: api.assembleUrl(`/text-to-speech/${this.settings.voice}${assembleQuery({
46
+ optimize_streaming_latency: this.settings.optimizeStreamingLatency,
47
+ output_format: this.settings.outputFormat,
48
+ })}`),
49
+ headers: api.headers,
50
+ body: {
51
+ text,
52
+ model_id: this.settings.model ?? defaultModel,
53
+ voice_settings: toApiVoiceSettings(this.settings.voiceSettings),
54
+ },
55
+ failedResponseHandler: createTextErrorResponseHandler(),
56
+ successfulResponseHandler: createAudioMpegResponseHandler(),
57
+ abortSignal,
71
58
  }),
72
59
  });
73
60
  }
@@ -132,7 +119,7 @@ export class ElevenLabsSpeechModel extends AbstractModel {
132
119
  socket.onmessage = (event) => {
133
120
  const parseResult = safeParseJSON({
134
121
  text: event.data,
135
- schema: streamingResponseSchema,
122
+ schema: zodSchema(streamingResponseSchema),
136
123
  });
137
124
  if (!parseResult.success) {
138
125
  queue.push({ type: "error", error: parseResult.error });
@@ -165,23 +152,27 @@ export class ElevenLabsSpeechModel extends AbstractModel {
165
152
  });
166
153
  }
167
154
  }
168
- async function callElevenLabsTextToSpeechAPI({ api = new ElevenLabsApiConfiguration(), abortSignal, text, voiceId, modelId, optimizeStreamingLatency, outputFormat, voiceSettings, }) {
169
- return postJsonToApi({
170
- url: api.assembleUrl(`/text-to-speech/${voiceId}${assembleQuery({
171
- optimize_streaming_latency: optimizeStreamingLatency,
172
- output_format: outputFormat,
173
- })}`),
174
- headers: api.headers,
175
- body: {
176
- text,
177
- model_id: modelId ?? defaultModel,
178
- voice_settings: toApiVoiceSettings(voiceSettings),
179
- },
180
- failedResponseHandler: failedElevenLabsCallResponseHandler,
181
- successfulResponseHandler: createAudioMpegResponseHandler(),
182
- abortSignal,
183
- });
184
- }
155
+ const streamingResponseSchema = z.union([
156
+ z.object({
157
+ audio: z.string(),
158
+ isFinal: z.literal(false).nullable(),
159
+ normalizedAlignment: z
160
+ .object({
161
+ chars: z.array(z.string()),
162
+ charStartTimesMs: z.array(z.number()),
163
+ charDurationsMs: z.array(z.number()),
164
+ })
165
+ .nullable(),
166
+ }),
167
+ z.object({
168
+ isFinal: z.literal(true),
169
+ }),
170
+ z.object({
171
+ message: z.string(),
172
+ error: z.string(),
173
+ code: z.number(),
174
+ }),
175
+ ]);
185
176
  function assembleQuery(parameters) {
186
177
  let query = "";
187
178
  let hasQuestionMark = false;
@@ -212,8 +203,6 @@ function toApiVoiceSettings(voiceSettings) {
212
203
  }
213
204
  function toGenerationConfig(generationConfig) {
214
205
  return generationConfig != null
215
- ? {
216
- chunk_length_schedule: generationConfig.chunkLengthSchedule,
217
- }
206
+ ? { chunk_length_schedule: generationConfig.chunkLengthSchedule }
218
207
  : undefined;
219
208
  }
@@ -3,19 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HuggingFaceApiConfiguration = void 0;
4
4
  const BaseUrlApiConfiguration_js_1 = require("../../core/api/BaseUrlApiConfiguration.cjs");
5
5
  const loadApiKey_js_1 = require("../../core/api/loadApiKey.cjs");
6
- class HuggingFaceApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfiguration {
7
- constructor({ baseUrl = "https://api-inference.huggingface.co/models", apiKey, retry, throttle, } = {}) {
6
+ /**
7
+ * Creates an API configuration for the HuggingFace API.
8
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
9
+ */
10
+ class HuggingFaceApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfigurationWithDefaults {
11
+ constructor(settings = {}) {
8
12
  super({
9
- baseUrl,
13
+ ...settings,
10
14
  headers: {
11
15
  Authorization: `Bearer ${(0, loadApiKey_js_1.loadApiKey)({
12
- apiKey,
16
+ apiKey: settings.apiKey,
13
17
  environmentVariableName: "HUGGINGFACE_API_KEY",
14
18
  description: "Hugging Face",
15
19
  })}`,
16
20
  },
17
- retry,
18
- throttle,
21
+ baseUrlDefaults: {
22
+ protocol: "https",
23
+ host: "api-inference.huggingface.co",
24
+ port: "443",
25
+ path: "/models",
26
+ },
19
27
  });
20
28
  }
21
29
  }
@@ -1,11 +1,10 @@
1
- import { BaseUrlApiConfiguration } from "../../core/api/BaseUrlApiConfiguration.js";
2
- import { RetryFunction } from "../../core/api/RetryFunction.js";
3
- import { ThrottleFunction } from "../../core/api/ThrottleFunction.js";
4
- export declare class HuggingFaceApiConfiguration extends BaseUrlApiConfiguration {
5
- constructor({ baseUrl, apiKey, retry, throttle, }?: {
6
- baseUrl?: string;
1
+ import { BaseUrlApiConfigurationWithDefaults, PartialBaseUrlPartsApiConfigurationOptions } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ /**
3
+ * Creates an API configuration for the HuggingFace API.
4
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
5
+ */
6
+ export declare class HuggingFaceApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
7
+ constructor(settings?: PartialBaseUrlPartsApiConfigurationOptions & {
7
8
  apiKey?: string;
8
- retry?: RetryFunction;
9
- throttle?: ThrottleFunction;
10
9
  });
11
10
  }
@@ -1,18 +1,26 @@
1
- import { BaseUrlApiConfiguration } from "../../core/api/BaseUrlApiConfiguration.js";
1
+ import { BaseUrlApiConfigurationWithDefaults, } from "../../core/api/BaseUrlApiConfiguration.js";
2
2
  import { loadApiKey } from "../../core/api/loadApiKey.js";
3
- export class HuggingFaceApiConfiguration extends BaseUrlApiConfiguration {
4
- constructor({ baseUrl = "https://api-inference.huggingface.co/models", apiKey, retry, throttle, } = {}) {
3
+ /**
4
+ * Creates an API configuration for the HuggingFace API.
5
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
6
+ */
7
+ export class HuggingFaceApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
8
+ constructor(settings = {}) {
5
9
  super({
6
- baseUrl,
10
+ ...settings,
7
11
  headers: {
8
12
  Authorization: `Bearer ${loadApiKey({
9
- apiKey,
13
+ apiKey: settings.apiKey,
10
14
  environmentVariableName: "HUGGINGFACE_API_KEY",
11
15
  description: "Hugging Face",
12
16
  })}`,
13
17
  },
14
- retry,
15
- throttle,
18
+ baseUrlDefaults: {
19
+ protocol: "https",
20
+ host: "api-inference.huggingface.co",
21
+ port: "443",
22
+ path: "/models",
23
+ },
16
24
  });
17
25
  }
18
26
  }
@@ -1,35 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.failedHuggingFaceCallResponseHandler = exports.HuggingFaceError = exports.huggingFaceErrorDataSchema = void 0;
3
+ exports.failedHuggingFaceCallResponseHandler = void 0;
4
4
  const zod_1 = require("zod");
5
- const ApiCallError_js_1 = require("../../core/api/ApiCallError.cjs");
6
- const parseJSON_js_1 = require("../../core/schema/parseJSON.cjs");
5
+ const postToApi_js_1 = require("../../core/api/postToApi.cjs");
7
6
  const ZodSchema_js_1 = require("../../core/schema/ZodSchema.cjs");
8
- exports.huggingFaceErrorDataSchema = new ZodSchema_js_1.ZodSchema(zod_1.z.object({
7
+ const huggingFaceErrorDataSchema = zod_1.z.object({
9
8
  error: zod_1.z.array(zod_1.z.string()).or(zod_1.z.string()),
10
- }));
11
- class HuggingFaceError extends ApiCallError_js_1.ApiCallError {
12
- constructor({ data, statusCode, url, requestBodyValues, message = typeof data.error === "string"
13
- ? data.error
14
- : data.error.join("\n\n"), }) {
15
- super({ message, statusCode, requestBodyValues, url });
16
- Object.defineProperty(this, "data", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: void 0
21
- });
22
- this.data = data;
23
- }
24
- }
25
- exports.HuggingFaceError = HuggingFaceError;
26
- const failedHuggingFaceCallResponseHandler = async ({ response, url, requestBodyValues }) => new HuggingFaceError({
27
- url,
28
- requestBodyValues,
29
- statusCode: response.status,
30
- data: (0, parseJSON_js_1.parseJSON)({
31
- text: await response.text(),
32
- schema: exports.huggingFaceErrorDataSchema,
33
- }),
34
9
  });
35
- exports.failedHuggingFaceCallResponseHandler = failedHuggingFaceCallResponseHandler;
10
+ exports.failedHuggingFaceCallResponseHandler = (0, postToApi_js_1.createJsonErrorResponseHandler)({
11
+ errorSchema: (0, ZodSchema_js_1.zodSchema)(huggingFaceErrorDataSchema),
12
+ errorToMessage: (data) => typeof data.error === "string" ? data.error : data.error.join("\n\n"),
13
+ });
@@ -1,18 +1,11 @@
1
- import { ApiCallError } from "../../core/api/ApiCallError.js";
2
- import { ResponseHandler } from "../../core/api/postToApi.js";
3
- import { ZodSchema } from "../../core/schema/ZodSchema.js";
4
- export declare const huggingFaceErrorDataSchema: ZodSchema<{
1
+ import { z } from "zod";
2
+ declare const huggingFaceErrorDataSchema: z.ZodObject<{
3
+ error: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>;
4
+ }, "strip", z.ZodTypeAny, {
5
+ error: (string | string[]) & (string | string[] | undefined);
6
+ }, {
5
7
  error: (string | string[]) & (string | string[] | undefined);
6
8
  }>;
7
- export type HuggingFaceErrorData = (typeof huggingFaceErrorDataSchema)["_type"];
8
- export declare class HuggingFaceError extends ApiCallError {
9
- readonly data: HuggingFaceErrorData;
10
- constructor({ data, statusCode, url, requestBodyValues, message, }: {
11
- message?: string;
12
- statusCode: number;
13
- url: string;
14
- requestBodyValues: unknown;
15
- data: HuggingFaceErrorData;
16
- });
17
- }
18
- export declare const failedHuggingFaceCallResponseHandler: ResponseHandler<ApiCallError>;
9
+ export type HuggingFaceErrorData = z.infer<typeof huggingFaceErrorDataSchema>;
10
+ export declare const failedHuggingFaceCallResponseHandler: import("../../core/api/postToApi.js").ResponseHandler<import("../../index.js").ApiCallError>;
11
+ export {};
@@ -1,30 +1,10 @@
1
1
  import { z } from "zod";
2
- import { ApiCallError } from "../../core/api/ApiCallError.js";
3
- import { parseJSON } from "../../core/schema/parseJSON.js";
4
- import { ZodSchema } from "../../core/schema/ZodSchema.js";
5
- export const huggingFaceErrorDataSchema = new ZodSchema(z.object({
2
+ import { createJsonErrorResponseHandler } from "../../core/api/postToApi.js";
3
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
4
+ const huggingFaceErrorDataSchema = z.object({
6
5
  error: z.array(z.string()).or(z.string()),
7
- }));
8
- export class HuggingFaceError extends ApiCallError {
9
- constructor({ data, statusCode, url, requestBodyValues, message = typeof data.error === "string"
10
- ? data.error
11
- : data.error.join("\n\n"), }) {
12
- super({ message, statusCode, requestBodyValues, url });
13
- Object.defineProperty(this, "data", {
14
- enumerable: true,
15
- configurable: true,
16
- writable: true,
17
- value: void 0
18
- });
19
- this.data = data;
20
- }
21
- }
22
- export const failedHuggingFaceCallResponseHandler = async ({ response, url, requestBodyValues }) => new HuggingFaceError({
23
- url,
24
- requestBodyValues,
25
- statusCode: response.status,
26
- data: parseJSON({
27
- text: await response.text(),
28
- schema: huggingFaceErrorDataSchema,
29
- }),
6
+ });
7
+ export const failedHuggingFaceCallResponseHandler = createJsonErrorResponseHandler({
8
+ errorSchema: zodSchema(huggingFaceErrorDataSchema),
9
+ errorToMessage: (data) => typeof data.error === "string" ? data.error : data.error.join("\n\n"),
30
10
  });
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextEmbedder = exports.TextGenerator = void 0;
3
+ exports.TextEmbedder = exports.TextGenerator = exports.Api = void 0;
4
+ const HuggingFaceApiConfiguration_js_1 = require("./HuggingFaceApiConfiguration.cjs");
4
5
  const HuggingFaceTextEmbeddingModel_js_1 = require("./HuggingFaceTextEmbeddingModel.cjs");
5
6
  const HuggingFaceTextGenerationModel_js_1 = require("./HuggingFaceTextGenerationModel.cjs");
7
+ /**
8
+ * Creates an API configuration for the HuggingFace API.
9
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
10
+ */
11
+ function Api(settings) {
12
+ return new HuggingFaceApiConfiguration_js_1.HuggingFaceApiConfiguration(settings);
13
+ }
14
+ exports.Api = Api;
6
15
  /**
7
16
  * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
8
17
  *
@@ -1,5 +1,14 @@
1
+ import { PartialBaseUrlPartsApiConfigurationOptions } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ import { HuggingFaceApiConfiguration } from "./HuggingFaceApiConfiguration.js";
1
3
  import { HuggingFaceTextEmbeddingModel, HuggingFaceTextEmbeddingModelSettings } from "./HuggingFaceTextEmbeddingModel.js";
2
4
  import { HuggingFaceTextGenerationModel, HuggingFaceTextGenerationModelSettings } from "./HuggingFaceTextGenerationModel.js";
5
+ /**
6
+ * Creates an API configuration for the HuggingFace API.
7
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
8
+ */
9
+ export declare function Api(settings: PartialBaseUrlPartsApiConfigurationOptions & {
10
+ apiKey?: string;
11
+ }): HuggingFaceApiConfiguration;
3
12
  /**
4
13
  * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
5
14
  *
@@ -1,5 +1,13 @@
1
+ import { HuggingFaceApiConfiguration } from "./HuggingFaceApiConfiguration.js";
1
2
  import { HuggingFaceTextEmbeddingModel, } from "./HuggingFaceTextEmbeddingModel.js";
2
3
  import { HuggingFaceTextGenerationModel, } from "./HuggingFaceTextGenerationModel.js";
4
+ /**
5
+ * Creates an API configuration for the HuggingFace API.
6
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
7
+ */
8
+ export function Api(settings) {
9
+ return new HuggingFaceApiConfiguration(settings);
10
+ }
3
11
  /**
4
12
  * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
5
13
  *
@@ -4,6 +4,7 @@ exports.HuggingFaceTextEmbeddingModel = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const callWithRetryAndThrottle_js_1 = require("../../core/api/callWithRetryAndThrottle.cjs");
6
6
  const postToApi_js_1 = require("../../core/api/postToApi.cjs");
7
+ const ZodSchema_js_1 = require("../../core/schema/ZodSchema.cjs");
7
8
  const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
8
9
  const HuggingFaceApiConfiguration_js_1 = require("./HuggingFaceApiConfiguration.cjs");
9
10
  const HuggingFaceError_js_1 = require("./HuggingFaceError.cjs");
@@ -83,17 +84,24 @@ class HuggingFaceTextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
83
84
  if (texts.length > this.maxValuesPerCall) {
84
85
  throw new Error(`The HuggingFace feature extraction API is configured to only support ${this.maxValuesPerCall} texts per API call.`);
85
86
  }
87
+ const api = this.settings.api ?? new HuggingFaceApiConfiguration_js_1.HuggingFaceApiConfiguration();
88
+ const abortSignal = options?.run?.abortSignal;
86
89
  return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
87
- retry: this.settings.api?.retry,
88
- throttle: this.settings.api?.throttle,
89
- call: async () => callHuggingFaceTextGenerationAPI({
90
- options: {
91
- useCache: true,
92
- waitForModel: true,
90
+ retry: api.retry,
91
+ throttle: api.throttle,
92
+ call: async () => (0, postToApi_js_1.postJsonToApi)({
93
+ url: api.assembleUrl(`/${this.settings.model}`),
94
+ headers: api.headers,
95
+ body: {
96
+ inputs: texts,
97
+ options: {
98
+ use_cache: this.settings.options?.useCache ?? true,
99
+ wait_for_model: this.settings.options?.waitForModel ?? true,
100
+ },
93
101
  },
94
- ...this.settings,
95
- abortSignal: options?.run?.abortSignal,
96
- inputs: texts,
102
+ failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
103
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(huggingFaceTextEmbeddingResponseSchema)),
104
+ abortSignal,
97
105
  }),
98
106
  });
99
107
  }
@@ -116,21 +124,3 @@ class HuggingFaceTextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
116
124
  }
117
125
  exports.HuggingFaceTextEmbeddingModel = HuggingFaceTextEmbeddingModel;
118
126
  const huggingFaceTextEmbeddingResponseSchema = zod_1.z.array(zod_1.z.array(zod_1.z.number()));
119
- async function callHuggingFaceTextGenerationAPI({ api = new HuggingFaceApiConfiguration_js_1.HuggingFaceApiConfiguration(), abortSignal, model, inputs, options, }) {
120
- return (0, postToApi_js_1.postJsonToApi)({
121
- url: api.assembleUrl(`/${model}`),
122
- headers: api.headers,
123
- body: {
124
- inputs,
125
- options: options
126
- ? {
127
- use_cache: options?.useCache,
128
- wait_for_model: options?.waitForModel,
129
- }
130
- : {},
131
- },
132
- failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
133
- successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(huggingFaceTextEmbeddingResponseSchema),
134
- abortSignal,
135
- });
136
- }
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { callWithRetryAndThrottle } from "../../core/api/callWithRetryAndThrottle.js";
3
3
  import { createJsonResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
4
5
  import { AbstractModel } from "../../model-function/AbstractModel.js";
5
6
  import { HuggingFaceApiConfiguration } from "./HuggingFaceApiConfiguration.js";
6
7
  import { failedHuggingFaceCallResponseHandler } from "./HuggingFaceError.js";
@@ -80,17 +81,24 @@ export class HuggingFaceTextEmbeddingModel extends AbstractModel {
80
81
  if (texts.length > this.maxValuesPerCall) {
81
82
  throw new Error(`The HuggingFace feature extraction API is configured to only support ${this.maxValuesPerCall} texts per API call.`);
82
83
  }
84
+ const api = this.settings.api ?? new HuggingFaceApiConfiguration();
85
+ const abortSignal = options?.run?.abortSignal;
83
86
  return callWithRetryAndThrottle({
84
- retry: this.settings.api?.retry,
85
- throttle: this.settings.api?.throttle,
86
- call: async () => callHuggingFaceTextGenerationAPI({
87
- options: {
88
- useCache: true,
89
- waitForModel: true,
87
+ retry: api.retry,
88
+ throttle: api.throttle,
89
+ call: async () => postJsonToApi({
90
+ url: api.assembleUrl(`/${this.settings.model}`),
91
+ headers: api.headers,
92
+ body: {
93
+ inputs: texts,
94
+ options: {
95
+ use_cache: this.settings.options?.useCache ?? true,
96
+ wait_for_model: this.settings.options?.waitForModel ?? true,
97
+ },
90
98
  },
91
- ...this.settings,
92
- abortSignal: options?.run?.abortSignal,
93
- inputs: texts,
99
+ failedResponseHandler: failedHuggingFaceCallResponseHandler,
100
+ successfulResponseHandler: createJsonResponseHandler(zodSchema(huggingFaceTextEmbeddingResponseSchema)),
101
+ abortSignal,
94
102
  }),
95
103
  });
96
104
  }
@@ -112,21 +120,3 @@ export class HuggingFaceTextEmbeddingModel extends AbstractModel {
112
120
  }
113
121
  }
114
122
  const huggingFaceTextEmbeddingResponseSchema = z.array(z.array(z.number()));
115
- async function callHuggingFaceTextGenerationAPI({ api = new HuggingFaceApiConfiguration(), abortSignal, model, inputs, options, }) {
116
- return postJsonToApi({
117
- url: api.assembleUrl(`/${model}`),
118
- headers: api.headers,
119
- body: {
120
- inputs,
121
- options: options
122
- ? {
123
- use_cache: options?.useCache,
124
- wait_for_model: options?.waitForModel,
125
- }
126
- : {},
127
- },
128
- failedResponseHandler: failedHuggingFaceCallResponseHandler,
129
- successfulResponseHandler: createJsonResponseHandler(huggingFaceTextEmbeddingResponseSchema),
130
- abortSignal,
131
- });
132
- }
@@ -4,6 +4,7 @@ exports.HuggingFaceTextGenerationModel = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const callWithRetryAndThrottle_js_1 = require("../../core/api/callWithRetryAndThrottle.cjs");
6
6
  const postToApi_js_1 = require("../../core/api/postToApi.cjs");
7
+ const ZodSchema_js_1 = require("../../core/schema/ZodSchema.cjs");
7
8
  const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
8
9
  const PromptTemplateTextGenerationModel_js_1 = require("../../model-function/generate-text/PromptTemplateTextGenerationModel.cjs");
9
10
  const TextGenerationModel_js_1 = require("../../model-function/generate-text/TextGenerationModel.cjs");
@@ -64,30 +65,28 @@ class HuggingFaceTextGenerationModel extends AbstractModel_js_1.AbstractModel {
64
65
  return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
65
66
  retry: api.retry,
66
67
  throttle: api.throttle,
67
- call: async () => {
68
- return (0, postToApi_js_1.postJsonToApi)({
69
- url: api.assembleUrl(`/${this.settings.model}`),
70
- headers: api.headers,
71
- body: {
72
- inputs: prompt,
73
- top_k: this.settings.topK,
74
- top_p: this.settings.topP,
75
- temperature: this.settings.temperature,
76
- repetition_penalty: this.settings.repetitionPenalty,
77
- max_new_tokens: this.settings.maxGenerationTokens,
78
- max_time: this.settings.maxTime,
79
- num_return_sequences: this.settings.numberOfGenerations,
80
- do_sample: this.settings.doSample,
81
- options: {
82
- use_cache: true,
83
- wait_for_model: true,
84
- },
68
+ call: async () => (0, postToApi_js_1.postJsonToApi)({
69
+ url: api.assembleUrl(`/${this.settings.model}`),
70
+ headers: api.headers,
71
+ body: {
72
+ inputs: prompt,
73
+ top_k: this.settings.topK,
74
+ top_p: this.settings.topP,
75
+ temperature: this.settings.temperature,
76
+ repetition_penalty: this.settings.repetitionPenalty,
77
+ max_new_tokens: this.settings.maxGenerationTokens,
78
+ max_time: this.settings.maxTime,
79
+ num_return_sequences: this.settings.numberOfGenerations,
80
+ do_sample: this.settings.doSample,
81
+ options: {
82
+ use_cache: true,
83
+ wait_for_model: true,
85
84
  },
86
- failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
87
- successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(huggingFaceTextGenerationResponseSchema),
88
- abortSignal,
89
- });
90
- },
85
+ },
86
+ failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
87
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(huggingFaceTextGenerationResponseSchema)),
88
+ abortSignal,
89
+ }),
91
90
  });
92
91
  }
93
92
  get settingsForEvent() {
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { callWithRetryAndThrottle } from "../../core/api/callWithRetryAndThrottle.js";
3
3
  import { createJsonResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
4
5
  import { AbstractModel } from "../../model-function/AbstractModel.js";
5
6
  import { PromptTemplateTextGenerationModel } from "../../model-function/generate-text/PromptTemplateTextGenerationModel.js";
6
7
  import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
@@ -61,30 +62,28 @@ export class HuggingFaceTextGenerationModel extends AbstractModel {
61
62
  return callWithRetryAndThrottle({
62
63
  retry: api.retry,
63
64
  throttle: api.throttle,
64
- call: async () => {
65
- return postJsonToApi({
66
- url: api.assembleUrl(`/${this.settings.model}`),
67
- headers: api.headers,
68
- body: {
69
- inputs: prompt,
70
- top_k: this.settings.topK,
71
- top_p: this.settings.topP,
72
- temperature: this.settings.temperature,
73
- repetition_penalty: this.settings.repetitionPenalty,
74
- max_new_tokens: this.settings.maxGenerationTokens,
75
- max_time: this.settings.maxTime,
76
- num_return_sequences: this.settings.numberOfGenerations,
77
- do_sample: this.settings.doSample,
78
- options: {
79
- use_cache: true,
80
- wait_for_model: true,
81
- },
65
+ call: async () => postJsonToApi({
66
+ url: api.assembleUrl(`/${this.settings.model}`),
67
+ headers: api.headers,
68
+ body: {
69
+ inputs: prompt,
70
+ top_k: this.settings.topK,
71
+ top_p: this.settings.topP,
72
+ temperature: this.settings.temperature,
73
+ repetition_penalty: this.settings.repetitionPenalty,
74
+ max_new_tokens: this.settings.maxGenerationTokens,
75
+ max_time: this.settings.maxTime,
76
+ num_return_sequences: this.settings.numberOfGenerations,
77
+ do_sample: this.settings.doSample,
78
+ options: {
79
+ use_cache: true,
80
+ wait_for_model: true,
82
81
  },
83
- failedResponseHandler: failedHuggingFaceCallResponseHandler,
84
- successfulResponseHandler: createJsonResponseHandler(huggingFaceTextGenerationResponseSchema),
85
- abortSignal,
86
- });
87
- },
82
+ },
83
+ failedResponseHandler: failedHuggingFaceCallResponseHandler,
84
+ successfulResponseHandler: createJsonResponseHandler(zodSchema(huggingFaceTextGenerationResponseSchema)),
85
+ abortSignal,
86
+ }),
88
87
  });
89
88
  }
90
89
  get settingsForEvent() {