modelfusion 0.109.0 → 0.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/core/api/ApiFacade.cjs +20 -0
  3. package/core/api/ApiFacade.d.ts +4 -0
  4. package/core/api/ApiFacade.js +4 -0
  5. package/core/api/BaseUrlApiConfiguration.cjs +47 -5
  6. package/core/api/BaseUrlApiConfiguration.d.ts +23 -6
  7. package/core/api/BaseUrlApiConfiguration.js +45 -4
  8. package/core/api/BaseUrlApiConfiguration.test.cjs +11 -0
  9. package/core/api/BaseUrlApiConfiguration.test.d.ts +1 -0
  10. package/core/api/BaseUrlApiConfiguration.test.js +9 -0
  11. package/core/api/callWithRetryAndThrottle.cjs +3 -3
  12. package/core/api/callWithRetryAndThrottle.js +3 -3
  13. package/core/api/index.cjs +15 -2
  14. package/core/api/index.d.ts +2 -2
  15. package/core/api/index.js +2 -2
  16. package/core/api/postToApi.cjs +28 -5
  17. package/core/api/postToApi.d.ts +5 -4
  18. package/core/api/postToApi.js +26 -4
  19. package/core/api/throttleOff.cjs +8 -0
  20. package/core/api/throttleOff.d.ts +5 -0
  21. package/core/api/throttleOff.js +4 -0
  22. package/{extension → internal}/index.cjs +2 -7
  23. package/{extension → internal}/index.d.ts +1 -1
  24. package/{extension → internal}/index.js +1 -1
  25. package/model-function/generate-structure/generateStructure.d.ts +1 -1
  26. package/model-provider/anthropic/AnthropicApiConfiguration.cjs +14 -6
  27. package/model-provider/anthropic/AnthropicApiConfiguration.d.ts +7 -8
  28. package/model-provider/anthropic/AnthropicApiConfiguration.js +15 -7
  29. package/model-provider/anthropic/AnthropicError.cjs +7 -27
  30. package/model-provider/anthropic/AnthropicError.d.ts +21 -16
  31. package/model-provider/anthropic/AnthropicError.js +7 -25
  32. package/model-provider/anthropic/AnthropicFacade.cjs +10 -1
  33. package/model-provider/anthropic/AnthropicFacade.d.ts +9 -0
  34. package/model-provider/anthropic/AnthropicFacade.js +8 -0
  35. package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +22 -24
  36. package/model-provider/anthropic/AnthropicTextGenerationModel.js +23 -25
  37. package/model-provider/anthropic/index.cjs +1 -4
  38. package/model-provider/anthropic/index.d.ts +1 -1
  39. package/model-provider/anthropic/index.js +0 -1
  40. package/model-provider/automatic1111/Automatic1111ApiConfiguration.cjs +12 -4
  41. package/model-provider/automatic1111/Automatic1111ApiConfiguration.d.ts +3 -3
  42. package/model-provider/automatic1111/Automatic1111ApiConfiguration.js +12 -4
  43. package/model-provider/automatic1111/Automatic1111Error.cjs +3 -3
  44. package/model-provider/automatic1111/Automatic1111Error.d.ts +13 -3
  45. package/model-provider/automatic1111/Automatic1111Error.js +4 -4
  46. package/model-provider/automatic1111/Automatic1111Facade.cjs +9 -9
  47. package/model-provider/automatic1111/Automatic1111Facade.d.ts +6 -6
  48. package/model-provider/automatic1111/Automatic1111Facade.js +7 -7
  49. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +11 -7
  50. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +11 -7
  51. package/model-provider/cohere/CohereApiConfiguration.cjs +14 -6
  52. package/model-provider/cohere/CohereApiConfiguration.d.ts +7 -8
  53. package/model-provider/cohere/CohereApiConfiguration.js +15 -7
  54. package/model-provider/cohere/CohereError.cjs +8 -43
  55. package/model-provider/cohere/CohereError.d.ts +9 -16
  56. package/model-provider/cohere/CohereError.js +8 -41
  57. package/model-provider/cohere/CohereFacade.cjs +12 -3
  58. package/model-provider/cohere/CohereFacade.d.ts +11 -2
  59. package/model-provider/cohere/CohereFacade.js +10 -2
  60. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +18 -22
  61. package/model-provider/cohere/CohereTextEmbeddingModel.js +18 -22
  62. package/model-provider/cohere/CohereTextGenerationModel.cjs +31 -39
  63. package/model-provider/cohere/CohereTextGenerationModel.d.ts +110 -8
  64. package/model-provider/cohere/CohereTextGenerationModel.js +31 -39
  65. package/model-provider/cohere/CohereTokenizer.cjs +32 -41
  66. package/model-provider/cohere/CohereTokenizer.d.ts +2 -2
  67. package/model-provider/cohere/CohereTokenizer.js +32 -41
  68. package/model-provider/cohere/index.cjs +1 -3
  69. package/model-provider/cohere/index.d.ts +1 -1
  70. package/model-provider/cohere/index.js +0 -1
  71. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.cjs +14 -6
  72. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.d.ts +7 -8
  73. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.js +15 -7
  74. package/model-provider/elevenlabs/ElevenLabsFacade.cjs +10 -1
  75. package/model-provider/elevenlabs/ElevenLabsFacade.d.ts +9 -0
  76. package/model-provider/elevenlabs/ElevenLabsFacade.js +8 -0
  77. package/model-provider/elevenlabs/ElevenLabsSpeechModel.cjs +42 -53
  78. package/model-provider/elevenlabs/ElevenLabsSpeechModel.js +44 -55
  79. package/model-provider/huggingface/HuggingFaceApiConfiguration.cjs +14 -6
  80. package/model-provider/huggingface/HuggingFaceApiConfiguration.d.ts +7 -8
  81. package/model-provider/huggingface/HuggingFaceApiConfiguration.js +15 -7
  82. package/model-provider/huggingface/HuggingFaceError.cjs +7 -29
  83. package/model-provider/huggingface/HuggingFaceError.d.ts +9 -16
  84. package/model-provider/huggingface/HuggingFaceError.js +7 -27
  85. package/model-provider/huggingface/HuggingFaceFacade.cjs +10 -1
  86. package/model-provider/huggingface/HuggingFaceFacade.d.ts +9 -0
  87. package/model-provider/huggingface/HuggingFaceFacade.js +8 -0
  88. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.cjs +17 -27
  89. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.js +17 -27
  90. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +22 -23
  91. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +22 -23
  92. package/model-provider/huggingface/index.cjs +1 -3
  93. package/model-provider/huggingface/index.d.ts +1 -1
  94. package/model-provider/huggingface/index.js +0 -1
  95. package/model-provider/llamacpp/LlamaCppApiConfiguration.cjs +13 -6
  96. package/model-provider/llamacpp/LlamaCppApiConfiguration.d.ts +7 -9
  97. package/model-provider/llamacpp/LlamaCppApiConfiguration.js +14 -7
  98. package/model-provider/llamacpp/LlamaCppCompletionModel.cjs +4 -4
  99. package/model-provider/llamacpp/LlamaCppCompletionModel.d.ts +173 -5
  100. package/model-provider/llamacpp/LlamaCppCompletionModel.js +4 -4
  101. package/model-provider/llamacpp/LlamaCppError.cjs +7 -27
  102. package/model-provider/llamacpp/LlamaCppError.d.ts +9 -16
  103. package/model-provider/llamacpp/LlamaCppError.js +7 -25
  104. package/model-provider/llamacpp/LlamaCppFacade.cjs +10 -2
  105. package/model-provider/llamacpp/LlamaCppFacade.d.ts +8 -1
  106. package/model-provider/llamacpp/LlamaCppFacade.js +8 -1
  107. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.cjs +10 -14
  108. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.js +10 -14
  109. package/model-provider/llamacpp/LlamaCppTokenizer.cjs +14 -18
  110. package/model-provider/llamacpp/LlamaCppTokenizer.js +14 -18
  111. package/model-provider/llamacpp/index.cjs +1 -3
  112. package/model-provider/llamacpp/index.d.ts +1 -1
  113. package/model-provider/llamacpp/index.js +0 -1
  114. package/model-provider/lmnt/LmntApiConfiguration.cjs +14 -6
  115. package/model-provider/lmnt/LmntApiConfiguration.d.ts +7 -8
  116. package/model-provider/lmnt/LmntApiConfiguration.js +15 -7
  117. package/model-provider/lmnt/LmntFacade.cjs +11 -2
  118. package/model-provider/lmnt/LmntFacade.d.ts +10 -1
  119. package/model-provider/lmnt/LmntFacade.js +9 -1
  120. package/model-provider/lmnt/LmntSpeechModel.cjs +53 -41
  121. package/model-provider/lmnt/LmntSpeechModel.d.ts +51 -3
  122. package/model-provider/lmnt/LmntSpeechModel.js +54 -42
  123. package/model-provider/mistral/MistralApiConfiguration.cjs +14 -6
  124. package/model-provider/mistral/MistralApiConfiguration.d.ts +9 -11
  125. package/model-provider/mistral/MistralApiConfiguration.js +15 -7
  126. package/model-provider/mistral/MistralChatModel.cjs +4 -4
  127. package/model-provider/mistral/MistralChatModel.d.ts +48 -3
  128. package/model-provider/mistral/MistralChatModel.js +5 -5
  129. package/model-provider/mistral/MistralError.cjs +3 -3
  130. package/model-provider/mistral/MistralError.d.ts +15 -3
  131. package/model-provider/mistral/MistralError.js +4 -4
  132. package/model-provider/mistral/MistralFacade.cjs +5 -1
  133. package/model-provider/mistral/MistralFacade.d.ts +10 -3
  134. package/model-provider/mistral/MistralFacade.js +6 -2
  135. package/model-provider/mistral/MistralTextEmbeddingModel.cjs +2 -1
  136. package/model-provider/mistral/MistralTextEmbeddingModel.js +2 -1
  137. package/model-provider/ollama/OllamaApiConfiguration.cjs +13 -6
  138. package/model-provider/ollama/OllamaApiConfiguration.d.ts +7 -10
  139. package/model-provider/ollama/OllamaApiConfiguration.js +14 -7
  140. package/model-provider/ollama/OllamaChatModel.cjs +4 -4
  141. package/model-provider/ollama/OllamaChatModel.d.ts +46 -5
  142. package/model-provider/ollama/OllamaChatModel.js +5 -5
  143. package/model-provider/ollama/OllamaCompletionModel.cjs +4 -4
  144. package/model-provider/ollama/OllamaCompletionModel.d.ts +40 -5
  145. package/model-provider/ollama/OllamaCompletionModel.js +5 -5
  146. package/model-provider/ollama/OllamaError.cjs +3 -3
  147. package/model-provider/ollama/OllamaError.d.ts +7 -3
  148. package/model-provider/ollama/OllamaError.js +4 -4
  149. package/model-provider/ollama/OllamaFacade.cjs +6 -2
  150. package/model-provider/ollama/OllamaFacade.d.ts +8 -3
  151. package/model-provider/ollama/OllamaFacade.js +6 -2
  152. package/model-provider/ollama/OllamaTextEmbeddingModel.cjs +15 -16
  153. package/model-provider/ollama/OllamaTextEmbeddingModel.js +15 -16
  154. package/model-provider/openai/AbstractOpenAIChatModel.cjs +4 -4
  155. package/model-provider/openai/AbstractOpenAIChatModel.d.ts +148 -2
  156. package/model-provider/openai/AbstractOpenAIChatModel.js +4 -4
  157. package/model-provider/openai/AbstractOpenAICompletionModel.cjs +30 -32
  158. package/model-provider/openai/AbstractOpenAICompletionModel.js +30 -32
  159. package/model-provider/openai/AzureOpenAIApiConfiguration.d.ts +9 -8
  160. package/model-provider/openai/OpenAIApiConfiguration.cjs +14 -6
  161. package/model-provider/openai/OpenAIApiConfiguration.d.ts +7 -8
  162. package/model-provider/openai/OpenAIApiConfiguration.js +15 -7
  163. package/model-provider/openai/OpenAICompletionModel.cjs +3 -91
  164. package/model-provider/openai/OpenAICompletionModel.d.ts +3 -71
  165. package/model-provider/openai/OpenAICompletionModel.js +3 -91
  166. package/model-provider/openai/OpenAIError.cjs +8 -8
  167. package/model-provider/openai/OpenAIError.d.ts +27 -3
  168. package/model-provider/openai/OpenAIError.js +9 -9
  169. package/model-provider/openai/OpenAIFacade.cjs +23 -2
  170. package/model-provider/openai/OpenAIFacade.d.ts +20 -2
  171. package/model-provider/openai/OpenAIFacade.js +20 -1
  172. package/model-provider/openai/OpenAIImageGenerationModel.cjs +20 -21
  173. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +1 -1
  174. package/model-provider/openai/OpenAIImageGenerationModel.js +20 -21
  175. package/model-provider/openai/OpenAISpeechModel.cjs +17 -22
  176. package/model-provider/openai/OpenAISpeechModel.js +17 -22
  177. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +18 -23
  178. package/model-provider/openai/OpenAITextEmbeddingModel.js +18 -23
  179. package/model-provider/openai/OpenAITranscriptionModel.cjs +42 -48
  180. package/model-provider/openai/OpenAITranscriptionModel.d.ts +14 -10
  181. package/model-provider/openai/OpenAITranscriptionModel.js +42 -48
  182. package/model-provider/openai/TikTokenTokenizer.cjs +0 -18
  183. package/model-provider/openai/TikTokenTokenizer.d.ts +3 -3
  184. package/model-provider/openai/TikTokenTokenizer.js +0 -18
  185. package/model-provider/openai-compatible/FireworksAIApiConfiguration.cjs +11 -7
  186. package/model-provider/openai-compatible/FireworksAIApiConfiguration.d.ts +4 -9
  187. package/model-provider/openai-compatible/FireworksAIApiConfiguration.js +12 -8
  188. package/model-provider/openai-compatible/OpenAICompatibleFacade.cjs +25 -1
  189. package/model-provider/openai-compatible/OpenAICompatibleFacade.d.ts +23 -0
  190. package/model-provider/openai-compatible/OpenAICompatibleFacade.js +22 -0
  191. package/model-provider/openai-compatible/TogetherAIApiConfiguration.cjs +11 -7
  192. package/model-provider/openai-compatible/TogetherAIApiConfiguration.d.ts +4 -9
  193. package/model-provider/openai-compatible/TogetherAIApiConfiguration.js +12 -8
  194. package/model-provider/stability/StabilityApiConfiguration.cjs +13 -12
  195. package/model-provider/stability/StabilityApiConfiguration.d.ts +4 -4
  196. package/model-provider/stability/StabilityApiConfiguration.js +13 -12
  197. package/model-provider/stability/StabilityError.cjs +3 -3
  198. package/model-provider/stability/StabilityError.d.ts +7 -3
  199. package/model-provider/stability/StabilityError.js +4 -4
  200. package/model-provider/stability/StabilityFacade.cjs +9 -9
  201. package/model-provider/stability/StabilityFacade.d.ts +8 -8
  202. package/model-provider/stability/StabilityFacade.js +7 -7
  203. package/model-provider/stability/StabilityImageGenerationModel.cjs +2 -1
  204. package/model-provider/stability/StabilityImageGenerationModel.js +2 -1
  205. package/model-provider/whispercpp/WhisperCppApiConfiguration.cjs +13 -6
  206. package/model-provider/whispercpp/WhisperCppApiConfiguration.d.ts +7 -10
  207. package/model-provider/whispercpp/WhisperCppApiConfiguration.js +14 -7
  208. package/model-provider/whispercpp/WhisperCppFacade.cjs +9 -5
  209. package/model-provider/whispercpp/WhisperCppFacade.d.ts +7 -2
  210. package/model-provider/whispercpp/WhisperCppFacade.js +8 -4
  211. package/model-provider/whispercpp/WhisperCppTranscriptionModel.cjs +5 -2
  212. package/model-provider/whispercpp/WhisperCppTranscriptionModel.js +6 -3
  213. package/package.json +5 -5
  214. package/tool/WebSearchTool.cjs +2 -2
  215. package/tool/WebSearchTool.d.ts +1 -2
  216. package/tool/WebSearchTool.js +3 -3
  217. package/vector-index/memory/MemoryVectorIndex.cjs +2 -2
  218. package/vector-index/memory/MemoryVectorIndex.js +3 -3
  219. package/core/api/BaseUrlPartsApiConfiguration.cjs +0 -53
  220. package/core/api/BaseUrlPartsApiConfiguration.d.ts +0 -26
  221. package/core/api/BaseUrlPartsApiConfiguration.js +0 -49
  222. package/core/api/throttleUnlimitedConcurrency.cjs +0 -8
  223. package/core/api/throttleUnlimitedConcurrency.d.ts +0 -5
  224. package/core/api/throttleUnlimitedConcurrency.js +0 -4
  225. package/model-provider/elevenlabs/ElevenLabsError.cjs +0 -30
  226. package/model-provider/elevenlabs/ElevenLabsError.d.ts +0 -3
  227. package/model-provider/elevenlabs/ElevenLabsError.js +0 -26
  228. package/model-provider/lmnt/LmntError.cjs +0 -30
  229. package/model-provider/lmnt/LmntError.d.ts +0 -3
  230. package/model-provider/lmnt/LmntError.js +0 -26
