modelfusion 0.111.0 → 0.112.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +41 -65
  3. package/core/FunctionEvent.d.ts +3 -3
  4. package/model-function/ModelCallEvent.d.ts +3 -3
  5. package/model-function/generate-text/PromptTemplateFullTextModel.cjs +2 -2
  6. package/model-function/generate-text/PromptTemplateFullTextModel.d.ts +3 -3
  7. package/model-function/generate-text/PromptTemplateFullTextModel.js +2 -2
  8. package/model-function/generate-text/PromptTemplateTextGenerationModel.cjs +2 -2
  9. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +3 -3
  10. package/model-function/generate-text/PromptTemplateTextGenerationModel.js +2 -2
  11. package/model-provider/mistral/MistralChatModel.d.ts +4 -4
  12. package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +3 -3
  13. package/model-provider/ollama/OllamaChatModel.cjs +2 -2
  14. package/model-provider/ollama/OllamaChatModel.d.ts +3 -3
  15. package/model-provider/ollama/OllamaChatModel.js +2 -2
  16. package/model-provider/ollama/OllamaCompletionModel.cjs +2 -2
  17. package/model-provider/ollama/OllamaCompletionModel.d.ts +3 -3
  18. package/model-provider/ollama/OllamaCompletionModel.js +2 -2
  19. package/model-provider/openai/AbstractOpenAIChatModel.cjs +1 -1
  20. package/model-provider/openai/AbstractOpenAIChatModel.d.ts +7 -7
  21. package/model-provider/openai/AbstractOpenAIChatModel.js +1 -1
  22. package/model-provider/openai/AbstractOpenAICompletionModel.d.ts +4 -4
  23. package/model-provider/openai/OpenAIChatFunctionCallStructureGenerationModel.d.ts +1 -1
  24. package/model-provider/openai/OpenAIChatModel.d.ts +2 -2
  25. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +3 -3
  26. package/model-provider/openai-compatible/OpenAICompatibleChatModel.d.ts +2 -2
  27. package/package.json +1 -1
  28. package/tool/Tool.cjs +0 -10
  29. package/tool/Tool.d.ts +0 -1
  30. package/tool/Tool.js +0 -10
  31. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs → generate-tool-calls/TextGenerationToolCallsModel.cjs} +7 -7
  32. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts → generate-tool-calls/TextGenerationToolCallsModel.d.ts} +6 -6
  33. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js → generate-tool-calls/TextGenerationToolCallsModel.js} +5 -5
  34. package/tool/generate-tool-calls/ToolCallsGenerationEvent.d.ts +23 -0
  35. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.d.ts → generate-tool-calls/ToolCallsGenerationModel.d.ts} +3 -3
  36. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.cjs → generate-tool-calls/ToolCallsParseError.cjs} +5 -5
  37. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.d.ts → generate-tool-calls/ToolCallsParseError.d.ts} +1 -1
  38. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.js → generate-tool-calls/ToolCallsParseError.js} +3 -3
  39. package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.d.ts → generate-tool-calls/ToolCallsPromptTemplate.d.ts} +1 -1
  40. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.cjs → generate-tool-calls/generateToolCalls.cjs} +5 -5
  41. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.d.ts → generate-tool-calls/generateToolCalls.d.ts} +3 -3
  42. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.js → generate-tool-calls/generateToolCalls.js} +3 -3
  43. package/tool/{generate-tool-calls-or-text → generate-tool-calls}/index.cjs +6 -6
  44. package/tool/generate-tool-calls/index.d.ts +6 -0
  45. package/tool/generate-tool-calls/index.js +6 -0
  46. package/tool/index.cjs +2 -3
  47. package/tool/index.d.ts +2 -3
  48. package/tool/index.js +2 -3
  49. package/tool/use-tools/UseToolsEvent.d.ts +7 -0
  50. package/tool/{use-tools-or-generate-text → use-tools}/index.cjs +2 -2
  51. package/tool/use-tools/index.d.ts +2 -0
  52. package/tool/use-tools/index.js +2 -0
  53. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.cjs → use-tools/useTools.cjs} +6 -6
  54. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.d.ts → use-tools/useTools.d.ts} +2 -2
  55. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.js → use-tools/useTools.js} +4 -4
  56. package/tool/InvalidToolNameError.cjs +0 -17
  57. package/tool/InvalidToolNameError.d.ts +0 -7
  58. package/tool/InvalidToolNameError.js +0 -13
  59. package/tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.d.ts +0 -23
  60. package/tool/generate-tool-calls-or-text/index.d.ts +0 -6
  61. package/tool/generate-tool-calls-or-text/index.js +0 -6
  62. package/tool/use-tools-or-generate-text/UseToolsOrGenerateTextEvent.d.ts +0 -7
  63. package/tool/use-tools-or-generate-text/index.d.ts +0 -2
  64. package/tool/use-tools-or-generate-text/index.js +0 -2
  65. /package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.cjs → generate-tool-calls/ToolCallsGenerationEvent.cjs} +0 -0
  66. /package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js → generate-tool-calls/ToolCallsGenerationEvent.js} +0 -0
  67. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.cjs → generate-tool-calls/ToolCallsGenerationModel.cjs} +0 -0
  68. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.js → generate-tool-calls/ToolCallsGenerationModel.js} +0 -0
  69. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.cjs → generate-tool-calls/ToolCallsPromptTemplate.cjs} +0 -0
  70. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js → generate-tool-calls/ToolCallsPromptTemplate.js} +0 -0
  71. /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.cjs → use-tools/UseToolsEvent.cjs} +0 -0
  72. /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.js → use-tools/UseToolsEvent.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.112.0 - 2024-01-02
