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,31 @@
1
+ import { z } from "zod";
2
+ import { ResponseHandler } from "../../util/api/postToApi.js";
3
+ import { ApiCallError } from "../../util/api/ApiCallError.js";
4
+ export declare const automatic1111ErrorDataSchema: z.ZodObject<{
5
+ error: z.ZodString;
6
+ detail: z.ZodString;
7
+ body: z.ZodString;
8
+ errors: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ error: string;
11
+ errors: string;
12
+ body: string;
13
+ detail: string;
14
+ }, {
15
+ error: string;
16
+ errors: string;
17
+ body: string;
18
+ detail: string;
19
+ }>;
20
+ export type Automatic1111ErrorData = z.infer<typeof automatic1111ErrorDataSchema>;
21
+ export declare class Automatic1111Error extends ApiCallError {
22
+ readonly data: Automatic1111ErrorData;
23
+ constructor({ data, statusCode, url, requestBodyValues, message, }: {
24
+ message?: string;
25
+ statusCode: number;
26
+ url: string;
27
+ requestBodyValues: unknown;
28
+ data: Automatic1111ErrorData;
29
+ });
30
+ }
31
+ export declare const failedAutomatic1111CallResponseHandler: ResponseHandler<ApiCallError>;
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ import SecureJSON from "secure-json-parse";
3
+ import { ApiCallError } from "../../util/api/ApiCallError.js";
4
+ export const automatic1111ErrorDataSchema = z.object({
5
+ error: z.string(),
6
+ detail: z.string(),
7
+ body: z.string(),
8
+ errors: z.string(),
9
+ });
10
+ export class Automatic1111Error extends ApiCallError {
11
+ constructor({ data, statusCode, url, requestBodyValues, message = data.detail, }) {
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 failedAutomatic1111CallResponseHandler = async ({ response, url, requestBodyValues }) => {
23
+ const responseBody = await response.text();
24
+ const parsedError = automatic1111ErrorDataSchema.parse(SecureJSON.parse(responseBody));
25
+ return new Automatic1111Error({
26
+ url,
27
+ requestBodyValues,
28
+ statusCode: response.status,
29
+ data: parsedError,
30
+ });
31
+ };
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Automatic1111ImageGenerationModel = void 0;
4
+ const zod_1 = require("zod");
5
+ const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
6
+ const callWithRetryAndThrottle_js_1 = require("../../util/api/callWithRetryAndThrottle.cjs");
7
+ const postToApi_js_1 = require("../../util/api/postToApi.cjs");
8
+ const Automatic1111Error_js_1 = require("./Automatic1111Error.cjs");
9
+ /**
10
+ * Create an image generation model that calls the AUTOMATIC1111 Stable Diffusion Web UI API.
11
+ *
12
+ * @see https://github.com/AUTOMATIC1111/stable-diffusion-webui
13
+ */
14
+ class Automatic1111ImageGenerationModel extends AbstractModel_js_1.AbstractModel {
15
+ constructor(settings) {
16
+ super({ settings });
17
+ Object.defineProperty(this, "provider", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: "Automatic1111"
22
+ });
23
+ }
24
+ get modelName() {
25
+ return this.settings.model;
26
+ }
27
+ async callAPI(input, options) {
28
+ const run = options?.run;
29
+ const settings = options?.settings;
30
+ const callSettings = Object.assign(this.settings, settings, {
31
+ abortSignal: run?.abortSignal,
32
+ engineId: this.settings.model,
33
+ prompt: input.prompt,
34
+ });
35
+ return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
36
+ retry: this.settings.retry,
37
+ throttle: this.settings.throttle,
38
+ call: async () => callAutomatic1111ImageGenerationAPI(callSettings),
39
+ });
40
+ }
41
+ generateImageResponse(prompt, options) {
42
+ return this.callAPI(prompt, options);
43
+ }
44
+ extractBase64Image(response) {
45
+ return response.images[0];
46
+ }
47
+ withSettings(additionalSettings) {
48
+ return new Automatic1111ImageGenerationModel(Object.assign({}, this.settings, additionalSettings));
49
+ }
50
+ }
51
+ exports.Automatic1111ImageGenerationModel = Automatic1111ImageGenerationModel;
52
+ const Automatic1111ImageGenerationResponseSchema = zod_1.z.object({
53
+ images: zod_1.z.array(zod_1.z.string()),
54
+ parameters: zod_1.z.object({}),
55
+ info: zod_1.z.string(),
56
+ });
57
+ async function callAutomatic1111ImageGenerationAPI({ baseUrl = "http://127.0.0.1:7860", abortSignal, height, width, prompt, negativePrompt, sampler, steps, seed, model, }) {
58
+ return (0, postToApi_js_1.postJsonToApi)({
59
+ url: `${baseUrl}/sdapi/v1/txt2img`,
60
+ body: {
61
+ height,
62
+ width,
63
+ prompt,
64
+ negative_prompt: negativePrompt,
65
+ sampler_index: sampler,
66
+ steps,
67
+ seed,
68
+ override_settings: {
69
+ sd_model_checkpoint: model,
70
+ },
71
+ },
72
+ failedResponseHandler: Automatic1111Error_js_1.failedAutomatic1111CallResponseHandler,
73
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(Automatic1111ImageGenerationResponseSchema),
74
+ abortSignal,
75
+ });
76
+ }
@@ -0,0 +1,54 @@
1
+ import { z } from "zod";
2
+ import { AbstractModel } from "../../model-function/AbstractModel.js";
3
+ import { FunctionOptions } from "../../model-function/FunctionOptions.js";
4
+ import { ImageGenerationModel, ImageGenerationModelSettings } from "../../model-function/generate-image/ImageGenerationModel.js";
5
+ import { RetryFunction } from "../../util/api/RetryFunction.js";
6
+ import { ThrottleFunction } from "../../util/api/ThrottleFunction.js";
7
+ /**
8
+ * Create an image generation model that calls the AUTOMATIC1111 Stable Diffusion Web UI API.
9
+ *
10
+ * @see https://github.com/AUTOMATIC1111/stable-diffusion-webui
11
+ */
12
+ export declare class Automatic1111ImageGenerationModel extends AbstractModel<Automatic1111ImageGenerationModelSettings> implements ImageGenerationModel<A111ImageGenerationPrompt, Automatic1111ImageGenerationResponse, Automatic1111ImageGenerationModelSettings> {
13
+ constructor(settings: Automatic1111ImageGenerationModelSettings);
14
+ readonly provider: "Automatic1111";
15
+ get modelName(): string;
16
+ callAPI(input: A111ImageGenerationPrompt, options?: FunctionOptions<Automatic1111ImageGenerationModelSettings>): Promise<Automatic1111ImageGenerationResponse>;
17
+ generateImageResponse(prompt: A111ImageGenerationPrompt, options?: FunctionOptions<Automatic1111ImageGenerationModelSettings>): Promise<{
18
+ parameters: {};
19
+ images: string[];
20
+ info: string;
21
+ }>;
22
+ extractBase64Image(response: Automatic1111ImageGenerationResponse): string;
23
+ withSettings(additionalSettings: Automatic1111ImageGenerationModelSettings): this;
24
+ }
25
+ export interface Automatic1111ImageGenerationModelSettings extends ImageGenerationModelSettings {
26
+ baseUrl?: string;
27
+ retry?: RetryFunction;
28
+ throttle?: ThrottleFunction;
29
+ model: string;
30
+ height?: number;
31
+ width?: number;
32
+ sampler?: string;
33
+ steps?: number;
34
+ }
35
+ declare const Automatic1111ImageGenerationResponseSchema: z.ZodObject<{
36
+ images: z.ZodArray<z.ZodString, "many">;
37
+ parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
38
+ info: z.ZodString;
39
+ }, "strip", z.ZodTypeAny, {
40
+ parameters: {};
41
+ images: string[];
42
+ info: string;
43
+ }, {
44
+ parameters: {};
45
+ images: string[];
46
+ info: string;
47
+ }>;
48
+ export type Automatic1111ImageGenerationResponse = z.infer<typeof Automatic1111ImageGenerationResponseSchema>;
49
+ export type A111ImageGenerationPrompt = {
50
+ prompt: string;
51
+ negativePrompt?: string;
52
+ seed?: number;
53
+ };
54
+ export {};
@@ -0,0 +1,72 @@
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 { failedAutomatic1111CallResponseHandler } from "./Automatic1111Error.js";
6
+ /**
7
+ * Create an image generation model that calls the AUTOMATIC1111 Stable Diffusion Web UI API.
8
+ *
9
+ * @see https://github.com/AUTOMATIC1111/stable-diffusion-webui
10
+ */
11
+ export class Automatic1111ImageGenerationModel extends AbstractModel {
12
+ constructor(settings) {
13
+ super({ settings });
14
+ Object.defineProperty(this, "provider", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: "Automatic1111"
19
+ });
20
+ }
21
+ get modelName() {
22
+ return this.settings.model;
23
+ }
24
+ async callAPI(input, options) {
25
+ const run = options?.run;
26
+ const settings = options?.settings;
27
+ const callSettings = Object.assign(this.settings, settings, {
28
+ abortSignal: run?.abortSignal,
29
+ engineId: this.settings.model,
30
+ prompt: input.prompt,
31
+ });
32
+ return callWithRetryAndThrottle({
33
+ retry: this.settings.retry,
34
+ throttle: this.settings.throttle,
35
+ call: async () => callAutomatic1111ImageGenerationAPI(callSettings),
36
+ });
37
+ }
38
+ generateImageResponse(prompt, options) {
39
+ return this.callAPI(prompt, options);
40
+ }
41
+ extractBase64Image(response) {
42
+ return response.images[0];
43
+ }
44
+ withSettings(additionalSettings) {
45
+ return new Automatic1111ImageGenerationModel(Object.assign({}, this.settings, additionalSettings));
46
+ }
47
+ }
48
+ const Automatic1111ImageGenerationResponseSchema = z.object({
49
+ images: z.array(z.string()),
50
+ parameters: z.object({}),
51
+ info: z.string(),
52
+ });
53
+ async function callAutomatic1111ImageGenerationAPI({ baseUrl = "http://127.0.0.1:7860", abortSignal, height, width, prompt, negativePrompt, sampler, steps, seed, model, }) {
54
+ return postJsonToApi({
55
+ url: `${baseUrl}/sdapi/v1/txt2img`,
56
+ body: {
57
+ height,
58
+ width,
59
+ prompt,
60
+ negative_prompt: negativePrompt,
61
+ sampler_index: sampler,
62
+ steps,
63
+ seed,
64
+ override_settings: {
65
+ sd_model_checkpoint: model,
66
+ },
67
+ },
68
+ failedResponseHandler: failedAutomatic1111CallResponseHandler,
69
+ successfulResponseHandler: createJsonResponseHandler(Automatic1111ImageGenerationResponseSchema),
70
+ abortSignal,
71
+ });
72
+ }
@@ -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.Automatic1111Error = void 0;
18
+ var Automatic1111Error_js_1 = require("./Automatic1111Error.cjs");
19
+ Object.defineProperty(exports, "Automatic1111Error", { enumerable: true, get: function () { return Automatic1111Error_js_1.Automatic1111Error; } });
20
+ __exportStar(require("./Automatic1111ImageGenerationModel.cjs"), exports);
@@ -0,0 +1,2 @@
1
+ export { Automatic1111Error, Automatic1111ErrorData, } from "./Automatic1111Error.js";
2
+ export * from "./Automatic1111ImageGenerationModel.js";
@@ -0,0 +1,2 @@
1
+ export { Automatic1111Error, } from "./Automatic1111Error.js";
2
+ export * from "./Automatic1111ImageGenerationModel.js";
@@ -0,0 +1,36 @@
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.failedCohereCallResponseHandler = exports.CohereError = exports.cohereErrorDataSchema = 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.cohereErrorDataSchema = zod_1.z.object({
11
+ message: zod_1.z.string(),
12
+ });
13
+ class CohereError extends ApiCallError_js_1.ApiCallError {
14
+ constructor({ data, statusCode, url, requestBodyValues, message = data.message, }) {
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.CohereError = CohereError;
26
+ const failedCohereCallResponseHandler = async ({ response, url, requestBodyValues }) => {
27
+ const responseBody = await response.text();
28
+ const parsedError = exports.cohereErrorDataSchema.parse(secure_json_parse_1.default.parse(responseBody));
29
+ return new CohereError({
30
+ url,
31
+ requestBodyValues,
32
+ statusCode: response.status,
33
+ data: parsedError,
34
+ });
35
+ };
36
+ exports.failedCohereCallResponseHandler = failedCohereCallResponseHandler;
@@ -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 cohereErrorDataSchema: z.ZodObject<{
5
+ message: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ message: string;
8
+ }, {
9
+ message: string;
10
+ }>;
11
+ export type CohereErrorData = z.infer<typeof cohereErrorDataSchema>;
12
+ export declare class CohereError extends ApiCallError {
13
+ readonly data: CohereErrorData;
14
+ constructor({ data, statusCode, url, requestBodyValues, message, }: {
15
+ message?: string;
16
+ statusCode: number;
17
+ url: string;
18
+ requestBodyValues: unknown;
19
+ data: CohereErrorData;
20
+ });
21
+ }
22
+ export declare const failedCohereCallResponseHandler: ResponseHandler<ApiCallError>;
@@ -0,0 +1,28 @@
1
+ import SecureJSON from "secure-json-parse";
2
+ import { z } from "zod";
3
+ import { ApiCallError } from "../../util/api/ApiCallError.js";
4
+ export const cohereErrorDataSchema = z.object({
5
+ message: z.string(),
6
+ });
7
+ export class CohereError extends ApiCallError {
8
+ constructor({ data, statusCode, url, requestBodyValues, message = data.message, }) {
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 failedCohereCallResponseHandler = async ({ response, url, requestBodyValues }) => {
20
+ const responseBody = await response.text();
21
+ const parsedError = cohereErrorDataSchema.parse(SecureJSON.parse(responseBody));
22
+ return new CohereError({
23
+ url,
24
+ requestBodyValues,
25
+ statusCode: response.status,
26
+ data: parsedError,
27
+ });
28
+ };
@@ -0,0 +1,172 @@
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.CohereTextEmbeddingModel = exports.COHERE_TEXT_EMBEDDING_MODELS = 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 CohereError_js_1 = require("./CohereError.cjs");
12
+ const CohereTokenizer_js_1 = require("./CohereTokenizer.cjs");
13
+ exports.COHERE_TEXT_EMBEDDING_MODELS = {
14
+ "embed-english-light-v2.0": {
15
+ contextWindowSize: 4096,
16
+ embeddingDimensions: 1024,
17
+ },
18
+ "embed-english-v2.0": {
19
+ contextWindowSize: 4096,
20
+ embeddingDimensions: 4096,
21
+ },
22
+ "embed-multilingual-v2.0": {
23
+ contextWindowSize: 4096,
24
+ embeddingDimensions: 768,
25
+ },
26
+ };
27
+ /**
28
+ * Create a text embedding model that calls the Cohere Co.Embed API.
29
+ *
30
+ * @see https://docs.cohere.com/reference/embed
31
+ *
32
+ * @example
33
+ * const { embeddings } = await embedTexts(
34
+ * new CohereTextEmbeddingModel({ model: "embed-english-light-v2.0" }),
35
+ * [
36
+ * "At first, Nox didn't know what to do with the pup.",
37
+ * "He keenly observed and absorbed everything around him, from the birds in the sky to the trees in the forest.",
38
+ * ]
39
+ * );
40
+ */
41
+ class CohereTextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
42
+ constructor(settings) {
43
+ super({ settings });
44
+ Object.defineProperty(this, "provider", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: "cohere"
49
+ });
50
+ Object.defineProperty(this, "maxTextsPerCall", {
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true,
54
+ value: 96
55
+ });
56
+ Object.defineProperty(this, "embeddingDimensions", {
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true,
60
+ value: void 0
61
+ });
62
+ Object.defineProperty(this, "contextWindowSize", {
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true,
66
+ value: void 0
67
+ });
68
+ Object.defineProperty(this, "tokenizer", {
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true,
72
+ value: void 0
73
+ });
74
+ this.contextWindowSize =
75
+ exports.COHERE_TEXT_EMBEDDING_MODELS[this.modelName].contextWindowSize;
76
+ this.tokenizer = new CohereTokenizer_js_1.CohereTokenizer({
77
+ baseUrl: this.settings.baseUrl,
78
+ apiKey: this.settings.apiKey,
79
+ model: this.settings.model,
80
+ retry: this.settings.tokenizerSettings?.retry,
81
+ throttle: this.settings.tokenizerSettings?.throttle,
82
+ });
83
+ this.embeddingDimensions =
84
+ exports.COHERE_TEXT_EMBEDDING_MODELS[this.modelName].embeddingDimensions;
85
+ }
86
+ get modelName() {
87
+ return this.settings.model;
88
+ }
89
+ async tokenize(text) {
90
+ return this.tokenizer.tokenize(text);
91
+ }
92
+ async tokenizeWithTexts(text) {
93
+ return this.tokenizer.tokenizeWithTexts(text);
94
+ }
95
+ async detokenize(tokens) {
96
+ return this.tokenizer.detokenize(tokens);
97
+ }
98
+ get apiKey() {
99
+ const apiKey = this.settings.apiKey ?? process.env.COHERE_API_KEY;
100
+ if (apiKey == null) {
101
+ throw new Error("No Cohere API key provided. Pass an API key to the constructor or set the COHERE_API_KEY environment variable.");
102
+ }
103
+ return apiKey;
104
+ }
105
+ async callAPI(texts, options) {
106
+ if (texts.length > this.maxTextsPerCall) {
107
+ throw new Error(`The Cohere embedding API only supports ${this.maxTextsPerCall} texts per API call.`);
108
+ }
109
+ const run = options?.run;
110
+ const settings = options?.settings;
111
+ const callSettings = Object.assign({
112
+ apiKey: this.apiKey,
113
+ }, this.settings, settings, {
114
+ abortSignal: run?.abortSignal,
115
+ texts,
116
+ });
117
+ return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
118
+ retry: this.settings.retry,
119
+ throttle: this.settings.throttle,
120
+ call: async () => callCohereEmbeddingAPI(callSettings),
121
+ });
122
+ }
123
+ generateEmbeddingResponse(texts, options) {
124
+ return this.callAPI(texts, options);
125
+ }
126
+ extractEmbeddings(response) {
127
+ return response.embeddings;
128
+ }
129
+ withSettings(additionalSettings) {
130
+ return new CohereTextEmbeddingModel(Object.assign({}, this.settings, additionalSettings));
131
+ }
132
+ }
133
+ exports.CohereTextEmbeddingModel = CohereTextEmbeddingModel;
134
+ const cohereTextEmbeddingResponseSchema = zod_1.default.object({
135
+ id: zod_1.default.string(),
136
+ texts: zod_1.default.array(zod_1.default.string()),
137
+ embeddings: zod_1.default.array(zod_1.default.array(zod_1.default.number())),
138
+ meta: zod_1.default.object({
139
+ api_version: zod_1.default.object({
140
+ version: zod_1.default.string(),
141
+ }),
142
+ }),
143
+ });
144
+ /**
145
+ * Call the Cohere Co.Embed API to generate an embedding for the given input.
146
+ *
147
+ * @see https://docs.cohere.com/reference/embed
148
+ *
149
+ * @example
150
+ * const response = await callCohereEmbeddingAPI({
151
+ * apiKey: COHERE_API_KEY,
152
+ * model: "embed-english-light-v2.0",
153
+ * texts: [
154
+ * "At first, Nox didn't know what to do with the pup.",
155
+ * "He keenly observed and absorbed everything around him, from the birds in the sky to the trees in the forest.",
156
+ * ],
157
+ * });
158
+ */
159
+ async function callCohereEmbeddingAPI({ baseUrl = "https://api.cohere.ai/v1", abortSignal, apiKey, model, texts, truncate, }) {
160
+ return (0, postToApi_js_1.postJsonToApi)({
161
+ url: `${baseUrl}/embed`,
162
+ apiKey,
163
+ body: {
164
+ model,
165
+ texts,
166
+ truncate,
167
+ },
168
+ failedResponseHandler: CohereError_js_1.failedCohereCallResponseHandler,
169
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(cohereTextEmbeddingResponseSchema),
170
+ abortSignal,
171
+ });
172
+ }
@@ -0,0 +1,119 @@
1
+ import z from "zod";
2
+ import { AbstractModel } from "../../model-function/AbstractModel.js";
3
+ import { FunctionOptions } from "../../model-function/FunctionOptions.js";
4
+ import { TextEmbeddingModel, TextEmbeddingModelSettings } from "../../model-function/embed-text/TextEmbeddingModel.js";
5
+ import { FullTokenizer } from "../../model-function/tokenize-text/Tokenizer.js";
6
+ import { RetryFunction } from "../../util/api/RetryFunction.js";
7
+ import { ThrottleFunction } from "../../util/api/ThrottleFunction.js";
8
+ export declare const COHERE_TEXT_EMBEDDING_MODELS: {
9
+ "embed-english-light-v2.0": {
10
+ contextWindowSize: number;
11
+ embeddingDimensions: number;
12
+ };
13
+ "embed-english-v2.0": {
14
+ contextWindowSize: number;
15
+ embeddingDimensions: number;
16
+ };
17
+ "embed-multilingual-v2.0": {
18
+ contextWindowSize: number;
19
+ embeddingDimensions: number;
20
+ };
21
+ };
22
+ export type CohereTextEmbeddingModelType = keyof typeof COHERE_TEXT_EMBEDDING_MODELS;
23
+ export interface CohereTextEmbeddingModelSettings extends TextEmbeddingModelSettings {
24
+ model: CohereTextEmbeddingModelType;
25
+ baseUrl?: string;
26
+ apiKey?: string;
27
+ retry?: RetryFunction;
28
+ throttle?: ThrottleFunction;
29
+ tokenizerSettings?: {
30
+ retry?: RetryFunction;
31
+ throttle?: ThrottleFunction;
32
+ };
33
+ truncate?: "NONE" | "START" | "END";
34
+ }
35
+ /**
36
+ * Create a text embedding model that calls the Cohere Co.Embed API.
37
+ *
38
+ * @see https://docs.cohere.com/reference/embed
39
+ *
40
+ * @example
41
+ * const { embeddings } = await embedTexts(
42
+ * new CohereTextEmbeddingModel({ model: "embed-english-light-v2.0" }),
43
+ * [
44
+ * "At first, Nox didn't know what to do with the pup.",
45
+ * "He keenly observed and absorbed everything around him, from the birds in the sky to the trees in the forest.",
46
+ * ]
47
+ * );
48
+ */
49
+ export declare class CohereTextEmbeddingModel extends AbstractModel<CohereTextEmbeddingModelSettings> implements TextEmbeddingModel<CohereTextEmbeddingResponse, CohereTextEmbeddingModelSettings>, FullTokenizer {
50
+ constructor(settings: CohereTextEmbeddingModelSettings);
51
+ readonly provider: "cohere";
52
+ get modelName(): "embed-english-light-v2.0" | "embed-english-v2.0" | "embed-multilingual-v2.0";
53
+ readonly maxTextsPerCall = 96;
54
+ readonly embeddingDimensions: number;
55
+ readonly contextWindowSize: number;
56
+ private readonly tokenizer;
57
+ tokenize(text: string): Promise<number[]>;
58
+ tokenizeWithTexts(text: string): Promise<{
59
+ tokens: number[];
60
+ tokenTexts: string[];
61
+ }>;
62
+ detokenize(tokens: number[]): Promise<string>;
63
+ private get apiKey();
64
+ callAPI(texts: Array<string>, options?: FunctionOptions<CohereTextEmbeddingModelSettings>): Promise<CohereTextEmbeddingResponse>;
65
+ generateEmbeddingResponse(texts: string[], options?: FunctionOptions<CohereTextEmbeddingModelSettings>): Promise<{
66
+ texts: string[];
67
+ embeddings: number[][];
68
+ id: string;
69
+ meta: {
70
+ api_version: {
71
+ version: string;
72
+ };
73
+ };
74
+ }>;
75
+ extractEmbeddings(response: CohereTextEmbeddingResponse): number[][];
76
+ withSettings(additionalSettings: Partial<CohereTextEmbeddingModelSettings>): this;
77
+ }
78
+ declare const cohereTextEmbeddingResponseSchema: z.ZodObject<{
79
+ id: z.ZodString;
80
+ texts: z.ZodArray<z.ZodString, "many">;
81
+ embeddings: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
82
+ meta: z.ZodObject<{
83
+ api_version: z.ZodObject<{
84
+ version: z.ZodString;
85
+ }, "strip", z.ZodTypeAny, {
86
+ version: string;
87
+ }, {
88
+ version: string;
89
+ }>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ api_version: {
92
+ version: string;
93
+ };
94
+ }, {
95
+ api_version: {
96
+ version: string;
97
+ };
98
+ }>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ texts: string[];
101
+ embeddings: number[][];
102
+ id: string;
103
+ meta: {
104
+ api_version: {
105
+ version: string;
106
+ };
107
+ };
108
+ }, {
109
+ texts: string[];
110
+ embeddings: number[][];
111
+ id: string;
112
+ meta: {
113
+ api_version: {
114
+ version: string;
115
+ };
116
+ };
117
+ }>;
118
+ export type CohereTextEmbeddingResponse = z.infer<typeof cohereTextEmbeddingResponseSchema>;
119
+ export {};