@@ -1,5 +1,14 @@
1
+ import { PartialBaseUrlPartsApiConfigurationOptions } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ import { HuggingFaceApiConfiguration } from "./HuggingFaceApiConfiguration.js";
1
3
  import { HuggingFaceTextEmbeddingModel, HuggingFaceTextEmbeddingModelSettings } from "./HuggingFaceTextEmbeddingModel.js";
2
4
  import { HuggingFaceTextGenerationModel, HuggingFaceTextGenerationModelSettings } from "./HuggingFaceTextGenerationModel.js";
5
+ /**
6
+ * Creates an API configuration for the HuggingFace API.
7
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
8
+ */
9
+ export declare function Api(settings: PartialBaseUrlPartsApiConfigurationOptions & {
10
+ apiKey?: string;
11
+ }): HuggingFaceApiConfiguration;
3
12
  /**
4
13
  * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
5
14
  *
@@ -1,5 +1,13 @@
1
+ import { HuggingFaceApiConfiguration } from "./HuggingFaceApiConfiguration.js";
1
2
  import { HuggingFaceTextEmbeddingModel, } from "./HuggingFaceTextEmbeddingModel.js";
2
3
  import { HuggingFaceTextGenerationModel, } from "./HuggingFaceTextGenerationModel.js";
4
+ /**
5
+ * Creates an API configuration for the HuggingFace API.
6
+ * It calls the API at https://api-inference.huggingface.co/models and uses the `HUGGINGFACE_API_KEY` env variable by default.
7
+ */
8
+ export function Api(settings) {
9
+ return new HuggingFaceApiConfiguration(settings);
10
+ }
3
11
  /**
4
12
  * Create a text generation model that calls a Hugging Face Inference API Text Generation Task.
5
13
  *
@@ -4,6 +4,7 @@ exports.HuggingFaceTextEmbeddingModel = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const callWithRetryAndThrottle_js_1 = require("../../core/api/callWithRetryAndThrottle.cjs");
6
6
  const postToApi_js_1 = require("../../core/api/postToApi.cjs");
7
+ const ZodSchema_js_1 = require("../../core/schema/ZodSchema.cjs");
7
8
  const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
8
9
  const HuggingFaceApiConfiguration_js_1 = require("./HuggingFaceApiConfiguration.cjs");
9
10
  const HuggingFaceError_js_1 = require("./HuggingFaceError.cjs");
@@ -83,17 +84,24 @@ class HuggingFaceTextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
83
84
  if (texts.length > this.maxValuesPerCall) {
84
85
  throw new Error(`The HuggingFace feature extraction API is configured to only support ${this.maxValuesPerCall} texts per API call.`);
85
86
  }
87
+ const api = this.settings.api ?? new HuggingFaceApiConfiguration_js_1.HuggingFaceApiConfiguration();
88
+ const abortSignal = options?.run?.abortSignal;
86
89
  return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
87
- retry: this.settings.api?.retry,
88
- throttle: this.settings.api?.throttle,
89
- call: async () => callHuggingFaceTextGenerationAPI({
90
- options: {
91
- useCache: true,
92
- waitForModel: true,
90
+ retry: api.retry,
91
+ throttle: api.throttle,
92
+ call: async () => (0, postToApi_js_1.postJsonToApi)({
93
+ url: api.assembleUrl(`/${this.settings.model}`),
94
+ headers: api.headers,
95
+ body: {
96
+ inputs: texts,
97
+ options: {
98
+ use_cache: this.settings.options?.useCache ?? true,
99
+ wait_for_model: this.settings.options?.waitForModel ?? true,
100
+ },
93
101
  },
94
- ...this.settings,
95
- abortSignal: options?.run?.abortSignal,
96
- inputs: texts,
102
+ failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
103
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(huggingFaceTextEmbeddingResponseSchema)),
104
+ abortSignal,
97
105
  }),
98
106
  });
99
107
  }
@@ -116,21 +124,3 @@ class HuggingFaceTextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
116
124
  }
117
125
  exports.HuggingFaceTextEmbeddingModel = HuggingFaceTextEmbeddingModel;
118
126
  const huggingFaceTextEmbeddingResponseSchema = zod_1.z.array(zod_1.z.array(zod_1.z.number()));
119
- async function callHuggingFaceTextGenerationAPI({ api = new HuggingFaceApiConfiguration_js_1.HuggingFaceApiConfiguration(), abortSignal, model, inputs, options, }) {
120
- return (0, postToApi_js_1.postJsonToApi)({
121
- url: api.assembleUrl(`/${model}`),
122
- headers: api.headers,
123
- body: {
124
- inputs,
125
- options: options
126
- ? {
127
- use_cache: options?.useCache,
128
- wait_for_model: options?.waitForModel,
129
- }
130
- : {},
131
- },
132
- failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
133
- successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(huggingFaceTextEmbeddingResponseSchema),
134
- abortSignal,
135
- });
136
- }
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { callWithRetryAndThrottle } from "../../core/api/callWithRetryAndThrottle.js";
3
3
  import { createJsonResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
4
5
  import { AbstractModel } from "../../model-function/AbstractModel.js";
5
6
  import { HuggingFaceApiConfiguration } from "./HuggingFaceApiConfiguration.js";
6
7
  import { failedHuggingFaceCallResponseHandler } from "./HuggingFaceError.js";
@@ -80,17 +81,24 @@ export class HuggingFaceTextEmbeddingModel extends AbstractModel {
80
81
  if (texts.length > this.maxValuesPerCall) {
81
82
  throw new Error(`The HuggingFace feature extraction API is configured to only support ${this.maxValuesPerCall} texts per API call.`);
82
83
  }
84
+ const api = this.settings.api ?? new HuggingFaceApiConfiguration();
85
+ const abortSignal = options?.run?.abortSignal;
83
86
  return callWithRetryAndThrottle({
84
- retry: this.settings.api?.retry,
85
- throttle: this.settings.api?.throttle,
86
- call: async () => callHuggingFaceTextGenerationAPI({
87
- options: {
88
- useCache: true,
89
- waitForModel: true,
87
+ retry: api.retry,
88
+ throttle: api.throttle,
89
+ call: async () => postJsonToApi({
90
+ url: api.assembleUrl(`/${this.settings.model}`),
91
+ headers: api.headers,
92
+ body: {
93
+ inputs: texts,
94
+ options: {
95
+ use_cache: this.settings.options?.useCache ?? true,
96
+ wait_for_model: this.settings.options?.waitForModel ?? true,
97
+ },
90
98
  },
91
- ...this.settings,
92
- abortSignal: options?.run?.abortSignal,
93
- inputs: texts,
99
+ failedResponseHandler: failedHuggingFaceCallResponseHandler,
100
+ successfulResponseHandler: createJsonResponseHandler(zodSchema(huggingFaceTextEmbeddingResponseSchema)),
101
+ abortSignal,
94
102
  }),
95
103
  });
96
104
  }
@@ -112,21 +120,3 @@ export class HuggingFaceTextEmbeddingModel extends AbstractModel {
112
120
  }
113
121
  }
114
122
  const huggingFaceTextEmbeddingResponseSchema = z.array(z.array(z.number()));
115
- async function callHuggingFaceTextGenerationAPI({ api = new HuggingFaceApiConfiguration(), abortSignal, model, inputs, options, }) {
116
- return postJsonToApi({
117
- url: api.assembleUrl(`/${model}`),
118
- headers: api.headers,
119
- body: {
120
- inputs,
121
- options: options
122
- ? {
123
- use_cache: options?.useCache,
124
- wait_for_model: options?.waitForModel,
125
- }
126
- : {},
127
- },
128
- failedResponseHandler: failedHuggingFaceCallResponseHandler,
129
- successfulResponseHandler: createJsonResponseHandler(huggingFaceTextEmbeddingResponseSchema),
130
- abortSignal,
131
- });
132
- }
@@ -4,6 +4,7 @@ exports.HuggingFaceTextGenerationModel = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const callWithRetryAndThrottle_js_1 = require("../../core/api/callWithRetryAndThrottle.cjs");
6
6
  const postToApi_js_1 = require("../../core/api/postToApi.cjs");
7
+ const ZodSchema_js_1 = require("../../core/schema/ZodSchema.cjs");
7
8
  const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
8
9
  const PromptTemplateTextGenerationModel_js_1 = require("../../model-function/generate-text/PromptTemplateTextGenerationModel.cjs");
9
10
  const TextGenerationModel_js_1 = require("../../model-function/generate-text/TextGenerationModel.cjs");
@@ -64,30 +65,28 @@ class HuggingFaceTextGenerationModel extends AbstractModel_js_1.AbstractModel {
64
65
  return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
65
66
  retry: api.retry,
66
67
  throttle: api.throttle,
67
- call: async () => {
68
- return (0, postToApi_js_1.postJsonToApi)({
69
- url: api.assembleUrl(`/${this.settings.model}`),
70
- headers: api.headers,
71
- body: {
72
- inputs: prompt,
73
- top_k: this.settings.topK,
74
- top_p: this.settings.topP,
75
- temperature: this.settings.temperature,
76
- repetition_penalty: this.settings.repetitionPenalty,
77
- max_new_tokens: this.settings.maxGenerationTokens,
78
- max_time: this.settings.maxTime,
79
- num_return_sequences: this.settings.numberOfGenerations,
80
- do_sample: this.settings.doSample,
81
- options: {
82
- use_cache: true,
83
- wait_for_model: true,
84
- },
68
+ call: async () => (0, postToApi_js_1.postJsonToApi)({
69
+ url: api.assembleUrl(`/${this.settings.model}`),
70
+ headers: api.headers,
71
+ body: {
72
+ inputs: prompt,
73
+ top_k: this.settings.topK,
74
+ top_p: this.settings.topP,
75
+ temperature: this.settings.temperature,
76
+ repetition_penalty: this.settings.repetitionPenalty,
77
+ max_new_tokens: this.settings.maxGenerationTokens,
78
+ max_time: this.settings.maxTime,
79
+ num_return_sequences: this.settings.numberOfGenerations,
80
+ do_sample: this.settings.doSample,
81
+ options: {
82
+ use_cache: true,
83
+ wait_for_model: true,
85
84
  },
86
- failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
87
- successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)(huggingFaceTextGenerationResponseSchema),
88
- abortSignal,
89
- });
90
- },
85
+ },
86
+ failedResponseHandler: HuggingFaceError_js_1.failedHuggingFaceCallResponseHandler,
87
+ successfulResponseHandler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(huggingFaceTextGenerationResponseSchema)),
88
+ abortSignal,
89
+ }),
91
90
  });
92
91
  }
93
92
  get settingsForEvent() {
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { callWithRetryAndThrottle } from "../../core/api/callWithRetryAndThrottle.js";
3
3
  import { createJsonResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
4
5
  import { AbstractModel } from "../../model-function/AbstractModel.js";
5
6
  import { PromptTemplateTextGenerationModel } from "../../model-function/generate-text/PromptTemplateTextGenerationModel.js";
6
7
  import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
@@ -61,30 +62,28 @@ export class HuggingFaceTextGenerationModel extends AbstractModel {
61
62
  return callWithRetryAndThrottle({
62
63
  retry: api.retry,
63
64
  throttle: api.throttle,
64
- call: async () => {
65
- return postJsonToApi({
66
- url: api.assembleUrl(`/${this.settings.model}`),
67
- headers: api.headers,
68
- body: {
69
- inputs: prompt,
70
- top_k: this.settings.topK,
71
- top_p: this.settings.topP,
72
- temperature: this.settings.temperature,
73
- repetition_penalty: this.settings.repetitionPenalty,
74
- max_new_tokens: this.settings.maxGenerationTokens,
75
- max_time: this.settings.maxTime,
76
- num_return_sequences: this.settings.numberOfGenerations,
77
- do_sample: this.settings.doSample,
78
- options: {
79
- use_cache: true,
80
- wait_for_model: true,
81
- },
65
+ call: async () => postJsonToApi({
66
+ url: api.assembleUrl(`/${this.settings.model}`),
67
+ headers: api.headers,
68
+ body: {
69
+ inputs: prompt,
70
+ top_k: this.settings.topK,
71
+ top_p: this.settings.topP,
72
+ temperature: this.settings.temperature,
73
+ repetition_penalty: this.settings.repetitionPenalty,
74
+ max_new_tokens: this.settings.maxGenerationTokens,
75
+ max_time: this.settings.maxTime,
76
+ num_return_sequences: this.settings.numberOfGenerations,
77
+ do_sample: this.settings.doSample,
78
+ options: {
79
+ use_cache: true,
80
+ wait_for_model: true,
82
81
  },
83
- failedResponseHandler: failedHuggingFaceCallResponseHandler,
84
- successfulResponseHandler: createJsonResponseHandler(huggingFaceTextGenerationResponseSchema),
85
- abortSignal,
86
- });
87
- },
82
+ },
83
+ failedResponseHandler: failedHuggingFaceCallResponseHandler,
84
+ successfulResponseHandler: createJsonResponseHandler(zodSchema(huggingFaceTextGenerationResponseSchema)),
85
+ abortSignal,
86
+ }),
88
87
  });
89
88
  }
90
89
  get settingsForEvent() {
@@ -26,10 +26,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.huggingface = exports.HuggingFaceError = void 0;
29
+ exports.huggingface = void 0;
30
30
  __exportStar(require("./HuggingFaceApiConfiguration.cjs"), exports);
31
- var HuggingFaceError_js_1 = require("./HuggingFaceError.cjs");
32
- Object.defineProperty(exports, "HuggingFaceError", { enumerable: true, get: function () { return HuggingFaceError_js_1.HuggingFaceError; } });
33
31
  exports.huggingface = __importStar(require("./HuggingFaceFacade.cjs"));
34
32
  __exportStar(require("./HuggingFaceTextEmbeddingModel.cjs"), exports);
35
33
  __exportStar(require("./HuggingFaceTextGenerationModel.cjs"), exports);
@@ -1,5 +1,5 @@
1
1
  export * from "./HuggingFaceApiConfiguration.js";
2
- export { HuggingFaceError, HuggingFaceErrorData } from "./HuggingFaceError.js";
2
+ export { HuggingFaceErrorData } from "./HuggingFaceError.js";
3
3
  export * as huggingface from "./HuggingFaceFacade.js";
4
4
  export * from "./HuggingFaceTextEmbeddingModel.js";
5
5
  export * from "./HuggingFaceTextGenerationModel.js";
@@ -1,5 +1,4 @@
1
1
  export * from "./HuggingFaceApiConfiguration.js";
2
- export { HuggingFaceError } from "./HuggingFaceError.js";
3
2
  export * as huggingface from "./HuggingFaceFacade.js";
4
3
  export * from "./HuggingFaceTextEmbeddingModel.js";
5
4
  export * from "./HuggingFaceTextGenerationModel.js";
@@ -2,13 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LlamaCppApiConfiguration = void 0;
4
4
  const BaseUrlApiConfiguration_js_1 = require("../../core/api/BaseUrlApiConfiguration.cjs");
5
- class LlamaCppApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfiguration {
6
- constructor({ baseUrl = "http://127.0.0.1:8080", retry, throttle, } = {}) {
5
+ /**
6
+ * Creates an API configuration for the Llama.cpp server.
7
+ * It calls the API at http://127.0.0.1:8080 by default.
8
+ */
9
+ class LlamaCppApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfigurationWithDefaults {
10
+ constructor(settings = {}) {
7
11
  super({
8
- baseUrl,
9
- headers: {},
10
- retry,
11
- throttle,
12
+ ...settings,
13
+ baseUrlDefaults: {
14
+ protocol: "http",
15
+ host: "127.0.0.1",
16
+ port: "8080",
17
+ path: "",
18
+ },
12
19
  });
13
20
  }
14
21
  }