4
+
5
+ ### Changed
6
+
7
+ - **breaking change**: renamed `useToolsOrGenerateText` to `useTools`
8
+ - **breaking change**: renamed `generateToolCallsOrText` to `generateToolCalls`
9
+
10
+ ### Removed
11
+
12
+ - Restriction on tool names. OpenAI tool calls do not have such a restriction.
13
+
3
14
  ## v0.111.0 - 2024-01-01
4
15
 
5
16
  Reworked API configuration support.
package/README.md CHANGED
@@ -328,67 +328,7 @@ Providers: [OpenAI](https://modelfusion.dev/integration/model-provider/openai),
328
328
 
329
329
  Tools are functions that can be executed by an AI model. They are useful for building chatbots and agents.
330
330
 
331
- Predefined tools: [Math.js](https://modelfusion.dev/guide/tools/predefined-tools/mathjs), [SerpAPI](https://modelfusion.dev/guide/tools/predefined-tools/serpapi), [Google Custom Search](https://modelfusion.dev/guide/tools/predefined-tools/google-custom-search)
332
-
333
- #### [Creating Tools](https://modelfusion.dev/guide/tools/create-tools)
334
-
335
- A tool is comprised of an async execute function, a name, a description, and a schema for the input parameters.
336
-
337
- ```ts
338
- const calculator = new Tool({
339
- name: "calculator",
340
- description: "Execute a calculation",
341
-
342
- parameters: zodSchema(
343
- z.object({
344
- a: z.number().describe("The first number."),
345
- b: z.number().describe("The second number."),
346
- operator: z
347
- .enum(["+", "-", "*", "/"])
348
- .describe("The operator (+, -, *, /)."),
349
- })
350
- ),
351
-
352
- execute: async ({ a, b, operator }) => {
353
- switch (operator) {
354
- case "+":
355
- return a + b;
356
- case "-":
357
- return a - b;
358
- case "*":
359
- return a * b;
360
- case "/":
361
- return a / b;
362
- default:
363
- throw new Error(`Unknown operator: ${operator}`);
364
- }
365
- },
366
- });
367
- ```
368
-
369
- #### [generateToolCall](https://modelfusion.dev/guide/tools/generate-tool-call)
370
-
371
- With `generateToolCall`, you can generate a tool call for a specific tool with a language model that supports tools calls (e.g. OpenAI Chat). This function does not execute the tools.
372
-
373
- ```ts
374
- const { id, name, args } = await generateToolCall(
375
- openai.ChatTextGenerator({ model: "gpt-3.5-turbo" }),
376
- calculator,
377
- [openai.ChatMessage.user("What's fourteen times twelve?")]
378
- );
379
- ```
380
-
381
- #### [generateToolCallsOrText](https://modelfusion.dev/guide/tools/generate-tool-calls-or-text)
382
-
383
- With `generateToolCallsOrText`, you can ask a language model to generate several tool calls as well as text. The model will choose which tools (if any) should be called with which arguments. Both the text and the tool calls are optional. This function does not execute the tools.
384
-
385
- ```ts
386
- const { text, toolCalls } = await generateToolCallsOrText(
387
- openai.ChatTextGenerator({ model: "gpt-3.5-turbo" }),
388
- [toolA, toolB, toolC],
389
- [openai.ChatMessage.user(query)]
390
- );
391
- ```
331
+ Predefined tools: [Math.js](https://modelfusion.dev/guide/tools/predefined-tools/mathjs), [MediaWiki Search](https://modelfusion.dev/guide/tools/predefined-tools/mediawiki-search), [SerpAPI](https://modelfusion.dev/guide/tools/predefined-tools/serpapi), [Google Custom Search](https://modelfusion.dev/guide/tools/predefined-tools/google-custom-search)
392
332
 
393
333
  #### [executeTool](https://modelfusion.dev/guide/tools/execute-tool)
394
334
 
@@ -420,21 +360,57 @@ console.log(`Ok:`, ok);
420
360
  console.log(`Result or Error:`, result);
421
361
  ```
422
362
 
423
- #### [useToolsOrGenerateText](https://modelfusion.dev/guide/tools/use-tools-or-generate-text)
363
+ #### [useTools](https://modelfusion.dev/guide/tools/use-tools-or-generate-text)
424
364
 
425
- With `useToolsOrGenerateText`, you can ask a language model to generate several tool calls as well as text. The model will choose which tools (if any) should be called with which arguments. Both the text and the tool calls are optional. This function executes the tools.
365
+ With `useTools`, you can ask a language model to generate several tool calls as well as text. The model will choose which tools (if any) should be called with which arguments. Both the text and the tool calls are optional. This function executes the tools.
426
366
 
427
367
  ```ts
428
- const { text, toolResults } = await useToolsOrGenerateText(
368
+ const { text, toolResults } = await useTools(
429
369
  openai.ChatTextGenerator({ model: "gpt-3.5-turbo" }),
430
370
  [calculator /* ... */],
431
371
  [openai.ChatMessage.user("What's fourteen times twelve?")]
432
372
  );
433
373
  ```
434
374
 
375
+ #### [Creating Tools](https://modelfusion.dev/guide/tools/create-tools)
376
+
377
+ A tool is comprised of an async execute function, a name, a description, and a schema for the input parameters.
378
+
379
+ ```ts
380
+ const calculator = new Tool({
381
+ name: "calculator",
382
+ description: "Execute a calculation",
383
+
384
+ parameters: zodSchema(
385
+ z.object({
386
+ a: z.number().describe("The first number."),
387
+ b: z.number().describe("The second number."),
388
+ operator: z
389
+ .enum(["+", "-", "*", "/"])
390
+ .describe("The operator (+, -, *, /)."),
391
+ })
392
+ ),
393
+
394
+ execute: async ({ a, b, operator }) => {
395
+ switch (operator) {
396
+ case "+":
397
+ return a + b;
398
+ case "-":
399
+ return a - b;
400
+ case "*":
401
+ return a * b;
402
+ case "/":
403
+ return a / b;
404
+ default:
405
+ throw new Error(`Unknown operator: ${operator}`);
406
+ }
407
+ },
408
+ });
409
+ ```
410
+
435
411
  #### [Agent Loop](https://modelfusion.dev/guide/tools/agent-loop)
436
412
 
437
- You can use `useToolsOrGenerateText` to implement an agent loop that responds to user messages and executes tools. [Learn more](https://modelfusion.dev/guide/tools/agent-loop).
413
+ You can use `useTools` to implement an agent loop that responds to user messages and executes tools. [Learn more](https://modelfusion.dev/guide/tools/agent-loop).
438
414
 
439
415
  ### [Vector Indices](https://modelfusion.dev/guide/vector-index)
440
416
 
@@ -1,11 +1,11 @@
1
- import { ExtensionFunctionStartedEvent, ExtensionFunctionFinishedEvent } from "./ExtensionFunctionEvent.js";
2
1
  import { ModelCallFinishedEvent, ModelCallStartedEvent } from "../model-function/ModelCallEvent.js";
3
2
  import { RetrieveFinishedEvent, RetrieveStartedEvent } from "../retriever/RetrieveEvent.js";
4
3
  import { ExecuteToolFinishedEvent, ExecuteToolStartedEvent } from "../tool/execute-tool/ExecuteToolEvent.js";
5
4
  import { UseToolFinishedEvent, UseToolStartedEvent } from "../tool/use-tool/UseToolEvent.js";
6
- import { UseToolsOrGenerateTextFinishedEvent, UseToolsOrGenerateTextStartedEvent } from "../tool/use-tools-or-generate-text/UseToolsOrGenerateTextEvent.js";
5
+ import { useToolsFinishedEvent, useToolsStartedEvent } from "../tool/use-tools/UseToolsEvent.js";
7
6
  import { UpsertIntoVectorIndexFinishedEvent, UpsertIntoVectorIndexStartedEvent } from "../vector-index/UpsertIntoVectorIndexEvent.js";
8
7
  import { ExecuteFunctionFinishedEvent, ExecuteFunctionStartedEvent } from "./ExecuteFunctionEvent.js";
8
+ import { ExtensionFunctionFinishedEvent, ExtensionFunctionStartedEvent } from "./ExtensionFunctionEvent.js";
9
9
  export interface BaseFunctionEvent {
10
10
  /**
11
11
  * Unique identifier for the function call.
@@ -82,4 +82,4 @@ export interface BaseFunctionFinishedEvent extends BaseFunctionEvent {
82
82
  */
83
83
  result: BaseFunctionFinishedEventResult;
84
84
  }
85
- export type FunctionEvent = ExecuteFunctionStartedEvent | ExecuteFunctionFinishedEvent | ExecuteToolStartedEvent | ExecuteToolFinishedEvent | ExtensionFunctionStartedEvent | ExtensionFunctionFinishedEvent | ModelCallStartedEvent | ModelCallFinishedEvent | RetrieveStartedEvent | RetrieveFinishedEvent | UpsertIntoVectorIndexStartedEvent | UpsertIntoVectorIndexFinishedEvent | UseToolStartedEvent | UseToolFinishedEvent | UseToolsOrGenerateTextStartedEvent | UseToolsOrGenerateTextFinishedEvent;
85
+ export type FunctionEvent = ExecuteFunctionStartedEvent | ExecuteFunctionFinishedEvent | ExecuteToolStartedEvent | ExecuteToolFinishedEvent | ExtensionFunctionStartedEvent | ExtensionFunctionFinishedEvent | ModelCallStartedEvent | ModelCallFinishedEvent | RetrieveStartedEvent | RetrieveFinishedEvent | UpsertIntoVectorIndexStartedEvent | UpsertIntoVectorIndexFinishedEvent | UseToolStartedEvent | UseToolFinishedEvent | useToolsStartedEvent | useToolsFinishedEvent;
@@ -1,6 +1,6 @@
1
1
  import { BaseFunctionFinishedEvent, BaseFunctionStartedEvent } from "../core/FunctionEvent.js";
2
2
  import { ToolCallGenerationFinishedEvent, ToolCallGenerationStartedEvent } from "../tool/generate-tool-call/ToolCallGenerationEvent.js";
3
- import { ToolCallsOrTextGenerationFinishedEvent, ToolCallsOrTextGenerationStartedEvent } from "../tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.js";
3
+ import { ToolCallsGenerationFinishedEvent, ToolCallsGenerationStartedEvent } from "../tool/generate-tool-calls/ToolCallsGenerationEvent.js";
4
4
  import { ModelInformation } from "./ModelInformation.js";
5
5
  import { EmbeddingFinishedEvent, EmbeddingStartedEvent } from "./embed/EmbeddingEvent.js";
6
6
  import { ImageGenerationFinishedEvent, ImageGenerationStartedEvent } from "./generate-image/ImageGenerationEvent.js";
@@ -49,5 +49,5 @@ export interface BaseModelCallFinishedEvent extends BaseFunctionFinishedEvent {
49
49
  */
50
50
  result: BaseModelCallFinishedEventResult;
51
51
  }
52
- export type ModelCallStartedEvent = EmbeddingStartedEvent | ImageGenerationStartedEvent | SpeechGenerationStartedEvent | SpeechStreamingStartedEvent | StructureGenerationStartedEvent | StructureStreamingStartedEvent | TextGenerationStartedEvent | TextStreamingStartedEvent | ToolCallGenerationStartedEvent | ToolCallsOrTextGenerationStartedEvent | TranscriptionStartedEvent;
53
- export type ModelCallFinishedEvent = EmbeddingFinishedEvent | ImageGenerationFinishedEvent | SpeechGenerationFinishedEvent | SpeechStreamingFinishedEvent | StructureGenerationFinishedEvent | StructureStreamingFinishedEvent | TextGenerationFinishedEvent | TextStreamingFinishedEvent | ToolCallGenerationFinishedEvent | ToolCallsOrTextGenerationFinishedEvent | TranscriptionFinishedEvent;
52
+ export type ModelCallStartedEvent = EmbeddingStartedEvent | ImageGenerationStartedEvent | SpeechGenerationStartedEvent | SpeechStreamingStartedEvent | StructureGenerationStartedEvent | StructureStreamingStartedEvent | TextGenerationStartedEvent | TextStreamingStartedEvent | ToolCallGenerationStartedEvent | ToolCallsGenerationStartedEvent | TranscriptionStartedEvent;
53
+ export type ModelCallFinishedEvent = EmbeddingFinishedEvent | ImageGenerationFinishedEvent | SpeechGenerationFinishedEvent | SpeechStreamingFinishedEvent | StructureGenerationFinishedEvent | StructureStreamingFinishedEvent | TextGenerationFinishedEvent | TextStreamingFinishedEvent | ToolCallGenerationFinishedEvent | ToolCallsGenerationFinishedEvent | TranscriptionFinishedEvent;
@@ -10,9 +10,9 @@ class PromptTemplateFullTextModel extends PromptTemplateTextStreamingModel_js_1.
10
10
  const mappedPrompt = this.promptTemplate.format(prompt);
11
11
  return this.model.doGenerateToolCall(tool, mappedPrompt, options);
12
12
  }
13
- doGenerateToolCallsOrText(tools, prompt, options) {
13
+ doGenerateToolCalls(tools, prompt, options) {
14
14
  const mappedPrompt = this.promptTemplate.format(prompt);
15
- return this.model.doGenerateToolCallsOrText(tools, mappedPrompt, options);
15
+ return this.model.doGenerateToolCalls(tools, mappedPrompt, options);
16
16
  }
17
17
  withPromptTemplate(promptTemplate) {
18
18
  return new PromptTemplateFullTextModel({
@@ -1,11 +1,11 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { ToolDefinition } from "../../tool/ToolDefinition.js";
3
3
  import { ToolCallGenerationModel } from "../../tool/generate-tool-call/ToolCallGenerationModel.js";
4
- import { ToolCallsOrTextGenerationModel } from "../../tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js";
4
+ import { ToolCallsGenerationModel } from "../../tool/generate-tool-calls/ToolCallsGenerationModel.js";
5
5
  import { PromptTemplateTextStreamingModel } from "./PromptTemplateTextStreamingModel.js";
6
6
  import { TextGenerationModelSettings, TextStreamingModel } from "./TextGenerationModel.js";
7
7
  import { TextGenerationPromptTemplate } from "./TextGenerationPromptTemplate.js";
8
- export declare class PromptTemplateFullTextModel<PROMPT, MODEL_PROMPT, SETTINGS extends TextGenerationModelSettings, MODEL extends TextStreamingModel<MODEL_PROMPT, SETTINGS> & ToolCallGenerationModel<MODEL_PROMPT, SETTINGS> & ToolCallsOrTextGenerationModel<MODEL_PROMPT, SETTINGS>> extends PromptTemplateTextStreamingModel<PROMPT, MODEL_PROMPT, SETTINGS, MODEL> implements TextStreamingModel<PROMPT, SETTINGS>, ToolCallGenerationModel<PROMPT, SETTINGS>, ToolCallsOrTextGenerationModel<PROMPT, SETTINGS> {
8
+ export declare class PromptTemplateFullTextModel<PROMPT, MODEL_PROMPT, SETTINGS extends TextGenerationModelSettings, MODEL extends TextStreamingModel<MODEL_PROMPT, SETTINGS> & ToolCallGenerationModel<MODEL_PROMPT, SETTINGS> & ToolCallsGenerationModel<MODEL_PROMPT, SETTINGS>> extends PromptTemplateTextStreamingModel<PROMPT, MODEL_PROMPT, SETTINGS, MODEL> implements TextStreamingModel<PROMPT, SETTINGS>, ToolCallGenerationModel<PROMPT, SETTINGS>, ToolCallsGenerationModel<PROMPT, SETTINGS> {
9
9
  constructor(options: {
10
10
  model: MODEL;
11
11
  promptTemplate: TextGenerationPromptTemplate<PROMPT, MODEL_PROMPT>;
@@ -22,7 +22,7 @@ export declare class PromptTemplateFullTextModel<PROMPT, MODEL_PROMPT, SETTINGS
22
22
  totalTokens: number;
23
23
  } | undefined;
24
24
  }>;
25
- doGenerateToolCallsOrText(tools: ToolDefinition<string, unknown>[], prompt: PROMPT, options?: FunctionOptions | undefined): PromiseLike<{
25
+ doGenerateToolCalls(tools: ToolDefinition<string, unknown>[], prompt: PROMPT, options?: FunctionOptions | undefined): PromiseLike<{
26
26
  response: unknown;
27
27
  text: string | null;
28
28
  toolCalls: {
@@ -7,9 +7,9 @@ export class PromptTemplateFullTextModel extends PromptTemplateTextStreamingMode
7
7
  const mappedPrompt = this.promptTemplate.format(prompt);
8
8
  return this.model.doGenerateToolCall(tool, mappedPrompt, options);
9
9
  }
10
- doGenerateToolCallsOrText(tools, prompt, options) {
10
+ doGenerateToolCalls(tools, prompt, options) {
11
11
  const mappedPrompt = this.promptTemplate.format(prompt);
12
- return this.model.doGenerateToolCallsOrText(tools, mappedPrompt, options);
12
+ return this.model.doGenerateToolCalls(tools, mappedPrompt, options);
13
13
  }
14
14
  withPromptTemplate(promptTemplate) {
15
15
  return new PromptTemplateFullTextModel({
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PromptTemplateTextGenerationModel = void 0;
4
4
  const TextGenerationToolCallModel_js_1 = require("../../tool/generate-tool-call/TextGenerationToolCallModel.cjs");
5
- const TextGenerationToolCallsOrGenerateTextModel_js_1 = require("../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs");
5
+ const TextGenerationToolCallsModel_js_1 = require("../../tool/generate-tool-calls/TextGenerationToolCallsModel.cjs");
6
6
  const StructureFromTextGenerationModel_js_1 = require("../generate-structure/StructureFromTextGenerationModel.cjs");
7
7
  class PromptTemplateTextGenerationModel {
8
8
  constructor({ model, promptTemplate, }) {
@@ -54,7 +54,7 @@ class PromptTemplateTextGenerationModel {
54
54
  });
55
55
  }
56
56
  asToolCallsOrTextGenerationModel(promptTemplate) {
57
- return new TextGenerationToolCallsOrGenerateTextModel_js_1.TextGenerationToolCallsOrGenerateTextModel({
57
+ return new TextGenerationToolCallsModel_js_1.TextGenerationToolCallsModel({
58
58
  model: this,
59
59
  template: promptTemplate,
60
60
  });
@@ -1,7 +1,7 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
3
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
4
- import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
3
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
4
+ import { ToolCallsPromptTemplate } from "../../tool/generate-tool-calls/ToolCallsPromptTemplate.js";
5
5
  import { StructureFromTextGenerationModel } from "../generate-structure/StructureFromTextGenerationModel.js";
6
6
  import { StructureFromTextPromptTemplate } from "../generate-structure/StructureFromTextPromptTemplate.js";
7
7
  import { TextGenerationModel, TextGenerationModelSettings } from "./TextGenerationModel.js";
@@ -29,7 +29,7 @@ export declare class PromptTemplateTextGenerationModel<PROMPT, MODEL_PROMPT, SET
29
29
  }>;
30
30
  get settingsForEvent(): Partial<SETTINGS>;
31
31
  asToolCallGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallPromptTemplate<INPUT_PROMPT, PROMPT>): TextGenerationToolCallModel<INPUT_PROMPT, PROMPT, this>;
32
- asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsOrGenerateTextPromptTemplate<INPUT_PROMPT, PROMPT>): TextGenerationToolCallsOrGenerateTextModel<INPUT_PROMPT, PROMPT, this>;
32
+ asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsPromptTemplate<INPUT_PROMPT, PROMPT>): TextGenerationToolCallsModel<INPUT_PROMPT, PROMPT, this>;
33
33
  asStructureGenerationModel<INPUT_PROMPT>(promptTemplate: StructureFromTextPromptTemplate<INPUT_PROMPT, PROMPT>): StructureFromTextGenerationModel<INPUT_PROMPT, PROMPT, this>;
34
34
  withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, PROMPT>): PromptTemplateTextGenerationModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
35
35
  withSettings(additionalSettings: Partial<SETTINGS>): this;
@@ -1,5 +1,5 @@
1
1
  import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
2
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
2
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
3
3
  import { StructureFromTextGenerationModel } from "../generate-structure/StructureFromTextGenerationModel.js";
4
4
  export class PromptTemplateTextGenerationModel {
5
5
  constructor({ model, promptTemplate, }) {
@@ -51,7 +51,7 @@ export class PromptTemplateTextGenerationModel {
51
51
  });
52
52
  }
53
53
  asToolCallsOrTextGenerationModel(promptTemplate) {
54
- return new TextGenerationToolCallsOrGenerateTextModel({
54
+ return new TextGenerationToolCallsModel({
55
55
  model: this,
56
56
  template: promptTemplate,
57
57
  });
@@ -61,12 +61,12 @@ export declare class MistralChatModel extends AbstractModel<MistralChatModelSett
61
61
  doGenerateTexts(prompt: MistralChatPrompt, options?: FunctionOptions): Promise<{
62
62
  response: {
63
63
  object: string;
64
+ model: string;
64
65
  usage: {
65
66
  prompt_tokens: number;
66
67
  completion_tokens: number;
67
68
  total_tokens: number;
68
69
  };
69
- model: string;
70
70
  id: string;
71
71
  created: number;
72
72
  choices: {
@@ -162,12 +162,12 @@ declare const mistralChatResponseSchema: z.ZodObject<{
162
162
  }>;
163
163
  }, "strip", z.ZodTypeAny, {
164
164
  object: string;
165
+ model: string;
165
166
  usage: {
166
167
  prompt_tokens: number;
167
168
  completion_tokens: number;
168
169
  total_tokens: number;
169
170
  };
170
- model: string;
171
171
  id: string;
172
172
  created: number;
173
173
  choices: {
@@ -180,12 +180,12 @@ declare const mistralChatResponseSchema: z.ZodObject<{
180
180
  }[];
181
181
  }, {
182
182
  object: string;
183
+ model: string;
183
184
  usage: {
184
185
  prompt_tokens: number;
185
186
  completion_tokens: number;
186
187
  total_tokens: number;
187
188
  };
188
- model: string;
189
189
  id: string;
190
190
  created: number;
191
191
  choices: {
@@ -271,12 +271,12 @@ export declare const MistralChatResponseFormat: {
271
271
  stream: boolean;
272
272
  handler: ResponseHandler<{
273
273
  object: string;
274
+ model: string;
274
275
  usage: {
275
276
  prompt_tokens: number;
276
277
  completion_tokens: number;
277
278
  total_tokens: number;
278
279
  };
279
- model: string;
280
280
  id: string;
281
281
  created: number;
282
282
  choices: {
@@ -37,11 +37,11 @@ export declare class MistralTextEmbeddingModel extends AbstractModel<MistralText
37
37
  embedding: number[];
38
38
  index: number;
39
39
  }[];
40
+ model: string;
40
41
  usage: {
41
42
  prompt_tokens: number;
42
43
  total_tokens: number;
43
44
  };
44
- model: string;
45
45
  id: string;
46
46
  };
47
47
  embeddings: number[][];
@@ -82,11 +82,11 @@ declare const MistralTextEmbeddingResponseSchema: z.ZodObject<{
82
82
  embedding: number[];
83
83
  index: number;
84
84
  }[];
85
+ model: string;
85
86
  usage: {
86
87
  prompt_tokens: number;
87
88
  total_tokens: number;
88
89
  };
89
- model: string;
90
90
  id: string;
91
91
  }, {
92
92
  object: string;
@@ -95,11 +95,11 @@ declare const MistralTextEmbeddingResponseSchema: z.ZodObject<{
95
95
  embedding: number[];
96
96
  index: number;
97
97
  }[];
98
+ model: string;
98
99
  usage: {
99
100
  prompt_tokens: number;
100
101
  total_tokens: number;
101
102
  };
102
- model: string;
103
103
  id: string;
104
104
  }>;
105
105
  export type MistralTextEmbeddingResponse = z.infer<typeof MistralTextEmbeddingResponseSchema>;
@@ -11,7 +11,7 @@ const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
11
11
  const PromptTemplateTextStreamingModel_js_1 = require("../../model-function/generate-text/PromptTemplateTextStreamingModel.cjs");
12
12
  const TextGenerationModel_js_1 = require("../../model-function/generate-text/TextGenerationModel.cjs");
13
13
  const TextGenerationToolCallModel_js_1 = require("../../tool/generate-tool-call/TextGenerationToolCallModel.cjs");
14
- const TextGenerationToolCallsOrGenerateTextModel_js_1 = require("../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs");
14
+ const TextGenerationToolCallsModel_js_1 = require("../../tool/generate-tool-calls/TextGenerationToolCallsModel.cjs");
15
15
  const createJsonStreamResponseHandler_js_1 = require("../../util/streaming/createJsonStreamResponseHandler.cjs");
16
16
  const OllamaApiConfiguration_js_1 = require("./OllamaApiConfiguration.cjs");
17
17
  const OllamaChatPromptTemplate_js_1 = require("./OllamaChatPromptTemplate.cjs");
@@ -143,7 +143,7 @@ class OllamaChatModel extends AbstractModel_js_1.AbstractModel {
143
143
  });
144
144
  }
145
145
  asToolCallsOrTextGenerationModel(promptTemplate) {
146
- return new TextGenerationToolCallsOrGenerateTextModel_js_1.TextGenerationToolCallsOrGenerateTextModel({
146
+ return new TextGenerationToolCallsModel_js_1.TextGenerationToolCallsModel({
147
147
  model: this,
148
148
  template: promptTemplate,
149
149
  });
@@ -7,8 +7,8 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
7
7
  import { TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
8
8
  import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
9
9
  import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
10
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
- import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
10
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
11
+ import { ToolCallsPromptTemplate } from "../../tool/generate-tool-calls/ToolCallsPromptTemplate.js";
12
12
  import { OllamaTextGenerationSettings } from "./OllamaTextGenerationSettings.js";
13
13
  export type OllamaChatMessage = {
14
14
  role: "system" | "user" | "assistant";
@@ -78,7 +78,7 @@ export declare class OllamaChatModel extends AbstractModel<OllamaChatModelSettin
78
78
  }>>>;
79
79
  extractTextDelta(delta: unknown): string | undefined;
80
80
  asToolCallGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallPromptTemplate<INPUT_PROMPT, OllamaChatPrompt>): TextGenerationToolCallModel<INPUT_PROMPT, OllamaChatPrompt, this>;
81
- asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsOrGenerateTextPromptTemplate<INPUT_PROMPT, OllamaChatPrompt>): TextGenerationToolCallsOrGenerateTextModel<INPUT_PROMPT, OllamaChatPrompt, this>;
81
+ asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsPromptTemplate<INPUT_PROMPT, OllamaChatPrompt>): TextGenerationToolCallsModel<INPUT_PROMPT, OllamaChatPrompt, this>;
82
82
  /**
83
83
  * Returns this model with a text prompt template.
84
84
  */
@@ -8,7 +8,7 @@ import { AbstractModel } from "../../model-function/AbstractModel.js";
8
8
  import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
9
9
  import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
10
10
  import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
12
12
  import { createJsonStreamResponseHandler } from "../../util/streaming/createJsonStreamResponseHandler.js";
13
13
  import { OllamaApiConfiguration } from "./OllamaApiConfiguration.js";
14
14
  import { chat, instruction, text } from "./OllamaChatPromptTemplate.js";
@@ -140,7 +140,7 @@ export class OllamaChatModel extends AbstractModel {
140
140
  });
141
141
  }
142
142
  asToolCallsOrTextGenerationModel(promptTemplate) {
143
- return new TextGenerationToolCallsOrGenerateTextModel({
143
+ return new TextGenerationToolCallsModel({
144
144
  model: this,
145
145
  template: promptTemplate,
146
146
  });
@@ -11,7 +11,7 @@ const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
11
11
  const PromptTemplateTextStreamingModel_js_1 = require("../../model-function/generate-text/PromptTemplateTextStreamingModel.cjs");
12
12
  const TextGenerationModel_js_1 = require("../../model-function/generate-text/TextGenerationModel.cjs");
13
13
  const TextGenerationToolCallModel_js_1 = require("../../tool/generate-tool-call/TextGenerationToolCallModel.cjs");
14
- const TextGenerationToolCallsOrGenerateTextModel_js_1 = require("../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs");
14
+ const TextGenerationToolCallsModel_js_1 = require("../../tool/generate-tool-calls/TextGenerationToolCallsModel.cjs");
15
15
  const createJsonStreamResponseHandler_js_1 = require("../../util/streaming/createJsonStreamResponseHandler.cjs");
16
16
  const OllamaApiConfiguration_js_1 = require("./OllamaApiConfiguration.cjs");
17
17
  const OllamaError_js_1 = require("./OllamaError.cjs");
@@ -145,7 +145,7 @@ class OllamaCompletionModel extends AbstractModel_js_1.AbstractModel {
145
145
  });
146
146
  }
147
147
  asToolCallsOrTextGenerationModel(promptTemplate) {
148
- return new TextGenerationToolCallsOrGenerateTextModel_js_1.TextGenerationToolCallsOrGenerateTextModel({
148
+ return new TextGenerationToolCallsModel_js_1.TextGenerationToolCallsModel({
149
149
  model: this,
150
150
  template: promptTemplate,
151
151
  });
@@ -7,8 +7,8 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
7
7
  import { TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
8
8
  import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
9
9
  import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
10
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
- import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
10
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
11
+ import { ToolCallsPromptTemplate } from "../../tool/generate-tool-calls/ToolCallsPromptTemplate.js";
12
12
  import { OllamaTextGenerationSettings } from "./OllamaTextGenerationSettings.js";
13
13
  export interface OllamaCompletionPrompt {
14
14
  /**
@@ -91,7 +91,7 @@ export declare class OllamaCompletionModel<CONTEXT_WINDOW_SIZE extends number |
91
91
  }>>>;
92
92
  extractTextDelta(delta: unknown): string | undefined;
93
93
  asToolCallGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallPromptTemplate<INPUT_PROMPT, OllamaCompletionPrompt>): TextGenerationToolCallModel<INPUT_PROMPT, OllamaCompletionPrompt, this>;
94
- asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsOrGenerateTextPromptTemplate<INPUT_PROMPT, OllamaCompletionPrompt>): TextGenerationToolCallsOrGenerateTextModel<INPUT_PROMPT, OllamaCompletionPrompt, this>;
94
+ asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsPromptTemplate<INPUT_PROMPT, OllamaCompletionPrompt>): TextGenerationToolCallsModel<INPUT_PROMPT, OllamaCompletionPrompt, this>;
95
95
  withTextPrompt(): PromptTemplateTextStreamingModel<string, OllamaCompletionPrompt, OllamaCompletionModelSettings<CONTEXT_WINDOW_SIZE>, this>;
96
96
  /**
97
97
  * Maps the prompt for a text version of the Ollama completion prompt template (without image support).
@@ -8,7 +8,7 @@ import { AbstractModel } from "../../model-function/AbstractModel.js";
8
8
  import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
9
9
  import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
10
10
  import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
12
12
  import { createJsonStreamResponseHandler } from "../../util/streaming/createJsonStreamResponseHandler.js";
13
13
  import { OllamaApiConfiguration } from "./OllamaApiConfiguration.js";
14
14
  import { failedOllamaCallResponseHandler } from "./OllamaError.js";
@@ -142,7 +142,7 @@ export class OllamaCompletionModel extends AbstractModel {
142
142
  });
143
143
  }
144
144
  asToolCallsOrTextGenerationModel(promptTemplate) {
145
- return new TextGenerationToolCallsOrGenerateTextModel({
145
+ return new TextGenerationToolCallsModel({
146
146
  model: this,
147
147
  template: promptTemplate,
148
148
  });
@@ -151,7 +151,7 @@ class AbstractOpenAIChatModel extends AbstractModel_js_1.AbstractModel {
151
151
  usage: this.extractUsage(response),
152
152
  };
153
153
  }
154
- async doGenerateToolCallsOrText(tools, prompt, options) {
154
+ async doGenerateToolCalls(tools, prompt, options) {
155
155
  const response = await this.callAPI(prompt, {
156
156
  ...options,
157
157
  responseFormat: exports.OpenAIChatResponseFormat.json,
@@ -93,12 +93,12 @@ export declare abstract class AbstractOpenAIChatModel<SETTINGS extends AbstractO
93
93
  doGenerateTexts(prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
94
94
  response: {
95
95
  object: "chat.completion";
96
+ model: string;
96
97
  usage: {
97
98
  prompt_tokens: number;
98
99
  completion_tokens: number;
99
100
  total_tokens: number;
100
101
  };
101
- model: string;
102
102
  id: string;
103
103
  created: number;
104
104
  choices: {
@@ -166,12 +166,12 @@ export declare abstract class AbstractOpenAIChatModel<SETTINGS extends AbstractO
166
166
  doGenerateToolCall(tool: ToolDefinition<string, unknown>, prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
167
167
  response: {
168
168
  object: "chat.completion";
169
+ model: string;
169
170
  usage: {
170
171
  prompt_tokens: number;
171
172
  completion_tokens: number;
172
173
  total_tokens: number;
173
174
  };
174
- model: string;
175
175
  id: string;
176
176
  created: number;
177
177
  choices: {
@@ -207,15 +207,15 @@ export declare abstract class AbstractOpenAIChatModel<SETTINGS extends AbstractO
207
207
  totalTokens: number;
208
208
  };
209
209
  }>;
210
- doGenerateToolCallsOrText(tools: Array<ToolDefinition<string, unknown>>, prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
210
+ doGenerateToolCalls(tools: Array<ToolDefinition<string, unknown>>, prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
211
211
  response: {
212
212
  object: "chat.completion";
213
+ model: string;
213
214
  usage: {
214
215
  prompt_tokens: number;
215
216
  completion_tokens: number;
216
217
  total_tokens: number;
217
218
  };
218
- model: string;
219
219
  id: string;
220
220
  created: number;
221
221
  choices: {
@@ -397,12 +397,12 @@ declare const openAIChatResponseSchema: z.ZodObject<{
397
397
  }>;
398
398
  }, "strip", z.ZodTypeAny, {
399
399
  object: "chat.completion";
400
+ model: string;
400
401
  usage: {
401
402
  prompt_tokens: number;
402
403
  completion_tokens: number;
403
404
  total_tokens: number;
404
405
  };
405
- model: string;
406
406
  id: string;
407
407
  created: number;
408
408
  choices: {
@@ -429,12 +429,12 @@ declare const openAIChatResponseSchema: z.ZodObject<{
429
429
  system_fingerprint?: string | null | undefined;
430
430
  }, {
431
431
  object: "chat.completion";
432
+ model: string;
432
433
  usage: {
433
434
  prompt_tokens: number;
434
435
  completion_tokens: number;
435
436
  total_tokens: number;
436
437
  };
437
- model: string;
438
438
  id: string;
439
439
  created: number;
440
440
  choices: {
@@ -647,12 +647,12 @@ export declare const OpenAIChatResponseFormat: {
647
647
  stream: boolean;
648
648
  handler: ResponseHandler<{
649
649
  object: "chat.completion";
650
+ model: string;
650
651
  usage: {
651
652
  prompt_tokens: number;
652
653
  completion_tokens: number;
653
654
  total_tokens: number;
654
655
  };
655
- model: string;
656
656
  id: string;
657
657
  created: number;
658
658
  choices: {
@@ -148,7 +148,7 @@ export class AbstractOpenAIChatModel extends AbstractModel {
148
148
  usage: this.extractUsage(response),
149
149
  };
150
150
  }
151
- async doGenerateToolCallsOrText(tools, prompt, options) {
151
+ async doGenerateToolCalls(tools, prompt, options) {
152
152
  const response = await this.callAPI(prompt, {
153
153
  ...options,
154
154
  responseFormat: OpenAIChatResponseFormat.json,