modelfusion 0.0.44

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 (405) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +429 -0
  3. package/composed-function/index.cjs +22 -0
  4. package/composed-function/index.d.ts +6 -0
  5. package/composed-function/index.js +6 -0
  6. package/composed-function/summarize/SummarizationFunction.cjs +2 -0
  7. package/composed-function/summarize/SummarizationFunction.d.ts +4 -0
  8. package/composed-function/summarize/SummarizationFunction.js +1 -0
  9. package/composed-function/summarize/summarizeRecursively.cjs +19 -0
  10. package/composed-function/summarize/summarizeRecursively.d.ts +11 -0
  11. package/composed-function/summarize/summarizeRecursively.js +15 -0
  12. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.cjs +29 -0
  13. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.d.ts +24 -0
  14. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.js +25 -0
  15. package/composed-function/use-tool/NoSuchToolError.cjs +17 -0
  16. package/composed-function/use-tool/NoSuchToolError.d.ts +4 -0
  17. package/composed-function/use-tool/NoSuchToolError.js +13 -0
  18. package/composed-function/use-tool/Tool.cjs +43 -0
  19. package/composed-function/use-tool/Tool.d.ts +15 -0
  20. package/composed-function/use-tool/Tool.js +39 -0
  21. package/composed-function/use-tool/useTool.cjs +59 -0
  22. package/composed-function/use-tool/useTool.d.ts +36 -0
  23. package/composed-function/use-tool/useTool.js +54 -0
  24. package/cost/Cost.cjs +38 -0
  25. package/cost/Cost.d.ts +16 -0
  26. package/cost/Cost.js +34 -0
  27. package/cost/CostCalculator.cjs +2 -0
  28. package/cost/CostCalculator.d.ts +8 -0
  29. package/cost/CostCalculator.js +1 -0
  30. package/cost/calculateCost.cjs +28 -0
  31. package/cost/calculateCost.d.ts +7 -0
  32. package/cost/calculateCost.js +24 -0
  33. package/cost/index.cjs +19 -0
  34. package/cost/index.d.ts +3 -0
  35. package/cost/index.js +3 -0
  36. package/index.cjs +25 -0
  37. package/index.d.ts +9 -0
  38. package/index.js +9 -0
  39. package/model-function/AbstractModel.cjs +22 -0
  40. package/model-function/AbstractModel.d.ts +12 -0
  41. package/model-function/AbstractModel.js +18 -0
  42. package/model-function/FunctionOptions.cjs +2 -0
  43. package/model-function/FunctionOptions.d.ts +6 -0
  44. package/model-function/FunctionOptions.js +1 -0
  45. package/model-function/Model.cjs +2 -0
  46. package/model-function/Model.d.ts +23 -0
  47. package/model-function/Model.js +1 -0
  48. package/model-function/ModelCallEvent.cjs +2 -0
  49. package/model-function/ModelCallEvent.d.ts +18 -0
  50. package/model-function/ModelCallEvent.js +1 -0
  51. package/model-function/ModelCallEventSource.cjs +42 -0
  52. package/model-function/ModelCallEventSource.d.ts +13 -0
  53. package/model-function/ModelCallEventSource.js +38 -0
  54. package/model-function/ModelCallObserver.cjs +2 -0
  55. package/model-function/ModelCallObserver.d.ts +5 -0
  56. package/model-function/ModelCallObserver.js +1 -0
  57. package/model-function/ModelInformation.cjs +2 -0
  58. package/model-function/ModelInformation.d.ts +4 -0
  59. package/model-function/ModelInformation.js +1 -0
  60. package/model-function/SuccessfulModelCall.cjs +22 -0
  61. package/model-function/SuccessfulModelCall.d.ts +9 -0
  62. package/model-function/SuccessfulModelCall.js +18 -0
  63. package/model-function/embed-text/TextEmbeddingEvent.cjs +2 -0
  64. package/model-function/embed-text/TextEmbeddingEvent.d.ts +23 -0
  65. package/model-function/embed-text/TextEmbeddingEvent.js +1 -0
  66. package/model-function/embed-text/TextEmbeddingModel.cjs +2 -0
  67. package/model-function/embed-text/TextEmbeddingModel.d.ts +18 -0
  68. package/model-function/embed-text/TextEmbeddingModel.js +1 -0
  69. package/model-function/embed-text/embedText.cjs +90 -0
  70. package/model-function/embed-text/embedText.d.ts +33 -0
  71. package/model-function/embed-text/embedText.js +85 -0
  72. package/model-function/executeCall.cjs +60 -0
  73. package/model-function/executeCall.d.ts +27 -0
  74. package/model-function/executeCall.js +56 -0
  75. package/model-function/generate-image/ImageGenerationEvent.cjs +2 -0
  76. package/model-function/generate-image/ImageGenerationEvent.d.ts +22 -0
  77. package/model-function/generate-image/ImageGenerationEvent.js +1 -0
  78. package/model-function/generate-image/ImageGenerationModel.cjs +2 -0
  79. package/model-function/generate-image/ImageGenerationModel.d.ts +8 -0
  80. package/model-function/generate-image/ImageGenerationModel.js +1 -0
  81. package/model-function/generate-image/generateImage.cjs +63 -0
  82. package/model-function/generate-image/generateImage.d.ts +23 -0
  83. package/model-function/generate-image/generateImage.js +59 -0
  84. package/model-function/generate-json/GenerateJsonModel.cjs +2 -0
  85. package/model-function/generate-json/GenerateJsonModel.d.ts +10 -0
  86. package/model-function/generate-json/GenerateJsonModel.js +1 -0
  87. package/model-function/generate-json/GenerateJsonOrTextModel.cjs +2 -0
  88. package/model-function/generate-json/GenerateJsonOrTextModel.d.ts +18 -0
  89. package/model-function/generate-json/GenerateJsonOrTextModel.js +1 -0
  90. package/model-function/generate-json/JsonGenerationEvent.cjs +2 -0
  91. package/model-function/generate-json/JsonGenerationEvent.d.ts +22 -0
  92. package/model-function/generate-json/JsonGenerationEvent.js +1 -0
  93. package/model-function/generate-json/NoSuchSchemaError.cjs +17 -0
  94. package/model-function/generate-json/NoSuchSchemaError.d.ts +4 -0
  95. package/model-function/generate-json/NoSuchSchemaError.js +13 -0
  96. package/model-function/generate-json/SchemaDefinition.cjs +2 -0
  97. package/model-function/generate-json/SchemaDefinition.d.ts +6 -0
  98. package/model-function/generate-json/SchemaDefinition.js +1 -0
  99. package/model-function/generate-json/SchemaValidationError.cjs +36 -0
  100. package/model-function/generate-json/SchemaValidationError.d.ts +11 -0
  101. package/model-function/generate-json/SchemaValidationError.js +32 -0
  102. package/model-function/generate-json/generateJson.cjs +61 -0
  103. package/model-function/generate-json/generateJson.d.ts +9 -0
  104. package/model-function/generate-json/generateJson.js +57 -0
  105. package/model-function/generate-json/generateJsonOrText.cjs +74 -0
  106. package/model-function/generate-json/generateJsonOrText.d.ts +25 -0
  107. package/model-function/generate-json/generateJsonOrText.js +70 -0
  108. package/model-function/generate-text/AsyncQueue.cjs +66 -0
  109. package/model-function/generate-text/AsyncQueue.d.ts +17 -0
  110. package/model-function/generate-text/AsyncQueue.js +62 -0
  111. package/model-function/generate-text/DeltaEvent.cjs +2 -0
  112. package/model-function/generate-text/DeltaEvent.d.ts +7 -0
  113. package/model-function/generate-text/DeltaEvent.js +1 -0
  114. package/model-function/generate-text/TextDeltaEventSource.cjs +54 -0
  115. package/model-function/generate-text/TextDeltaEventSource.d.ts +5 -0
  116. package/model-function/generate-text/TextDeltaEventSource.js +46 -0
  117. package/model-function/generate-text/TextGenerationEvent.cjs +2 -0
  118. package/model-function/generate-text/TextGenerationEvent.d.ts +22 -0
  119. package/model-function/generate-text/TextGenerationEvent.js +1 -0
  120. package/model-function/generate-text/TextGenerationModel.cjs +2 -0
  121. package/model-function/generate-text/TextGenerationModel.d.ts +42 -0
  122. package/model-function/generate-text/TextGenerationModel.js +1 -0
  123. package/model-function/generate-text/TextStreamingEvent.cjs +2 -0
  124. package/model-function/generate-text/TextStreamingEvent.d.ts +22 -0
  125. package/model-function/generate-text/TextStreamingEvent.js +1 -0
  126. package/model-function/generate-text/extractTextDeltas.cjs +23 -0
  127. package/model-function/generate-text/extractTextDeltas.d.ts +7 -0
  128. package/model-function/generate-text/extractTextDeltas.js +19 -0
  129. package/model-function/generate-text/generateText.cjs +67 -0
  130. package/model-function/generate-text/generateText.d.ts +20 -0
  131. package/model-function/generate-text/generateText.js +63 -0
  132. package/model-function/generate-text/parseEventSourceReadableStream.cjs +30 -0
  133. package/model-function/generate-text/parseEventSourceReadableStream.d.ts +8 -0
  134. package/model-function/generate-text/parseEventSourceReadableStream.js +26 -0
  135. package/model-function/generate-text/streamText.cjs +115 -0
  136. package/model-function/generate-text/streamText.d.ts +11 -0
  137. package/model-function/generate-text/streamText.js +111 -0
  138. package/model-function/index.cjs +47 -0
  139. package/model-function/index.d.ts +31 -0
  140. package/model-function/index.js +31 -0
  141. package/model-function/tokenize-text/Tokenizer.cjs +2 -0
  142. package/model-function/tokenize-text/Tokenizer.d.ts +19 -0
  143. package/model-function/tokenize-text/Tokenizer.js +1 -0
  144. package/model-function/tokenize-text/countTokens.cjs +10 -0
  145. package/model-function/tokenize-text/countTokens.d.ts +5 -0
  146. package/model-function/tokenize-text/countTokens.js +6 -0
  147. package/model-function/transcribe-audio/TranscriptionEvent.cjs +2 -0
  148. package/model-function/transcribe-audio/TranscriptionEvent.d.ts +22 -0
  149. package/model-function/transcribe-audio/TranscriptionEvent.js +1 -0
  150. package/model-function/transcribe-audio/TranscriptionModel.cjs +2 -0
  151. package/model-function/transcribe-audio/TranscriptionModel.d.ts +8 -0
  152. package/model-function/transcribe-audio/TranscriptionModel.js +1 -0
  153. package/model-function/transcribe-audio/transcribe.cjs +62 -0
  154. package/model-function/transcribe-audio/transcribe.d.ts +22 -0
  155. package/model-function/transcribe-audio/transcribe.js +58 -0
  156. package/model-provider/automatic1111/Automatic1111Error.cjs +39 -0
  157. package/model-provider/automatic1111/Automatic1111Error.d.ts +31 -0
  158. package/model-provider/automatic1111/Automatic1111Error.js +31 -0
  159. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +76 -0
  160. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +54 -0
  161. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +72 -0
  162. package/model-provider/automatic1111/index.cjs +20 -0
  163. package/model-provider/automatic1111/index.d.ts +2 -0
  164. package/model-provider/automatic1111/index.js +2 -0
  165. package/model-provider/cohere/CohereError.cjs +36 -0
  166. package/model-provider/cohere/CohereError.d.ts +22 -0
  167. package/model-provider/cohere/CohereError.js +28 -0
  168. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +172 -0
  169. package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +119 -0
  170. package/model-provider/cohere/CohereTextEmbeddingModel.js +165 -0
  171. package/model-provider/cohere/CohereTextGenerationModel.cjs +283 -0
  172. package/model-provider/cohere/CohereTextGenerationModel.d.ts +203 -0
  173. package/model-provider/cohere/CohereTextGenerationModel.js +276 -0
  174. package/model-provider/cohere/CohereTokenizer.cjs +136 -0
  175. package/model-provider/cohere/CohereTokenizer.d.ts +118 -0
  176. package/model-provider/cohere/CohereTokenizer.js +129 -0
  177. package/model-provider/cohere/index.cjs +22 -0
  178. package/model-provider/cohere/index.d.ts +4 -0
  179. package/model-provider/cohere/index.js +4 -0
  180. package/model-provider/huggingface/HuggingFaceError.cjs +52 -0
  181. package/model-provider/huggingface/HuggingFaceError.d.ts +22 -0
  182. package/model-provider/huggingface/HuggingFaceError.js +44 -0
  183. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +174 -0
  184. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +75 -0
  185. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +167 -0
  186. package/model-provider/huggingface/index.cjs +20 -0
  187. package/model-provider/huggingface/index.d.ts +2 -0
  188. package/model-provider/huggingface/index.js +2 -0
  189. package/model-provider/index.cjs +22 -0
  190. package/model-provider/index.d.ts +6 -0
  191. package/model-provider/index.js +6 -0
  192. package/model-provider/llamacpp/LlamaCppError.cjs +52 -0
  193. package/model-provider/llamacpp/LlamaCppError.d.ts +22 -0
  194. package/model-provider/llamacpp/LlamaCppError.js +44 -0
  195. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.cjs +96 -0
  196. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.d.ts +40 -0
  197. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.js +89 -0
  198. package/model-provider/llamacpp/LlamaCppTextGenerationModel.cjs +245 -0
  199. package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +399 -0
  200. package/model-provider/llamacpp/LlamaCppTextGenerationModel.js +238 -0
  201. package/model-provider/llamacpp/LlamaCppTokenizer.cjs +64 -0
  202. package/model-provider/llamacpp/LlamaCppTokenizer.d.ts +38 -0
  203. package/model-provider/llamacpp/LlamaCppTokenizer.js +57 -0
  204. package/model-provider/llamacpp/index.cjs +22 -0
  205. package/model-provider/llamacpp/index.d.ts +4 -0
  206. package/model-provider/llamacpp/index.js +4 -0
  207. package/model-provider/openai/OpenAICostCalculator.cjs +71 -0
  208. package/model-provider/openai/OpenAICostCalculator.d.ts +6 -0
  209. package/model-provider/openai/OpenAICostCalculator.js +67 -0
  210. package/model-provider/openai/OpenAIError.cjs +50 -0
  211. package/model-provider/openai/OpenAIError.d.ts +47 -0
  212. package/model-provider/openai/OpenAIError.js +42 -0
  213. package/model-provider/openai/OpenAIImageGenerationModel.cjs +124 -0
  214. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +113 -0
  215. package/model-provider/openai/OpenAIImageGenerationModel.js +119 -0
  216. package/model-provider/openai/OpenAIModelSettings.cjs +2 -0
  217. package/model-provider/openai/OpenAIModelSettings.d.ts +8 -0
  218. package/model-provider/openai/OpenAIModelSettings.js +1 -0
  219. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +171 -0
  220. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +122 -0
  221. package/model-provider/openai/OpenAITextEmbeddingModel.js +162 -0
  222. package/model-provider/openai/OpenAITextGenerationModel.cjs +326 -0
  223. package/model-provider/openai/OpenAITextGenerationModel.d.ts +254 -0
  224. package/model-provider/openai/OpenAITextGenerationModel.js +317 -0
  225. package/model-provider/openai/OpenAITranscriptionModel.cjs +195 -0
  226. package/model-provider/openai/OpenAITranscriptionModel.d.ts +196 -0
  227. package/model-provider/openai/OpenAITranscriptionModel.js +187 -0
  228. package/model-provider/openai/TikTokenTokenizer.cjs +86 -0
  229. package/model-provider/openai/TikTokenTokenizer.d.ts +35 -0
  230. package/model-provider/openai/TikTokenTokenizer.js +82 -0
  231. package/model-provider/openai/chat/OpenAIChatMessage.cjs +24 -0
  232. package/model-provider/openai/chat/OpenAIChatMessage.d.ts +26 -0
  233. package/model-provider/openai/chat/OpenAIChatMessage.js +21 -0
  234. package/model-provider/openai/chat/OpenAIChatModel.cjs +288 -0
  235. package/model-provider/openai/chat/OpenAIChatModel.d.ts +344 -0
  236. package/model-provider/openai/chat/OpenAIChatModel.js +279 -0
  237. package/model-provider/openai/chat/OpenAIChatPrompt.cjs +143 -0
  238. package/model-provider/openai/chat/OpenAIChatPrompt.d.ts +108 -0
  239. package/model-provider/openai/chat/OpenAIChatPrompt.js +135 -0
  240. package/model-provider/openai/chat/OpenAIChatStreamIterable.cjs +112 -0
  241. package/model-provider/openai/chat/OpenAIChatStreamIterable.d.ts +19 -0
  242. package/model-provider/openai/chat/OpenAIChatStreamIterable.js +105 -0
  243. package/model-provider/openai/chat/countOpenAIChatMessageTokens.cjs +28 -0
  244. package/model-provider/openai/chat/countOpenAIChatMessageTokens.d.ts +20 -0
  245. package/model-provider/openai/chat/countOpenAIChatMessageTokens.js +23 -0
  246. package/model-provider/openai/index.cjs +31 -0
  247. package/model-provider/openai/index.d.ts +13 -0
  248. package/model-provider/openai/index.js +12 -0
  249. package/model-provider/stability/StabilityError.cjs +36 -0
  250. package/model-provider/stability/StabilityError.d.ts +22 -0
  251. package/model-provider/stability/StabilityError.js +28 -0
  252. package/model-provider/stability/StabilityImageGenerationModel.cjs +133 -0
  253. package/model-provider/stability/StabilityImageGenerationModel.d.ts +95 -0
  254. package/model-provider/stability/StabilityImageGenerationModel.js +129 -0
  255. package/model-provider/stability/index.cjs +20 -0
  256. package/model-provider/stability/index.d.ts +2 -0
  257. package/model-provider/stability/index.js +2 -0
  258. package/package.json +87 -0
  259. package/prompt/InstructionPrompt.cjs +2 -0
  260. package/prompt/InstructionPrompt.d.ts +7 -0
  261. package/prompt/InstructionPrompt.js +1 -0
  262. package/prompt/Llama2PromptMapping.cjs +56 -0
  263. package/prompt/Llama2PromptMapping.d.ts +10 -0
  264. package/prompt/Llama2PromptMapping.js +51 -0
  265. package/prompt/OpenAIChatPromptMapping.cjs +62 -0
  266. package/prompt/OpenAIChatPromptMapping.d.ts +6 -0
  267. package/prompt/OpenAIChatPromptMapping.js +57 -0
  268. package/prompt/PromptMapping.cjs +2 -0
  269. package/prompt/PromptMapping.d.ts +7 -0
  270. package/prompt/PromptMapping.js +1 -0
  271. package/prompt/PromptMappingTextGenerationModel.cjs +88 -0
  272. package/prompt/PromptMappingTextGenerationModel.d.ts +26 -0
  273. package/prompt/PromptMappingTextGenerationModel.js +84 -0
  274. package/prompt/TextPromptMapping.cjs +50 -0
  275. package/prompt/TextPromptMapping.d.ts +14 -0
  276. package/prompt/TextPromptMapping.js +45 -0
  277. package/prompt/chat/ChatPrompt.cjs +2 -0
  278. package/prompt/chat/ChatPrompt.d.ts +33 -0
  279. package/prompt/chat/ChatPrompt.js +1 -0
  280. package/prompt/chat/trimChatPrompt.cjs +50 -0
  281. package/prompt/chat/trimChatPrompt.d.ts +19 -0
  282. package/prompt/chat/trimChatPrompt.js +46 -0
  283. package/prompt/chat/validateChatPrompt.cjs +36 -0
  284. package/prompt/chat/validateChatPrompt.d.ts +8 -0
  285. package/prompt/chat/validateChatPrompt.js +31 -0
  286. package/prompt/index.cjs +25 -0
  287. package/prompt/index.d.ts +9 -0
  288. package/prompt/index.js +9 -0
  289. package/run/ConsoleLogger.cjs +12 -0
  290. package/run/ConsoleLogger.d.ts +6 -0
  291. package/run/ConsoleLogger.js +8 -0
  292. package/run/DefaultRun.cjs +78 -0
  293. package/run/DefaultRun.d.ts +24 -0
  294. package/run/DefaultRun.js +74 -0
  295. package/run/IdMetadata.cjs +2 -0
  296. package/run/IdMetadata.d.ts +7 -0
  297. package/run/IdMetadata.js +1 -0
  298. package/run/Run.cjs +2 -0
  299. package/run/Run.d.ts +27 -0
  300. package/run/Run.js +1 -0
  301. package/run/RunFunction.cjs +2 -0
  302. package/run/RunFunction.d.ts +13 -0
  303. package/run/RunFunction.js +1 -0
  304. package/run/Vector.cjs +2 -0
  305. package/run/Vector.d.ts +5 -0
  306. package/run/Vector.js +1 -0
  307. package/run/index.cjs +22 -0
  308. package/run/index.d.ts +6 -0
  309. package/run/index.js +6 -0
  310. package/text-chunk/TextChunk.cjs +2 -0
  311. package/text-chunk/TextChunk.d.ts +3 -0
  312. package/text-chunk/TextChunk.js +1 -0
  313. package/text-chunk/index.cjs +22 -0
  314. package/text-chunk/index.d.ts +6 -0
  315. package/text-chunk/index.js +6 -0
  316. package/text-chunk/retrieve-text-chunks/TextChunkRetriever.cjs +2 -0
  317. package/text-chunk/retrieve-text-chunks/TextChunkRetriever.d.ts +8 -0
  318. package/text-chunk/retrieve-text-chunks/TextChunkRetriever.js +1 -0
  319. package/text-chunk/retrieve-text-chunks/retrieveTextChunks.cjs +10 -0
  320. package/text-chunk/retrieve-text-chunks/retrieveTextChunks.d.ts +6 -0
  321. package/text-chunk/retrieve-text-chunks/retrieveTextChunks.js +6 -0
  322. package/text-chunk/split/SplitFunction.cjs +2 -0
  323. package/text-chunk/split/SplitFunction.d.ts +4 -0
  324. package/text-chunk/split/SplitFunction.js +1 -0
  325. package/text-chunk/split/splitOnSeparator.cjs +12 -0
  326. package/text-chunk/split/splitOnSeparator.d.ts +8 -0
  327. package/text-chunk/split/splitOnSeparator.js +7 -0
  328. package/text-chunk/split/splitRecursively.cjs +41 -0
  329. package/text-chunk/split/splitRecursively.d.ts +22 -0
  330. package/text-chunk/split/splitRecursively.js +33 -0
  331. package/util/DurationMeasurement.cjs +42 -0
  332. package/util/DurationMeasurement.d.ts +5 -0
  333. package/util/DurationMeasurement.js +38 -0
  334. package/util/ErrorHandler.cjs +2 -0
  335. package/util/ErrorHandler.d.ts +1 -0
  336. package/util/ErrorHandler.js +1 -0
  337. package/util/SafeResult.cjs +2 -0
  338. package/util/SafeResult.d.ts +8 -0
  339. package/util/SafeResult.js +1 -0
  340. package/util/api/AbortError.cjs +9 -0
  341. package/util/api/AbortError.d.ts +3 -0
  342. package/util/api/AbortError.js +5 -0
  343. package/util/api/ApiCallError.cjs +45 -0
  344. package/util/api/ApiCallError.d.ts +15 -0
  345. package/util/api/ApiCallError.js +41 -0
  346. package/util/api/RetryError.cjs +24 -0
  347. package/util/api/RetryError.d.ts +10 -0
  348. package/util/api/RetryError.js +20 -0
  349. package/util/api/RetryFunction.cjs +2 -0
  350. package/util/api/RetryFunction.d.ts +1 -0
  351. package/util/api/RetryFunction.js +1 -0
  352. package/util/api/ThrottleFunction.cjs +2 -0
  353. package/util/api/ThrottleFunction.d.ts +1 -0
  354. package/util/api/ThrottleFunction.js +1 -0
  355. package/util/api/callWithRetryAndThrottle.cjs +7 -0
  356. package/util/api/callWithRetryAndThrottle.d.ts +7 -0
  357. package/util/api/callWithRetryAndThrottle.js +3 -0
  358. package/util/api/postToApi.cjs +103 -0
  359. package/util/api/postToApi.d.ts +29 -0
  360. package/util/api/postToApi.js +96 -0
  361. package/util/api/retryNever.cjs +8 -0
  362. package/util/api/retryNever.d.ts +4 -0
  363. package/util/api/retryNever.js +4 -0
  364. package/util/api/retryWithExponentialBackoff.cjs +48 -0
  365. package/util/api/retryWithExponentialBackoff.d.ts +10 -0
  366. package/util/api/retryWithExponentialBackoff.js +44 -0
  367. package/util/api/throttleMaxConcurrency.cjs +65 -0
  368. package/util/api/throttleMaxConcurrency.d.ts +7 -0
  369. package/util/api/throttleMaxConcurrency.js +61 -0
  370. package/util/api/throttleUnlimitedConcurrency.cjs +8 -0
  371. package/util/api/throttleUnlimitedConcurrency.d.ts +5 -0
  372. package/util/api/throttleUnlimitedConcurrency.js +4 -0
  373. package/util/cosineSimilarity.cjs +26 -0
  374. package/util/cosineSimilarity.d.ts +11 -0
  375. package/util/cosineSimilarity.js +22 -0
  376. package/util/index.cjs +26 -0
  377. package/util/index.d.ts +10 -0
  378. package/util/index.js +10 -0
  379. package/util/never.cjs +6 -0
  380. package/util/never.d.ts +1 -0
  381. package/util/never.js +2 -0
  382. package/util/runSafe.cjs +15 -0
  383. package/util/runSafe.d.ts +2 -0
  384. package/util/runSafe.js +11 -0
  385. package/vector-index/VectorIndex.cjs +2 -0
  386. package/vector-index/VectorIndex.d.ts +18 -0
  387. package/vector-index/VectorIndex.js +1 -0
  388. package/vector-index/VectorIndexSimilarTextChunkRetriever.cjs +57 -0
  389. package/vector-index/VectorIndexSimilarTextChunkRetriever.d.ts +20 -0
  390. package/vector-index/VectorIndexSimilarTextChunkRetriever.js +53 -0
  391. package/vector-index/VectorIndexTextChunkStore.cjs +77 -0
  392. package/vector-index/VectorIndexTextChunkStore.d.ts +35 -0
  393. package/vector-index/VectorIndexTextChunkStore.js +73 -0
  394. package/vector-index/index.cjs +22 -0
  395. package/vector-index/index.d.ts +6 -0
  396. package/vector-index/index.js +6 -0
  397. package/vector-index/memory/MemoryVectorIndex.cjs +63 -0
  398. package/vector-index/memory/MemoryVectorIndex.d.ts +31 -0
  399. package/vector-index/memory/MemoryVectorIndex.js +56 -0
  400. package/vector-index/pinecone/PineconeVectorIndex.cjs +66 -0
  401. package/vector-index/pinecone/PineconeVectorIndex.d.ts +29 -0
  402. package/vector-index/pinecone/PineconeVectorIndex.js +62 -0
  403. package/vector-index/upsertTextChunks.cjs +15 -0
  404. package/vector-index/upsertTextChunks.d.ts +11 -0
  405. package/vector-index/upsertTextChunks.js +11 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.failedHuggingFaceCallResponseHandler = exports.HuggingFaceError = exports.huggingFaceErrorDataSchema = void 0;