@@ -1,10 +1,8 @@
1
- import { BaseUrlApiConfiguration } from "../../core/api/BaseUrlApiConfiguration.js";
2
- import { RetryFunction } from "../../core/api/RetryFunction.js";
3
- import { ThrottleFunction } from "../../core/api/ThrottleFunction.js";
4
- export declare class LlamaCppApiConfiguration extends BaseUrlApiConfiguration {
5
- constructor({ baseUrl, retry, throttle, }?: {
6
- baseUrl?: string;
7
- retry?: RetryFunction;
8
- throttle?: ThrottleFunction;
9
- });
1
+ import { BaseUrlApiConfigurationWithDefaults, PartialBaseUrlPartsApiConfigurationOptions } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ /**
3
+ * Creates an API configuration for the Llama.cpp server.
4
+ * It calls the API at http://127.0.0.1:8080 by default.
5
+ */
6
+ export declare class LlamaCppApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
7
+ constructor(settings?: PartialBaseUrlPartsApiConfigurationOptions);
10
8
  }
@@ -1,11 +1,18 @@
1
- import { BaseUrlApiConfiguration } from "../../core/api/BaseUrlApiConfiguration.js";
2
- export class LlamaCppApiConfiguration extends BaseUrlApiConfiguration {
3
- constructor({ baseUrl = "http://127.0.0.1:8080", retry, throttle, } = {}) {
1
+ import { BaseUrlApiConfigurationWithDefaults, } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ /**
3
+ * Creates an API configuration for the Llama.cpp server.
4
+ * It calls the API at http://127.0.0.1:8080 by default.
5
+ */
6
+ export class LlamaCppApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
7
+ constructor(settings = {}) {
4
8
  super({
5
- baseUrl,
6
- headers: {},
7
- retry,
8
- throttle,
9
+ ...settings,
10
+ baseUrlDefaults: {
11
+ protocol: "http",
12
+ host: "127.0.0.1",
13
+ port: "8080",
14
+ path: "",
15
+ },
9
16
  });
10
17
  }
11
18
  }
@@ -245,13 +245,13 @@ const llamaCppTextGenerationResponseSchema = zod_1.z.object({
245
245
  tokens_predicted: zod_1.z.number(),
246
246
  truncated: zod_1.z.boolean(),
247
247
  });
248
- const llamaCppTextStreamChunkSchema = (0, ZodSchema_js_1.zodSchema)(zod_1.z.discriminatedUnion("stop", [
248
+ const llamaCppTextStreamChunkSchema = zod_1.z.discriminatedUnion("stop", [
249
249
  zod_1.z.object({
250
250
  content: zod_1.z.string(),
251
251
  stop: zod_1.z.literal(false),
252
252
  }),
253
253
  llamaCppTextGenerationResponseSchema,
254
- ]));
254
+ ]);
255
255
  async function createLlamaCppFullDeltaIterableQueue(stream) {
256
256
  const queue = new AsyncQueue_js_1.AsyncQueue();
257
257
  // process the stream asynchonously (no 'await' on purpose):
@@ -262,7 +262,7 @@ async function createLlamaCppFullDeltaIterableQueue(stream) {
262
262
  const data = event.data;
263
263
  const eventData = (0, parseJSON_js_1.parseJSON)({
264
264
  text: data,
265
- schema: llamaCppTextStreamChunkSchema,
265
+ schema: (0, ZodSchema_js_1.zodSchema)(llamaCppTextStreamChunkSchema),
266
266
  });
267
267
  queue.push({ type: "delta", deltaValue: eventData });
268
268
  if (eventData.stop) {
@@ -287,7 +287,7 @@ exports.LlamaCppCompletionResponseFormat = {
287
287
  */
288
288
  json: {
289
289
  stream: false,
290
- handler: (0, postToApi_js_1.createJsonResponseHandler)(llamaCppTextGenerationResponseSchema),
290
+ handler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(llamaCppTextGenerationResponseSchema)),
291
291
  },
292
292
  /**
293
293
  * Returns an async iterable over the full deltas (all choices, including full current state at time of event)
@@ -479,7 +479,130 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
479
479
  truncated: boolean;
480
480
  }>;
481
481
  export type LlamaCppTextGenerationResponse = z.infer<typeof llamaCppTextGenerationResponseSchema>;
482
- declare const llamaCppTextStreamChunkSchema: import("../../core/schema/ZodSchema.js").ZodSchema<{
482
+ declare const llamaCppTextStreamChunkSchema: z.ZodDiscriminatedUnion<"stop", [z.ZodObject<{
483
+ content: z.ZodString;
484
+ stop: z.ZodLiteral<false>;
485
+ }, "strip", z.ZodTypeAny, {
486
+ stop: false;
487
+ content: string;
488
+ }, {
489
+ stop: false;
490
+ content: string;
491
+ }>, z.ZodObject<{
492
+ content: z.ZodString;
493
+ stop: z.ZodLiteral<true>;
494
+ generation_settings: z.ZodObject<{
495
+ frequency_penalty: z.ZodNumber;
496
+ ignore_eos: z.ZodBoolean;
497
+ logit_bias: z.ZodArray<z.ZodNumber, "many">;
498
+ mirostat: z.ZodNumber;
499
+ mirostat_eta: z.ZodNumber;
500
+ mirostat_tau: z.ZodNumber;
501
+ model: z.ZodString;
502
+ n_ctx: z.ZodNumber;
503
+ n_keep: z.ZodNumber;
504
+ n_predict: z.ZodNumber;
505
+ n_probs: z.ZodNumber;
506
+ penalize_nl: z.ZodBoolean;
507
+ presence_penalty: z.ZodNumber;
508
+ repeat_last_n: z.ZodNumber;
509
+ repeat_penalty: z.ZodNumber;
510
+ seed: z.ZodNumber;
511
+ stop: z.ZodArray<z.ZodString, "many">;
512
+ stream: z.ZodBoolean;
513
+ temperature: z.ZodOptional<z.ZodNumber>;
514
+ tfs_z: z.ZodNumber;
515
+ top_k: z.ZodNumber;
516
+ top_p: z.ZodNumber;
517
+ typical_p: z.ZodNumber;
518
+ }, "strip", z.ZodTypeAny, {
519
+ model: string;
520
+ stream: boolean;
521
+ stop: string[];
522
+ seed: number;
523
+ mirostat: number;
524
+ frequency_penalty: number;
525
+ ignore_eos: boolean;
526
+ logit_bias: number[];
527
+ mirostat_eta: number;
528
+ mirostat_tau: number;
529
+ n_ctx: number;
530
+ n_keep: number;
531
+ n_predict: number;
532
+ n_probs: number;
533
+ penalize_nl: boolean;
534
+ presence_penalty: number;
535
+ repeat_last_n: number;
536
+ repeat_penalty: number;
537
+ tfs_z: number;
538
+ top_k: number;
539
+ top_p: number;
540
+ typical_p: number;
541
+ temperature?: number | undefined;
542
+ }, {
543
+ model: string;
544
+ stream: boolean;
545
+ stop: string[];
546
+ seed: number;
547
+ mirostat: number;
548
+ frequency_penalty: number;
549
+ ignore_eos: boolean;
550
+ logit_bias: number[];
551
+ mirostat_eta: number;
552
+ mirostat_tau: number;
553
+ n_ctx: number;
554
+ n_keep: number;
555
+ n_predict: number;
556
+ n_probs: number;
557
+ penalize_nl: boolean;
558
+ presence_penalty: number;
559
+ repeat_last_n: number;
560
+ repeat_penalty: number;
561
+ tfs_z: number;
562
+ top_k: number;
563
+ top_p: number;
564
+ typical_p: number;
565
+ temperature?: number | undefined;
566
+ }>;
567
+ model: z.ZodString;
568
+ prompt: z.ZodString;
569
+ stopped_eos: z.ZodBoolean;
570
+ stopped_limit: z.ZodBoolean;
571
+ stopped_word: z.ZodBoolean;
572
+ stopping_word: z.ZodString;
573
+ timings: z.ZodObject<{
574
+ predicted_ms: z.ZodNumber;
575
+ predicted_n: z.ZodNumber;
576
+ predicted_per_second: z.ZodNullable<z.ZodNumber>;
577
+ predicted_per_token_ms: z.ZodNullable<z.ZodNumber>;
578
+ prompt_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
579
+ prompt_n: z.ZodNumber;
580
+ prompt_per_second: z.ZodNullable<z.ZodNumber>;
581
+ prompt_per_token_ms: z.ZodNullable<z.ZodNumber>;
582
+ }, "strip", z.ZodTypeAny, {
583
+ predicted_ms: number;
584
+ predicted_n: number;
585
+ predicted_per_second: number | null;
586
+ predicted_per_token_ms: number | null;
587
+ prompt_n: number;
588
+ prompt_per_second: number | null;
589
+ prompt_per_token_ms: number | null;
590
+ prompt_ms?: number | null | undefined;
591
+ }, {
592
+ predicted_ms: number;
593
+ predicted_n: number;
594
+ predicted_per_second: number | null;
595
+ predicted_per_token_ms: number | null;
596
+ prompt_n: number;
597
+ prompt_per_second: number | null;
598
+ prompt_per_token_ms: number | null;
599
+ prompt_ms?: number | null | undefined;
600
+ }>;
601
+ tokens_cached: z.ZodNumber;
602
+ tokens_evaluated: z.ZodNumber;
603
+ tokens_predicted: z.ZodNumber;
604
+ truncated: z.ZodBoolean;
605
+ }, "strip", z.ZodTypeAny, {
483
606
  model: string;
484
607
  stop: true;
485
608
  content: string;
@@ -527,11 +650,56 @@ declare const llamaCppTextStreamChunkSchema: import("../../core/schema/ZodSchema
527
650
  tokens_evaluated: number;
528
651
  tokens_predicted: number;
529
652
  truncated: boolean;
530
- } | {
531
- stop: false;
653
+ }, {
654
+ model: string;
655
+ stop: true;
532
656
  content: string;
533
- }>;
534
- export type LlamaCppTextStreamChunk = (typeof llamaCppTextStreamChunkSchema)["_type"];
657
+ prompt: string;
658
+ generation_settings: {
659
+ model: string;
660
+ stream: boolean;
661
+ stop: string[];
662
+ seed: number;
663
+ mirostat: number;
664
+ frequency_penalty: number;
665
+ ignore_eos: boolean;
666
+ logit_bias: number[];
667
+ mirostat_eta: number;
668
+ mirostat_tau: number;
669
+ n_ctx: number;
670
+ n_keep: number;
671
+ n_predict: number;
672
+ n_probs: number;
673
+ penalize_nl: boolean;
674
+ presence_penalty: number;
675
+ repeat_last_n: number;
676
+ repeat_penalty: number;
677
+ tfs_z: number;
678
+ top_k: number;
679
+ top_p: number;
680
+ typical_p: number;
681
+ temperature?: number | undefined;
682
+ };
683
+ stopped_eos: boolean;
684
+ stopped_limit: boolean;
685
+ stopped_word: boolean;
686
+ stopping_word: string;
687
+ timings: {
688
+ predicted_ms: number;
689
+ predicted_n: number;
690
+ predicted_per_second: number | null;
691
+ predicted_per_token_ms: number | null;
692
+ prompt_n: number;
693
+ prompt_per_second: number | null;
694
+ prompt_per_token_ms: number | null;
695
+ prompt_ms?: number | null | undefined;
696
+ };
697
+ tokens_cached: number;
698
+ tokens_evaluated: number;
699
+ tokens_predicted: number;
700
+ truncated: boolean;
701
+ }>]>;
702
+ export type LlamaCppTextStreamChunk = z.infer<typeof llamaCppTextStreamChunkSchema>;
535
703
  export type LlamaCppCompletionResponseFormatType<T> = {
536
704
  stream: boolean;
537
705
  handler: ResponseHandler<T>;
@@ -241,13 +241,13 @@ const llamaCppTextGenerationResponseSchema = z.object({
241
241
  tokens_predicted: z.number(),
242
242
  truncated: z.boolean(),
243
243
  });
244
- const llamaCppTextStreamChunkSchema = zodSchema(z.discriminatedUnion("stop", [
244
+ const llamaCppTextStreamChunkSchema = z.discriminatedUnion("stop", [
245
245
  z.object({
246
246
  content: z.string(),
247
247
  stop: z.literal(false),
248
248
  }),
249
249
  llamaCppTextGenerationResponseSchema,
250
- ]));
250
+ ]);
251
251
  async function createLlamaCppFullDeltaIterableQueue(stream) {
252
252
  const queue = new AsyncQueue();
253
253
  // process the stream asynchonously (no 'await' on purpose):
@@ -258,7 +258,7 @@ async function createLlamaCppFullDeltaIterableQueue(stream) {
258
258
  const data = event.data;
259
259
  const eventData = parseJSON({
260
260
  text: data,
261
- schema: llamaCppTextStreamChunkSchema,
261
+ schema: zodSchema(llamaCppTextStreamChunkSchema),
262
262
  });
263
263
  queue.push({ type: "delta", deltaValue: eventData });
264
264
  if (eventData.stop) {
@@ -283,7 +283,7 @@ export const LlamaCppCompletionResponseFormat = {
283
283
  */
284
284
  json: {
285
285
  stream: false,
286
- handler: createJsonResponseHandler(llamaCppTextGenerationResponseSchema),
286
+ handler: createJsonResponseHandler(zodSchema(llamaCppTextGenerationResponseSchema)),
287
287
  },
288
288
  /**
289
289
  * Returns an async iterable over the full deltas (all choices, including full current state at time of event)