7
+ const secure_json_parse_1 = __importDefault(require("secure-json-parse"));
8
+ const zod_1 = require("zod");
9
+ const ApiCallError_js_1 = require("../../util/api/ApiCallError.cjs");
10
+ exports.huggingFaceErrorDataSchema = zod_1.z.object({
11
+ error: zod_1.z.string(),
12
+ });
13
+ class HuggingFaceError extends ApiCallError_js_1.ApiCallError {
14
+ constructor({ data, statusCode, url, requestBodyValues, message = data.error, }) {
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 }) => {
27
+ const responseBody = await response.text();
28
+ try {
29
+ const parsedError = exports.huggingFaceErrorDataSchema.parse(secure_json_parse_1.default.parse(responseBody));
30
+ return new HuggingFaceError({
31
+ url,
32
+ requestBodyValues,
33
+ statusCode: response.status,
34
+ data: parsedError,
35
+ });
36
+ }
37
+ catch (error) {
38
+ if (error instanceof Error) {
39
+ if (error.name === "AbortError" || error instanceof ApiCallError_js_1.ApiCallError) {
40
+ throw error;
41
+ }
42
+ }
43
+ throw new ApiCallError_js_1.ApiCallError({
44
+ message: responseBody,
45
+ cause: error,
46
+ statusCode: response.status,
47
+ url,
48
+ requestBodyValues,
49
+ });
50
+ }
51
+ };
52
+ exports.failedHuggingFaceCallResponseHandler = failedHuggingFaceCallResponseHandler;
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { ApiCallError } from "../../util/api/ApiCallError.js";
3
+ import { ResponseHandler } from "../../util/api/postToApi.js";
4
+ export declare const huggingFaceErrorDataSchema: z.ZodObject<{
5
+ error: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ error: string;
8
+ }, {
9
+ error: string;
10
+ }>;
11
+ export type HuggingFaceErrorData = z.infer<typeof huggingFaceErrorDataSchema>;
12
+ export declare class HuggingFaceError extends ApiCallError {
13
+ readonly data: HuggingFaceErrorData;
14
+ constructor({ data, statusCode, url, requestBodyValues, message, }: {
15
+ message?: string;
16
+ statusCode: number;
17
+ url: string;
18
+ requestBodyValues: unknown;
19
+ data: HuggingFaceErrorData;
20
+ });
21
+ }
22
+ export declare const failedHuggingFaceCallResponseHandler: ResponseHandler<ApiCallError>;
@@ -0,0 +1,44 @@
1
+ import SecureJSON from "secure-json-parse";
2
+ import { z } from "zod";
3
+ import { ApiCallError } from "../../util/api/ApiCallError.js";
4
+ export const huggingFaceErrorDataSchema = z.object({
5
+ error: z.string(),
6
+ });
7
+ export class HuggingFaceError extends ApiCallError {
8
+ constructor({ data, statusCode, url, requestBodyValues, message = data.error, }) {
9
+ super({ message, statusCode, requestBodyValues, url });
10
+ Object.defineProperty(this, "data", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ this.data = data;
17
+ }
18
+ }
19
+ export const failedHuggingFaceCallResponseHandler = async ({ response, url, requestBodyValues }) => {
20
+ const responseBody = await response.text();
21
+ try {
22
+ const parsedError = huggingFaceErrorDataSchema.parse(SecureJSON.parse(responseBody));
23
+ return new HuggingFaceError({
24
+ url,
25
+ requestBodyValues,
26
+ statusCode: response.status,
27
+ data: parsedError,
28
+ });
29
+ }
30
+ catch (error) {
31
+ if (error instanceof Error) {
32
+ if (error.name === "AbortError" || error instanceof ApiCallError) {
33
+ throw error;
34
+ }
35
+ }
36
+ throw new ApiCallError({
37
+ message: responseBody,
38
+ cause: error,
39
+ statusCode: response.status,
40
+ url,
41
+ requestBodyValues,
42
+ });
43
+ }
44
+ };
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HuggingFaceTextGenerationModel = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
9
+ const callWithRetryAndThrottle_js_1 = require("../../util/api/callWithRetryAndThrottle.cjs");
10
+ const postToApi_js_1 = require("../../util/api/postToApi.cjs");
11
+ const HuggingFaceError_js_1 = require("./HuggingFaceError.cjs");
12
+ const PromptMappingTextGenerationModel_js_1 = require("../../prompt/PromptMappingTextGenerationModel.cjs");
13
+ /**
14
+ * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
15
+ *
16
+ * @see https://huggingface.co/docs/api-inference/detailed_parameters#text-generation-task
17
+ *
18
+ * @example
19
+ * const model = new HuggingFaceTextGenerationModel({
20
+ * model: "tiiuae/falcon-7b",
21
+ * temperature: 0.7,
22
+ * maxTokens: 500,
23
+ * retry: retryWithExponentialBackoff({ maxTries: 5 }),
24
+ * });
25
+ *
26
+ * const { text } = await generateText(
27
+ * model,
28
+ * "Write a short story about a robot learning to love:\n\n"
29
+ * );
30
+ */
31
+ class HuggingFaceTextGenerationModel extends AbstractModel_js_1.AbstractModel {
32
+ constructor(settings) {
33
+ super({ settings });
34
+ Object.defineProperty(this, "provider", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: "huggingface"
39
+ });
40
+ Object.defineProperty(this, "contextWindowSize", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: undefined
45
+ });
46
+ Object.defineProperty(this, "tokenizer", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: undefined
51
+ });
52
+ Object.defineProperty(this, "countPromptTokens", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: undefined
57
+ });
58
+ Object.defineProperty(this, "generateDeltaStreamResponse", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: undefined
63
+ });
64
+ Object.defineProperty(this, "extractTextDelta", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: undefined
69
+ });
70
+ }
71
+ get modelName() {
72
+ return this.settings.model;
73
+ }
74
+ get apiKey() {
75
+ const apiKey = this.settings.apiKey ?? process.env.HUGGINGFACE_API_KEY;
76
+ if (apiKey == null) {
77
+ throw new Error("No Hugging Face API key provided. Pass it in the constructor or set the HUGGINGFACE_API_KEY environment variable.");
78
+ }
79
+ return apiKey;
80
+ }
81
+ async callAPI(prompt, options) {
82
+ const run = options?.run;
83
+ const settings = options?.settings;
84
+ const callSettings = Object.assign({
85
+ apiKey: this.apiKey,
86
+ options: {
87
+ useCache: true,
88
+ waitForModel: true,
89
+ },
90
+ }, this.settings, settings, {
91
+ abortSignal: run?.abortSignal,
92
+ inputs: prompt,
93
+ });
94
+ return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
95
+ retry: this.settings.retry,
96
+ throttle: this.settings.throttle,
97
+ call: async () => callHuggingFaceTextGenerationAPI(callSettings),
98
+ });
99
+ }
100
+ generateTextResponse(prompt, options) {
101
+ return this.callAPI(prompt, options);
102
+ }
103
+ extractText(response) {
104
+ return response[0].generated_text;
105
+ }
106
+ mapPrompt(promptMapping) {
107
+ return new PromptMappingTextGenerationModel_js_1.PromptMappingTextGenerationModel({
108
+ model: this,
109
+ promptMapping,
110
+ });
111
+ }
112
+ withSettings(additionalSettings) {
113
+ return new HuggingFaceTextGenerationModel(Object.assign({}, this.settings, additionalSettings));
114
+ }
115
+ get maxCompletionTokens() {
116
+ return this.settings.maxNewTokens;
117
+ }
118
+ withMaxCompletionTokens(maxCompletionTokens) {
119
+ return this.withSettings({ maxNewTokens: maxCompletionTokens });
120
+ }
121
+ withStopTokens() {
122
+ // stop tokens are not supported by the HuggingFace API
123
+ return this;
124
+ }
125
+ }
126
+ exports.HuggingFaceTextGenerationModel = HuggingFaceTextGenerationModel;
127
+ const huggingFaceTextGenerationResponseSchema = zod_1.default.array(zod_1.default.object({
128
+ generated_text: zod_1.default.string(),
129
+ }));
130
+ /**
131
+ * Call a Hugging Face Inference API Text Generation Task to generate a text completion for the given prompt.
132
+ *
133
+ * @see https://huggingface.co/docs/api-inference/detailed_parameters#text-generation-task
134
+ *
135
+ * @example
136
+ * const response = await callHuggingFaceTextGenerationAPI({
137
+ * apiKey: HUGGINGFACE_API_KEY,
138
+ * model: "tiiuae/falcon-7b",
139
+ * inputs: "Write a short story about a robot learning to love:\n\n",
140
+ * temperature: 700,
141
+ * maxNewTokens: 500,
142
+ * options: {
143
+ * waitForModel: true,
144
+ * },
145
+ * });
146
+ *
147
+ * console.log(response[0].generated_text);
148
+ */
149
+ async function callHuggingFaceTextGenerationAPI({ baseUrl = "https://api-inference.huggingface.co/models", abortSignal, apiKey, model, inputs, topK, topP, temperature, repetitionPenalty, maxNewTokens, maxTime, numReturnSequences, doSample, options, }) {
150
+ return (0, postToApi_js_1.postJsonToApi)({
151
+ url: `${baseUrl}/${model}`,
152
+ apiKey,
153
+ body: {
154
+ inputs,
155
+ top_k: topK,
156
+ top_p: topP,
157
+ temperature,
158
+ repetition_penalty: repetitionPenalty,
159
+ max_new_tokens: maxNewTokens,
160
+ max_time: maxTime,
161
+ num_return_sequences: numReturnSequences,
162
+ do_sample: doSample,
163
+ options: options
164
+ ? {
165
+ use_cache: options?.useCache,
166
+ wait_for_model: options?.waitForModel,
167
+ }
168
+ : undefined,
169
+ },
170
+ failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
171
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(huggingFaceTextGenerationResponseSchema),
172
+ abortSignal,
173
+ });
174
+ }
@@ -0,0 +1,75 @@
1
+ import z from "zod";
2
+ import { AbstractModel } from "../../model-function/AbstractModel.js";
3
+ import { FunctionOptions } from "../../model-function/FunctionOptions.js";
4
+ import { TextGenerationModel, TextGenerationModelSettings } from "../../model-function/generate-text/TextGenerationModel.js";
5
+ import { RetryFunction } from "../../util/api/RetryFunction.js";
6
+ import { ThrottleFunction } from "../../util/api/ThrottleFunction.js";
7
+ import { PromptMapping } from "../../prompt/PromptMapping.js";
8
+ import { PromptMappingTextGenerationModel } from "../../prompt/PromptMappingTextGenerationModel.js";
9
+ export interface HuggingFaceTextGenerationModelSettings extends TextGenerationModelSettings {
10
+ model: string;
11
+ baseUrl?: string;
12
+ apiKey?: string;
13
+ retry?: RetryFunction;
14
+ throttle?: ThrottleFunction;
15
+ topK?: number;
16
+ topP?: number;
17
+ temperature?: number;
18
+ repetitionPenalty?: number;
19
+ maxNewTokens?: number;
20
+ maxTime?: number;
21
+ numReturnSequences?: number;
22
+ doSample?: boolean;
23
+ options?: {
24
+ useCache?: boolean;
25
+ waitForModel?: boolean;
26
+ };
27
+ }
28
+ /**
29
+ * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
30
+ *
31
+ * @see https://huggingface.co/docs/api-inference/detailed_parameters#text-generation-task
32
+ *
33
+ * @example
34
+ * const model = new HuggingFaceTextGenerationModel({
35
+ * model: "tiiuae/falcon-7b",
36
+ * temperature: 0.7,
37
+ * maxTokens: 500,
38
+ * retry: retryWithExponentialBackoff({ maxTries: 5 }),
39
+ * });
40
+ *
41
+ * const { text } = await generateText(
42
+ * model,
43
+ * "Write a short story about a robot learning to love:\n\n"
44
+ * );
45
+ */
46
+ export declare class HuggingFaceTextGenerationModel extends AbstractModel<HuggingFaceTextGenerationModelSettings> implements TextGenerationModel<string, HuggingFaceTextGenerationResponse, undefined, HuggingFaceTextGenerationModelSettings> {
47
+ constructor(settings: HuggingFaceTextGenerationModelSettings);
48
+ readonly provider = "huggingface";
49
+ get modelName(): string;
50
+ readonly contextWindowSize: undefined;
51
+ readonly tokenizer: undefined;
52
+ private get apiKey();
53
+ callAPI(prompt: string, options?: FunctionOptions<HuggingFaceTextGenerationModelSettings>): Promise<HuggingFaceTextGenerationResponse>;
54
+ readonly countPromptTokens: undefined;
55
+ generateTextResponse(prompt: string, options?: FunctionOptions<HuggingFaceTextGenerationModelSettings>): Promise<{
56
+ generated_text: string;
57
+ }[]>;
58
+ extractText(response: HuggingFaceTextGenerationResponse): string;
59
+ generateDeltaStreamResponse: undefined;
60
+ extractTextDelta: undefined;
61
+ mapPrompt<INPUT_PROMPT>(promptMapping: PromptMapping<INPUT_PROMPT, string>): PromptMappingTextGenerationModel<INPUT_PROMPT, string, HuggingFaceTextGenerationResponse, undefined, HuggingFaceTextGenerationModelSettings, this>;
62
+ withSettings(additionalSettings: Partial<HuggingFaceTextGenerationModelSettings>): this;
63
+ get maxCompletionTokens(): number | undefined;
64
+ withMaxCompletionTokens(maxCompletionTokens: number): this;
65
+ withStopTokens(): this;
66
+ }
67
+ declare const huggingFaceTextGenerationResponseSchema: z.ZodArray<z.ZodObject<{
68
+ generated_text: z.ZodString;
69
+ }, "strip", z.ZodTypeAny, {
70
+ generated_text: string;
71
+ }, {
72
+ generated_text: string;
73
+ }>, "many">;
74
+ export type HuggingFaceTextGenerationResponse = z.infer<typeof huggingFaceTextGenerationResponseSchema>;
75
+ export {};
@@ -0,0 +1,167 @@
1
+ import z from "zod";
2
+ import { AbstractModel } from "../../model-function/AbstractModel.js";
3
+ import { callWithRetryAndThrottle } from "../../util/api/callWithRetryAndThrottle.js";
4
+ import { createJsonResponseHandler, postJsonToApi, } from "../../util/api/postToApi.js";
5
+ import { failedHuggingFaceCallResponseHandler } from "./HuggingFaceError.js";
6
+ import { PromptMappingTextGenerationModel } from "../../prompt/PromptMappingTextGenerationModel.js";
7
+ /**
8
+ * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
9
+ *
10
+ * @see https://huggingface.co/docs/api-inference/detailed_parameters#text-generation-task
11
+ *
12
+ * @example
13
+ * const model = new HuggingFaceTextGenerationModel({
14
+ * model: "tiiuae/falcon-7b",
15
+ * temperature: 0.7,
16
+ * maxTokens: 500,
17
+ * retry: retryWithExponentialBackoff({ maxTries: 5 }),
18
+ * });
19
+ *
20
+ * const { text } = await generateText(
21
+ * model,
22
+ * "Write a short story about a robot learning to love:\n\n"
23
+ * );
24
+ */
25
+ export class HuggingFaceTextGenerationModel extends AbstractModel {
26
+ constructor(settings) {
27
+ super({ settings });
28
+ Object.defineProperty(this, "provider", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: "huggingface"
33
+ });
34
+ Object.defineProperty(this, "contextWindowSize", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: undefined
39
+ });
40
+ Object.defineProperty(this, "tokenizer", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: undefined
45
+ });
46
+ Object.defineProperty(this, "countPromptTokens", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: undefined
51
+ });
52
+ Object.defineProperty(this, "generateDeltaStreamResponse", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: undefined
57
+ });
58
+ Object.defineProperty(this, "extractTextDelta", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: undefined
63
+ });
64
+ }
65
+ get modelName() {
66
+ return this.settings.model;
67
+ }
68
+ get apiKey() {
69
+ const apiKey = this.settings.apiKey ?? process.env.HUGGINGFACE_API_KEY;
70
+ if (apiKey == null) {
71
+ throw new Error("No Hugging Face API key provided. Pass it in the constructor or set the HUGGINGFACE_API_KEY environment variable.");
72
+ }
73
+ return apiKey;
74
+ }
75
+ async callAPI(prompt, options) {
76
+ const run = options?.run;
77
+ const settings = options?.settings;
78
+ const callSettings = Object.assign({
79
+ apiKey: this.apiKey,
80
+ options: {
81
+ useCache: true,
82
+ waitForModel: true,
83
+ },
84
+ }, this.settings, settings, {
85
+ abortSignal: run?.abortSignal,
86
+ inputs: prompt,
87
+ });
88
+ return callWithRetryAndThrottle({
89
+ retry: this.settings.retry,
90
+ throttle: this.settings.throttle,
91
+ call: async () => callHuggingFaceTextGenerationAPI(callSettings),
92
+ });
93
+ }
94
+ generateTextResponse(prompt, options) {
95
+ return this.callAPI(prompt, options);
96
+ }
97
+ extractText(response) {
98
+ return response[0].generated_text;
99
+ }
100
+ mapPrompt(promptMapping) {
101
+ return new PromptMappingTextGenerationModel({
102
+ model: this,
103
+ promptMapping,
104
+ });
105
+ }
106
+ withSettings(additionalSettings) {
107
+ return new HuggingFaceTextGenerationModel(Object.assign({}, this.settings, additionalSettings));
108
+ }
109
+ get maxCompletionTokens() {
110
+ return this.settings.maxNewTokens;
111
+ }
112
+ withMaxCompletionTokens(maxCompletionTokens) {
113
+ return this.withSettings({ maxNewTokens: maxCompletionTokens });
114
+ }
115
+ withStopTokens() {
116
+ // stop tokens are not supported by the HuggingFace API
117
+ return this;
118
+ }
119
+ }
120
+ const huggingFaceTextGenerationResponseSchema = z.array(z.object({
121
+ generated_text: z.string(),
122
+ }));
123
+ /**
124
+ * Call a Hugging Face Inference API Text Generation Task to generate a text completion for the given prompt.
125
+ *
126
+ * @see https://huggingface.co/docs/api-inference/detailed_parameters#text-generation-task
127
+ *
128
+ * @example
129
+ * const response = await callHuggingFaceTextGenerationAPI({
130
+ * apiKey: HUGGINGFACE_API_KEY,
131
+ * model: "tiiuae/falcon-7b",
132
+ * inputs: "Write a short story about a robot learning to love:\n\n",
133
+ * temperature: 700,
134
+ * maxNewTokens: 500,
135
+ * options: {
136
+ * waitForModel: true,
137
+ * },
138
+ * });
139
+ *
140
+ * console.log(response[0].generated_text);
141
+ */
142
+ async function callHuggingFaceTextGenerationAPI({ baseUrl = "https://api-inference.huggingface.co/models", abortSignal, apiKey, model, inputs, topK, topP, temperature, repetitionPenalty, maxNewTokens, maxTime, numReturnSequences, doSample, options, }) {
143
+ return postJsonToApi({
144
+ url: `${baseUrl}/${model}`,
145
+ apiKey,
146
+ body: {
147
+ inputs,
148
+ top_k: topK,
149
+ top_p: topP,
150
+ temperature,
151
+ repetition_penalty: repetitionPenalty,
152
+ max_new_tokens: maxNewTokens,
153
+ max_time: maxTime,
154
+ num_return_sequences: numReturnSequences,
155
+ do_sample: doSample,
156
+ options: options
157
+ ? {
158
+ use_cache: options?.useCache,
159
+ wait_for_model: options?.waitForModel,
160
+ }
161
+ : undefined,
162
+ },
163
+ failedResponseHandler: failedHuggingFaceCallResponseHandler,
164
+ successfulResponseHandler: createJsonResponseHandler(huggingFaceTextGenerationResponseSchema),
165
+ abortSignal,
166
+ });
167
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.HuggingFaceError = void 0;
18
+ var HuggingFaceError_js_1 = require("./HuggingFaceError.cjs");
19
+ Object.defineProperty(exports, "HuggingFaceError", { enumerable: true, get: function () { return HuggingFaceError_js_1.HuggingFaceError; } });
20
+ __exportStar(require("./HuggingFaceTextGenerationModel.cjs"), exports);
@@ -0,0 +1,2 @@
1
+ export { HuggingFaceError, HuggingFaceErrorData } from "./HuggingFaceError.js";
2
+ export * from "./HuggingFaceTextGenerationModel.js";
@@ -0,0 +1,2 @@
1
+ export { HuggingFaceError } from "./HuggingFaceError.js";
2
+ export * from "./HuggingFaceTextGenerationModel.js";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./automatic1111/index.cjs"), exports);
18
+ __exportStar(require("./cohere/index.cjs"), exports);
19
+ __exportStar(require("./huggingface/index.cjs"), exports);
20
+ __exportStar(require("./llamacpp/index.cjs"), exports);
21
+ __exportStar(require("./openai/index.cjs"), exports);
22
+ __exportStar(require("./stability/index.cjs"), exports);
@@ -0,0 +1,6 @@
1
+ export * from "./automatic1111/index.js";
2
+ export * from "./cohere/index.js";
3
+ export * from "./huggingface/index.js";
4
+ export * from "./llamacpp/index.js";
5
+ export * from "./openai/index.js";
6
+ export * from "./stability/index.js";
@@ -0,0 +1,6 @@
1
+ export * from "./automatic1111/index.js";
2
+ export * from "./cohere/index.js";
3
+ export * from "./huggingface/index.js";
4
+ export * from "./llamacpp/index.js";
5
+ export * from "./openai/index.js";
6
+ export * from "./stability/index.js";
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.failedLlamaCppCallResponseHandler = exports.LlamaCppError = exports.llamaCppErrorDataSchema = void 0;
7
+ const secure_json_parse_1 = __importDefault(require("secure-json-parse"));
8
+ const zod_1 = require("zod");
9
+ const ApiCallError_js_1 = require("../../util/api/ApiCallError.cjs");
10
+ exports.llamaCppErrorDataSchema = zod_1.z.object({
11
+ error: zod_1.z.string(),
12
+ });
13
+ class LlamaCppError extends ApiCallError_js_1.ApiCallError {
14
+ constructor({ data, statusCode, url, requestBodyValues, message = data.error, }) {
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.LlamaCppError = LlamaCppError;
26
+ const failedLlamaCppCallResponseHandler = async ({ response, url, requestBodyValues }) => {
27
+ const responseBody = await response.text();
28
+ try {
29
+ const parsedError = exports.llamaCppErrorDataSchema.parse(secure_json_parse_1.default.parse(responseBody));
30
+ return new LlamaCppError({
31
+ url,
32
+ requestBodyValues,
33
+ statusCode: response.status,
34
+ data: parsedError,
35
+ });
36
+ }
37
+ catch (error) {
38
+ if (error instanceof Error) {
39
+ if (error.name === "AbortError" || error instanceof ApiCallError_js_1.ApiCallError) {
40
+ throw error;
41
+ }
42
+ }
43
+ throw new ApiCallError_js_1.ApiCallError({
44
+ message: responseBody,
45
+ cause: error,
46
+ statusCode: response.status,
47
+ url,
48
+ requestBodyValues,
49
+ });
50
+ }
51
+ };
52
+ exports.failedLlamaCppCallResponseHandler = failedLlamaCppCallResponseHandler;
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { ApiCallError } from "../../util/api/ApiCallError.js";
3
+ import { ResponseHandler } from "../../util/api/postToApi.js";
4
+ export declare const llamaCppErrorDataSchema: z.ZodObject<{
5
+ error: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ error: string;
8
+ }, {
9
+ error: string;
10
+ }>;
11
+ export type LlamaCppErrorData = z.infer<typeof llamaCppErrorDataSchema>;
12
+ export declare class LlamaCppError extends ApiCallError {
13
+ readonly data: LlamaCppErrorData;
14
+ constructor({ data, statusCode, url, requestBodyValues, message, }: {
15
+ message?: string;
16
+ statusCode: number;
17
+ url: string;
18
+ requestBodyValues: unknown;
19
+ data: LlamaCppErrorData;
20
+ });
21
+ }
22
+ export declare const failedLlamaCppCallResponseHandler: ResponseHandler<ApiCallError>;