@langchain/openai 1.0.0-alpha.2 → 1.0.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 (110) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/LICENSE +6 -6
  3. package/dist/azure/chat_models/common.cjs +130 -0
  4. package/dist/azure/chat_models/common.cjs.map +1 -0
  5. package/dist/azure/chat_models/common.d.cts +16 -0
  6. package/dist/azure/chat_models/common.d.cts.map +1 -0
  7. package/dist/azure/chat_models/common.d.ts +16 -0
  8. package/dist/azure/chat_models/common.d.ts.map +1 -0
  9. package/dist/azure/chat_models/common.js +124 -0
  10. package/dist/azure/chat_models/common.js.map +1 -0
  11. package/dist/azure/chat_models/completions.cjs +50 -0
  12. package/dist/azure/chat_models/completions.cjs.map +1 -0
  13. package/dist/azure/chat_models/completions.d.cts +29 -0
  14. package/dist/azure/chat_models/completions.d.cts.map +1 -0
  15. package/dist/azure/chat_models/completions.d.ts +29 -0
  16. package/dist/azure/chat_models/completions.d.ts.map +1 -0
  17. package/dist/azure/chat_models/completions.js +50 -0
  18. package/dist/azure/chat_models/completions.js.map +1 -0
  19. package/dist/azure/{chat_models.cjs → chat_models/index.cjs} +14 -214
  20. package/dist/azure/chat_models/index.cjs.map +1 -0
  21. package/dist/azure/{chat_models.d.ts → chat_models/index.d.cts} +6 -11
  22. package/dist/azure/chat_models/index.d.cts.map +1 -0
  23. package/dist/azure/{chat_models.d.cts → chat_models/index.d.ts} +6 -11
  24. package/dist/azure/chat_models/index.d.ts.map +1 -0
  25. package/dist/azure/{chat_models.js → chat_models/index.js} +6 -205
  26. package/dist/azure/chat_models/index.js.map +1 -0
  27. package/dist/azure/chat_models/responses.cjs +50 -0
  28. package/dist/azure/chat_models/responses.cjs.map +1 -0
  29. package/dist/azure/chat_models/responses.d.cts +29 -0
  30. package/dist/azure/chat_models/responses.d.cts.map +1 -0
  31. package/dist/azure/chat_models/responses.d.ts +29 -0
  32. package/dist/azure/chat_models/responses.d.ts.map +1 -0
  33. package/dist/azure/chat_models/responses.js +50 -0
  34. package/dist/azure/chat_models/responses.js.map +1 -0
  35. package/dist/chat_models/base.cjs +533 -0
  36. package/dist/chat_models/base.cjs.map +1 -0
  37. package/dist/chat_models/base.d.cts +272 -0
  38. package/dist/chat_models/base.d.cts.map +1 -0
  39. package/dist/chat_models/base.d.ts +272 -0
  40. package/dist/chat_models/base.d.ts.map +1 -0
  41. package/dist/chat_models/base.js +532 -0
  42. package/dist/chat_models/base.js.map +1 -0
  43. package/dist/chat_models/completions.cjs +328 -0
  44. package/dist/chat_models/completions.cjs.map +1 -0
  45. package/dist/chat_models/completions.d.cts +33 -0
  46. package/dist/chat_models/completions.d.cts.map +1 -0
  47. package/dist/chat_models/completions.d.ts +33 -0
  48. package/dist/chat_models/completions.d.ts.map +1 -0
  49. package/dist/chat_models/completions.js +327 -0
  50. package/dist/chat_models/completions.js.map +1 -0
  51. package/dist/chat_models/index.cjs +608 -0
  52. package/dist/chat_models/index.cjs.map +1 -0
  53. package/dist/chat_models/index.d.cts +593 -0
  54. package/dist/chat_models/index.d.cts.map +1 -0
  55. package/dist/chat_models/index.d.ts +593 -0
  56. package/dist/chat_models/index.d.ts.map +1 -0
  57. package/dist/chat_models/index.js +608 -0
  58. package/dist/chat_models/index.js.map +1 -0
  59. package/dist/chat_models/responses.cjs +550 -0
  60. package/dist/chat_models/responses.cjs.map +1 -0
  61. package/dist/chat_models/responses.d.cts +77 -0
  62. package/dist/chat_models/responses.d.cts.map +1 -0
  63. package/dist/chat_models/responses.d.ts +77 -0
  64. package/dist/chat_models/responses.d.ts.map +1 -0
  65. package/dist/chat_models/responses.js +549 -0
  66. package/dist/chat_models/responses.js.map +1 -0
  67. package/dist/index.cjs +14 -7
  68. package/dist/index.d.cts +9 -3
  69. package/dist/index.d.ts +9 -3
  70. package/dist/index.js +8 -3
  71. package/dist/langchain-core/dist/callbacks/base.d.ts +1 -0
  72. package/dist/langchain-core/dist/callbacks/manager.d.ts +2 -0
  73. package/dist/langchain-core/dist/language_models/base.d.ts +5 -0
  74. package/dist/langchain-core/dist/language_models/chat_models.d.cts +13 -0
  75. package/dist/langchain-core/dist/language_models/chat_models.d.cts.map +1 -0
  76. package/dist/langchain-core/dist/language_models/chat_models.d.ts +20 -0
  77. package/dist/langchain-core/dist/language_models/chat_models.d.ts.map +1 -0
  78. package/dist/langchain-core/dist/runnables/base.d.ts +7 -0
  79. package/dist/langchain-core/dist/runnables/graph.d.ts +1 -0
  80. package/dist/langchain-core/dist/runnables/types.d.ts +2 -0
  81. package/dist/langchain-core/dist/tools/types.d.ts +5 -0
  82. package/dist/langchain-core/dist/tracers/base.d.ts +2 -0
  83. package/dist/langchain-core/dist/tracers/event_stream.d.ts +1 -0
  84. package/dist/langchain-core/dist/tracers/log_stream.d.ts +3 -0
  85. package/dist/langchain-core/dist/utils/types/index.d.ts +1 -0
  86. package/dist/langchain-core/dist/utils/types/zod.d.ts +1 -0
  87. package/dist/llms.cjs +1 -1
  88. package/dist/llms.d.cts +1 -1
  89. package/dist/llms.js +1 -1
  90. package/dist/utils/message_inputs.cjs +1 -1
  91. package/dist/utils/message_inputs.js +1 -1
  92. package/dist/utils/misc.cjs +4 -1
  93. package/dist/utils/misc.cjs.map +1 -1
  94. package/dist/utils/misc.d.cts.map +1 -1
  95. package/dist/utils/misc.d.ts.map +1 -1
  96. package/dist/utils/misc.js +4 -1
  97. package/dist/utils/misc.js.map +1 -1
  98. package/package.json +11 -10
  99. package/dist/azure/chat_models.cjs.map +0 -1
  100. package/dist/azure/chat_models.d.cts.map +0 -1
  101. package/dist/azure/chat_models.d.ts.map +0 -1
  102. package/dist/azure/chat_models.js.map +0 -1
  103. package/dist/chat_models.cjs +0 -1965
  104. package/dist/chat_models.cjs.map +0 -1
  105. package/dist/chat_models.d.cts +0 -931
  106. package/dist/chat_models.d.cts.map +0 -1
  107. package/dist/chat_models.d.ts +0 -931
  108. package/dist/chat_models.d.ts.map +0 -1
  109. package/dist/chat_models.js +0 -1961
  110. package/dist/chat_models.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,10 +1,15 @@
1
1
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
2
  const require_misc = require('./utils/misc.cjs');
3
3
  const require_azure = require('./utils/azure.cjs');
4
+ const require_base = require('./chat_models/base.cjs');
4
5
  const require_client = require('./utils/client.cjs');
5
6
  const require_message_inputs = require('./utils/message_inputs.cjs');
6
- const require_chat_models = require('./chat_models.cjs');
7
- const require_chat_models$1 = require('./azure/chat_models.cjs');
7
+ const require_responses = require('./chat_models/responses.cjs');
8
+ const require_completions = require('./chat_models/completions.cjs');
9
+ const require_index = require('./chat_models/index.cjs');
10
+ const require_completions$1 = require('./azure/chat_models/completions.cjs');
11
+ const require_responses$1 = require('./azure/chat_models/responses.cjs');
12
+ const require_index$1 = require('./azure/chat_models/index.cjs');
8
13
  const require_llms = require('./llms.cjs');
9
14
  const require_llms$1 = require('./azure/llms.cjs');
10
15
  const require_embeddings = require('./embeddings.cjs');
@@ -15,13 +20,15 @@ const require_custom = require('./tools/custom.cjs');
15
20
  const require_prompts = require('./utils/prompts.cjs');
16
21
  const openai = require_rolldown_runtime.__toESM(require("openai"));
17
22
 
18
- exports.AzureChatOpenAI = require_chat_models$1.AzureChatOpenAI;
23
+ exports.AzureChatOpenAI = require_index$1.AzureChatOpenAI;
24
+ exports.AzureChatOpenAICompletions = require_completions$1.AzureChatOpenAICompletions;
25
+ exports.AzureChatOpenAIResponses = require_responses$1.AzureChatOpenAIResponses;
19
26
  exports.AzureOpenAI = require_llms$1.AzureOpenAI;
20
27
  exports.AzureOpenAIEmbeddings = require_embeddings$1.AzureOpenAIEmbeddings;
21
- exports.BaseChatOpenAI = require_chat_models.BaseChatOpenAI;
22
- exports.ChatOpenAI = require_chat_models.ChatOpenAI;
23
- exports.ChatOpenAICompletions = require_chat_models.ChatOpenAICompletions;
24
- exports.ChatOpenAIResponses = require_chat_models.ChatOpenAIResponses;
28
+ exports.BaseChatOpenAI = require_base.BaseChatOpenAI;
29
+ exports.ChatOpenAI = require_index.ChatOpenAI;
30
+ exports.ChatOpenAICompletions = require_completions.ChatOpenAICompletions;
31
+ exports.ChatOpenAIResponses = require_responses.ChatOpenAIResponses;
25
32
  exports.DallEAPIWrapper = require_dalle.DallEAPIWrapper;
26
33
  exports.OpenAI = require_llms.OpenAI;
27
34
  Object.defineProperty(exports, 'OpenAIClient', {
package/dist/index.d.cts CHANGED
@@ -1,6 +1,12 @@
1
1
  import { AzureOpenAIChatInput, AzureOpenAIInput, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, OpenAIBaseInput, OpenAICallOptions, OpenAIChatInput, OpenAIChatModelId, OpenAICoreRequestOptions, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, TiktokenModel } from "./types.cjs";
2
- import { BaseChatOpenAI, BaseChatOpenAICallOptions, BaseChatOpenAIFields, ChatOpenAI, ChatOpenAICallOptions, ChatOpenAICompletions, ChatOpenAICompletionsCallOptions, ChatOpenAIFields, ChatOpenAIResponses, ChatOpenAIResponsesCallOptions } from "./chat_models.cjs";
3
- import { AzureChatOpenAI } from "./azure/chat_models.cjs";
2
+ import { BaseChatOpenAI, BaseChatOpenAICallOptions, BaseChatOpenAIFields } from "./chat_models/base.cjs";
3
+ import { ChatOpenAIResponses, ChatOpenAIResponsesCallOptions } from "./chat_models/responses.cjs";
4
+ import { ChatOpenAICompletions, ChatOpenAICompletionsCallOptions } from "./chat_models/completions.cjs";
5
+ import { ChatOpenAI, ChatOpenAICallOptions, ChatOpenAIFields } from "./chat_models/index.cjs";
6
+ import { AzureChatOpenAIFields } from "./azure/chat_models/common.cjs";
7
+ import { AzureChatOpenAICompletions } from "./azure/chat_models/completions.cjs";
8
+ import { AzureChatOpenAIResponses } from "./azure/chat_models/responses.cjs";
9
+ import { AzureChatOpenAI } from "./azure/chat_models/index.cjs";
4
10
  import { OpenAI } from "./llms.cjs";
5
11
  import { AzureOpenAI } from "./azure/llms.cjs";
6
12
  import { OpenAIEmbeddingModelId, OpenAIEmbeddings, OpenAIEmbeddingsParams } from "./embeddings.cjs";
@@ -13,4 +19,4 @@ import { convertPromptToOpenAI } from "./utils/prompts.cjs";
13
19
  import { _convertMessagesToOpenAIParams } from "./utils/message_inputs.cjs";
14
20
  import { messageToOpenAIRole } from "./utils/misc.cjs";
15
21
  import { ClientOptions, OpenAI as OpenAIClient, toFile } from "openai";
16
- export { AzureChatOpenAI, AzureOpenAI, AzureOpenAIChatInput, AzureOpenAIEmbeddings, AzureOpenAIInput, BaseChatOpenAI, BaseChatOpenAICallOptions, BaseChatOpenAIFields, ChatOpenAI, ChatOpenAICallOptions, ChatOpenAICompletions, ChatOpenAICompletionsCallOptions, ChatOpenAIFields, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, ChatOpenAIResponses, ChatOpenAIResponsesCallOptions, type ClientOptions, DallEAPIWrapper, DallEAPIWrapperParams, HeadersLike, OpenAI, OpenAIBaseInput, OpenAICallOptions, OpenAIChatInput, OpenAIChatModelId, OpenAIClient, OpenAICoreRequestOptions, OpenAIEmbeddingModelId, OpenAIEmbeddings, OpenAIEmbeddingsParams, OpenAIEndpointConfig, OpenAIImageModelId, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, TiktokenModel, _convertMessagesToOpenAIParams, convertPromptToOpenAI, customTool, getEndpoint, isHeaders, messageToOpenAIRole, normalizeHeaders, toFile, wrapOpenAIClientError };
22
+ export { AzureChatOpenAI, AzureChatOpenAICompletions, type AzureChatOpenAIFields, AzureChatOpenAIResponses, AzureOpenAI, AzureOpenAIChatInput, AzureOpenAIEmbeddings, AzureOpenAIInput, BaseChatOpenAI, type BaseChatOpenAICallOptions, type BaseChatOpenAIFields, ChatOpenAI, type ChatOpenAICallOptions, ChatOpenAICompletions, type ChatOpenAICompletionsCallOptions, type ChatOpenAIFields, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, ChatOpenAIResponses, type ChatOpenAIResponsesCallOptions, type ClientOptions, DallEAPIWrapper, DallEAPIWrapperParams, HeadersLike, OpenAI, OpenAIBaseInput, type OpenAICallOptions, type OpenAIChatInput, OpenAIChatModelId, OpenAIClient, OpenAICoreRequestOptions, OpenAIEmbeddingModelId, OpenAIEmbeddings, OpenAIEmbeddingsParams, OpenAIEndpointConfig, OpenAIImageModelId, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, TiktokenModel, _convertMessagesToOpenAIParams, convertPromptToOpenAI, customTool, getEndpoint, isHeaders, messageToOpenAIRole, normalizeHeaders, toFile, wrapOpenAIClientError };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  import { AzureOpenAIChatInput, AzureOpenAIInput, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, OpenAIBaseInput, OpenAICallOptions, OpenAIChatInput, OpenAIChatModelId, OpenAICoreRequestOptions, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, TiktokenModel } from "./types.js";
2
- import { BaseChatOpenAI, BaseChatOpenAICallOptions, BaseChatOpenAIFields, ChatOpenAI, ChatOpenAICallOptions, ChatOpenAICompletions, ChatOpenAICompletionsCallOptions, ChatOpenAIFields, ChatOpenAIResponses, ChatOpenAIResponsesCallOptions } from "./chat_models.js";
3
- import { AzureChatOpenAI } from "./azure/chat_models.js";
2
+ import { BaseChatOpenAI, BaseChatOpenAICallOptions, BaseChatOpenAIFields } from "./chat_models/base.js";
3
+ import { ChatOpenAIResponses, ChatOpenAIResponsesCallOptions } from "./chat_models/responses.js";
4
+ import { ChatOpenAICompletions, ChatOpenAICompletionsCallOptions } from "./chat_models/completions.js";
5
+ import { ChatOpenAI, ChatOpenAICallOptions, ChatOpenAIFields } from "./chat_models/index.js";
6
+ import { AzureChatOpenAIFields } from "./azure/chat_models/common.js";
7
+ import { AzureChatOpenAICompletions } from "./azure/chat_models/completions.js";
8
+ import { AzureChatOpenAIResponses } from "./azure/chat_models/responses.js";
9
+ import { AzureChatOpenAI } from "./azure/chat_models/index.js";
4
10
  import { OpenAI } from "./llms.js";
5
11
  import { AzureOpenAI } from "./azure/llms.js";
6
12
  import { OpenAIEmbeddingModelId, OpenAIEmbeddings, OpenAIEmbeddingsParams } from "./embeddings.js";
@@ -13,4 +19,4 @@ import { convertPromptToOpenAI } from "./utils/prompts.js";
13
19
  import { _convertMessagesToOpenAIParams } from "./utils/message_inputs.js";
14
20
  import { messageToOpenAIRole } from "./utils/misc.js";
15
21
  import { ClientOptions, OpenAI as OpenAIClient, toFile } from "openai";
16
- export { AzureChatOpenAI, AzureOpenAI, AzureOpenAIChatInput, AzureOpenAIEmbeddings, AzureOpenAIInput, BaseChatOpenAI, BaseChatOpenAICallOptions, BaseChatOpenAIFields, ChatOpenAI, ChatOpenAICallOptions, ChatOpenAICompletions, ChatOpenAICompletionsCallOptions, ChatOpenAIFields, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, ChatOpenAIResponses, ChatOpenAIResponsesCallOptions, type ClientOptions, DallEAPIWrapper, DallEAPIWrapperParams, HeadersLike, OpenAI, OpenAIBaseInput, OpenAICallOptions, OpenAIChatInput, OpenAIChatModelId, OpenAIClient, OpenAICoreRequestOptions, OpenAIEmbeddingModelId, OpenAIEmbeddings, OpenAIEmbeddingsParams, OpenAIEndpointConfig, OpenAIImageModelId, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, TiktokenModel, _convertMessagesToOpenAIParams, convertPromptToOpenAI, customTool, getEndpoint, isHeaders, messageToOpenAIRole, normalizeHeaders, toFile, wrapOpenAIClientError };
22
+ export { AzureChatOpenAI, AzureChatOpenAICompletions, type AzureChatOpenAIFields, AzureChatOpenAIResponses, AzureOpenAI, AzureOpenAIChatInput, AzureOpenAIEmbeddings, AzureOpenAIInput, BaseChatOpenAI, type BaseChatOpenAICallOptions, type BaseChatOpenAIFields, ChatOpenAI, type ChatOpenAICallOptions, ChatOpenAICompletions, type ChatOpenAICompletionsCallOptions, type ChatOpenAIFields, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, ChatOpenAIResponses, type ChatOpenAIResponsesCallOptions, type ClientOptions, DallEAPIWrapper, DallEAPIWrapperParams, HeadersLike, OpenAI, OpenAIBaseInput, type OpenAICallOptions, type OpenAIChatInput, OpenAIChatModelId, OpenAIClient, OpenAICoreRequestOptions, OpenAIEmbeddingModelId, OpenAIEmbeddings, OpenAIEmbeddingsParams, OpenAIEndpointConfig, OpenAIImageModelId, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, TiktokenModel, _convertMessagesToOpenAIParams, convertPromptToOpenAI, customTool, getEndpoint, isHeaders, messageToOpenAIRole, normalizeHeaders, toFile, wrapOpenAIClientError };
package/dist/index.js CHANGED
@@ -1,9 +1,14 @@
1
1
  import { messageToOpenAIRole } from "./utils/misc.js";
2
2
  import { getEndpoint, isHeaders, normalizeHeaders } from "./utils/azure.js";
3
+ import { BaseChatOpenAI } from "./chat_models/base.js";
3
4
  import { wrapOpenAIClientError } from "./utils/client.js";
4
5
  import { _convertMessagesToOpenAIParams } from "./utils/message_inputs.js";
5
- import { BaseChatOpenAI, ChatOpenAI, ChatOpenAICompletions, ChatOpenAIResponses } from "./chat_models.js";
6
- import { AzureChatOpenAI } from "./azure/chat_models.js";
6
+ import { ChatOpenAIResponses } from "./chat_models/responses.js";
7
+ import { ChatOpenAICompletions } from "./chat_models/completions.js";
8
+ import { ChatOpenAI } from "./chat_models/index.js";
9
+ import { AzureChatOpenAICompletions } from "./azure/chat_models/completions.js";
10
+ import { AzureChatOpenAIResponses } from "./azure/chat_models/responses.js";
11
+ import { AzureChatOpenAI } from "./azure/chat_models/index.js";
7
12
  import { OpenAI } from "./llms.js";
8
13
  import { AzureOpenAI } from "./azure/llms.js";
9
14
  import { OpenAIEmbeddings } from "./embeddings.js";
@@ -14,4 +19,4 @@ import { customTool } from "./tools/custom.js";
14
19
  import { convertPromptToOpenAI } from "./utils/prompts.js";
15
20
  import { OpenAI as OpenAIClient, toFile } from "openai";
16
21
 
17
- export { AzureChatOpenAI, AzureOpenAI, AzureOpenAIEmbeddings, BaseChatOpenAI, ChatOpenAI, ChatOpenAICompletions, ChatOpenAIResponses, DallEAPIWrapper, OpenAI, OpenAIClient, OpenAIEmbeddings, _convertMessagesToOpenAIParams, convertPromptToOpenAI, customTool, getEndpoint, isHeaders, messageToOpenAIRole, normalizeHeaders, toFile, wrapOpenAIClientError };
22
+ export { AzureChatOpenAI, AzureChatOpenAICompletions, AzureChatOpenAIResponses, AzureOpenAI, AzureOpenAIEmbeddings, BaseChatOpenAI, ChatOpenAI, ChatOpenAICompletions, ChatOpenAIResponses, DallEAPIWrapper, OpenAI, OpenAIClient, OpenAIEmbeddings, _convertMessagesToOpenAIParams, convertPromptToOpenAI, customTool, getEndpoint, isHeaders, messageToOpenAIRole, normalizeHeaders, toFile, wrapOpenAIClientError };
@@ -0,0 +1 @@
1
+ import "../utils/types/index.js";
@@ -0,0 +1,2 @@
1
+ import "../utils/types/index.js";
2
+ import "./base.js";
@@ -0,0 +1,5 @@
1
+ import "../utils/types/zod.js";
2
+ import "../callbacks/manager.js";
3
+ import "../runnables/types.js";
4
+ import "../runnables/base.js";
5
+ import "zod/v4/core";
@@ -0,0 +1,13 @@
1
+ //#region ../../langchain-core/dist/language_models/chat_models.d.ts
2
+
3
+ type LangSmithParams = {
4
+ ls_provider?: string;
5
+ ls_model_name?: string;
6
+ ls_model_type: "chat";
7
+ ls_temperature?: number;
8
+ ls_max_tokens?: number;
9
+ ls_stop?: Array<string>;
10
+ };
11
+ //#endregion
12
+ export { LangSmithParams };
13
+ //# sourceMappingURL=chat_models.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat_models.d.cts","names":["BaseMessage","BaseMessageChunk","BaseMessageLike","AIMessageChunk","MessageOutputVersion","ChatGenerationChunk","ChatResult","Generation","LLMResult","BaseCache","CallbackManagerForLLMRun","Callbacks","RunnableConfig","Runnable","RunnableToolLike","BasePromptValueInterface","BaseLanguageModel","BaseLanguageModelCallOptions","BaseLanguageModelInput","BaseLanguageModelParams","StructuredOutputMethodOptions","ToolDefinition","StructuredToolInterface","StructuredToolParams","ZodType","$ZodType","ToolChoice","Record","SerializedChatModel","SerializedLLM","BaseChatModelParams","BaseChatModelCallOptions","LangSmithParams","Array","BindToolsInput","BaseChatModel","OutputMessageType","CallOptions","Exclude","Omit","Partial","Promise","AsyncGenerator","messages","cache","llmStringKey","parsedOptions","handledOptions","RunOutput","SimpleChatModel"],"sources":["../../../../../../langchain-core/dist/language_models/chat_models.d.ts"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, BaseMessageLike } from \"../messages/base.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { MessageOutputVersion } from \"../messages/message.js\";\nimport { ChatGenerationChunk, ChatResult, Generation, LLMResult } from \"../outputs.js\";\nimport { BaseCache } from \"../caches/base.js\";\nimport { CallbackManagerForLLMRun, Callbacks } from \"../callbacks/manager.js\";\nimport { RunnableConfig } from \"../runnables/types.js\";\nimport { Runnable, RunnableToolLike } from \"../runnables/base.js\";\nimport { BasePromptValueInterface } from \"../prompt_values.js\";\nimport { BaseLanguageModel, BaseLanguageModelCallOptions, BaseLanguageModelInput, BaseLanguageModelParams, StructuredOutputMethodOptions, ToolDefinition } from \"./base.js\";\nimport { StructuredToolInterface, StructuredToolParams } from \"../tools/types.js\";\nimport { ZodType } from \"zod/v3\";\nimport { $ZodType } from \"zod/v4/core\";\n\n//#region src/language_models/chat_models.d.ts\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ToolChoice = string | Record<string, any> | \"auto\" | \"any\";\n/**\n * Represents a serialized chat model.\n */\ntype SerializedChatModel = {\n _model: string;\n _type: string;\n} & Record<string, any>;\n// todo?\n/**\n * Represents a serialized large language model.\n */\ntype SerializedLLM = {\n _model: string;\n _type: string;\n} & Record<string, any>;\n/**\n * Represents the parameters for a base chat model.\n */\ntype BaseChatModelParams = BaseLanguageModelParams & {\n /**\n * Whether to disable streaming.\n *\n * If streaming is bypassed, then `stream()` will defer to\n * `invoke()`.\n *\n * - If true, will always bypass streaming case.\n * - If false (default), will always use streaming case if available.\n */\n disableStreaming?: boolean;\n /**\n * Version of `AIMessage` output format to store in message content.\n *\n * `AIMessage.contentBlocks` will lazily parse the contents of `content` into a\n * standard format. This flag can be used to additionally store the standard format\n * as the message content, e.g., for serialization purposes.\n *\n * - \"v0\": provider-specific format in content (can lazily parse with `.contentBlocks`)\n * - \"v1\": standardized format in content (consistent with `.contentBlocks`)\n *\n * You can also set `LC_OUTPUT_VERSION` as an environment variable to \"v1\" to\n * enable this by default.\n *\n * @default \"v0\"\n */\n outputVersion?: MessageOutputVersion;\n};\n/**\n * Represents the call options for a base chat model.\n */\ntype BaseChatModelCallOptions = BaseLanguageModelCallOptions & {\n /**\n * Specifies how the chat model should use tools.\n * @default undefined\n *\n * Possible values:\n * - \"auto\": The model may choose to use any of the provided tools, or none.\n * - \"any\": The model must use one of the provided tools.\n * - \"none\": The model must not use any tools.\n * - A string (not \"auto\", \"any\", or \"none\"): The name of a specific tool the model must use.\n * - An object: A custom schema specifying tool choice parameters. Specific to the provider.\n *\n * Note: Not all providers support tool_choice. An error will be thrown\n * if used with an unsupported model.\n */\n tool_choice?: ToolChoice;\n /**\n * Version of `AIMessage` output format to store in message content.\n *\n * `AIMessage.contentBlocks` will lazily parse the contents of `content` into a\n * standard format. This flag can be used to additionally store the standard format\n * as the message content, e.g., for serialization purposes.\n *\n * - \"v0\": provider-specific format in content (can lazily parse with `.contentBlocks`)\n * - \"v1\": standardized format in content (consistent with `.contentBlocks`)\n *\n * You can also set `LC_OUTPUT_VERSION` as an environment variable to \"v1\" to\n * enable this by default.\n *\n * @default \"v0\"\n */\n outputVersion?: MessageOutputVersion;\n};\ntype LangSmithParams = {\n ls_provider?: string;\n ls_model_name?: string;\n ls_model_type: \"chat\";\n ls_temperature?: number;\n ls_max_tokens?: number;\n ls_stop?: Array<string>;\n};\ntype BindToolsInput = StructuredToolInterface\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n| Record<string, any> | ToolDefinition | RunnableToolLike | StructuredToolParams;\n/**\n * Base class for chat models. It extends the BaseLanguageModel class and\n * provides methods for generating chat based on input messages.\n */\ndeclare abstract class BaseChatModel<CallOptions extends BaseChatModelCallOptions = BaseChatModelCallOptions,\n// TODO: Fix the parameter order on the next minor version.\nOutputMessageType extends BaseMessageChunk = AIMessageChunk> extends BaseLanguageModel<OutputMessageType, CallOptions> {\n // Backwards compatibility since fields have been moved to RunnableConfig\n ParsedCallOptions: Omit<CallOptions, Exclude<keyof RunnableConfig, \"signal\" | \"timeout\" | \"maxConcurrency\">>;\n // Only ever instantiated in main LangChain\n lc_namespace: string[];\n disableStreaming: boolean;\n outputVersion?: MessageOutputVersion;\n get callKeys(): string[];\n constructor(fields: BaseChatModelParams);\n _combineLLMOutput?(...llmOutputs: LLMResult[\"llmOutput\"][]): LLMResult[\"llmOutput\"];\n protected _separateRunnableConfigFromCallOptionsCompat(options?: Partial<CallOptions>): [RunnableConfig, this[\"ParsedCallOptions\"]];\n /**\n * Bind tool-like objects to this chat model.\n *\n * @param tools A list of tool definitions to bind to this chat model.\n * Can be a structured tool, an OpenAI formatted tool, or an object\n * matching the provider's specific tool schema.\n * @param kwargs Any additional parameters to bind.\n */\n bindTools?(tools: BindToolsInput[], kwargs?: Partial<CallOptions>): Runnable<BaseLanguageModelInput, OutputMessageType, CallOptions>;\n /**\n * Invokes the chat model with a single input.\n * @param input The input for the language model.\n * @param options The call options.\n * @returns A Promise that resolves to a BaseMessageChunk.\n */\n invoke(input: BaseLanguageModelInput, options?: CallOptions): Promise<OutputMessageType>;\n // eslint-disable-next-line require-yield\n _streamResponseChunks(_messages: BaseMessage[], _options: this[\"ParsedCallOptions\"], _runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n _streamIterator(input: BaseLanguageModelInput, options?: CallOptions): AsyncGenerator<OutputMessageType>;\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams;\n /** @ignore */\n _generateUncached(messages: BaseMessageLike[][], parsedOptions: this[\"ParsedCallOptions\"], handledOptions: RunnableConfig, startedRunManagers?: CallbackManagerForLLMRun[]): Promise<LLMResult>;\n _generateCached({\n messages,\n cache,\n llmStringKey,\n parsedOptions,\n handledOptions\n }: {\n messages: BaseMessageLike[][];\n cache: BaseCache<Generation[]>;\n llmStringKey: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parsedOptions: any;\n handledOptions: RunnableConfig;\n }): Promise<LLMResult & {\n missingPromptIndices: number[];\n startedRunManagers?: CallbackManagerForLLMRun[];\n }>;\n /**\n * Generates chat based on the input messages.\n * @param messages An array of arrays of BaseMessage instances.\n * @param options The call options or an array of stop sequences.\n * @param callbacks The callbacks for the language model.\n * @returns A Promise that resolves to an LLMResult.\n */\n generate(messages: BaseMessageLike[][], options?: string[] | CallOptions, callbacks?: Callbacks): Promise<LLMResult>;\n /**\n * Get the parameters used to invoke the model\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n invocationParams(_options?: this[\"ParsedCallOptions\"]): any;\n _modelType(): string;\n abstract _llmType(): string;\n /**\n * Generates a prompt based on the input prompt values.\n * @param promptValues An array of BasePromptValue instances.\n * @param options The call options or an array of stop sequences.\n * @param callbacks The callbacks for the language model.\n * @returns A Promise that resolves to an LLMResult.\n */\n generatePrompt(promptValues: BasePromptValueInterface[], options?: string[] | CallOptions, callbacks?: Callbacks): Promise<LLMResult>;\n abstract _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: $ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<false>): Runnable<BaseLanguageModelInput, RunOutput>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: $ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<true>): Runnable<BaseLanguageModelInput, {\n raw: BaseMessage;\n parsed: RunOutput;\n }>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<false>): Runnable<BaseLanguageModelInput, RunOutput>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<true>): Runnable<BaseLanguageModelInput, {\n raw: BaseMessage;\n parsed: RunOutput;\n }>;\n}\n/**\n * An abstract class that extends BaseChatModel and provides a simple\n * implementation of _generate.\n */\ndeclare abstract class SimpleChatModel<CallOptions extends BaseChatModelCallOptions = BaseChatModelCallOptions> extends BaseChatModel<CallOptions> {\n abstract _call(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<string>;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n}\n//#endregion\nexport { BaseChatModel, BaseChatModelCallOptions, BaseChatModelParams, BindToolsInput, LangSmithParams, SerializedChatModel, SerializedLLM, SimpleChatModel, ToolChoice };\n//# sourceMappingURL=chat_models.d.ts.map"],"mappings":";;KAmGKgC,eAAAA;;;;;;YAMOC"}
@@ -0,0 +1,20 @@
1
+ import "../callbacks/manager.js";
2
+ import "../runnables/types.js";
3
+ import "../runnables/base.js";
4
+ import "./base.js";
5
+ import "../tools/types.js";
6
+ import "zod/v4/core";
7
+
8
+ //#region ../../langchain-core/dist/language_models/chat_models.d.ts
9
+
10
+ type LangSmithParams = {
11
+ ls_provider?: string;
12
+ ls_model_name?: string;
13
+ ls_model_type: "chat";
14
+ ls_temperature?: number;
15
+ ls_max_tokens?: number;
16
+ ls_stop?: Array<string>;
17
+ };
18
+ //#endregion
19
+ export { LangSmithParams };
20
+ //# sourceMappingURL=chat_models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat_models.d.ts","names":["BaseMessage","BaseMessageChunk","BaseMessageLike","AIMessageChunk","MessageOutputVersion","ChatGenerationChunk","ChatResult","Generation","LLMResult","BaseCache","CallbackManagerForLLMRun","Callbacks","RunnableConfig","Runnable","RunnableToolLike","BasePromptValueInterface","BaseLanguageModel","BaseLanguageModelCallOptions","BaseLanguageModelInput","BaseLanguageModelParams","StructuredOutputMethodOptions","ToolDefinition","StructuredToolInterface","StructuredToolParams","ZodType","$ZodType","ToolChoice","Record","SerializedChatModel","SerializedLLM","BaseChatModelParams","BaseChatModelCallOptions","LangSmithParams","Array","BindToolsInput","BaseChatModel","OutputMessageType","CallOptions","Exclude","Omit","Partial","Promise","AsyncGenerator","messages","cache","llmStringKey","parsedOptions","handledOptions","RunOutput","SimpleChatModel"],"sources":["../../../../../../langchain-core/dist/language_models/chat_models.d.ts"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, BaseMessageLike } from \"../messages/base.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { MessageOutputVersion } from \"../messages/message.js\";\nimport { ChatGenerationChunk, ChatResult, Generation, LLMResult } from \"../outputs.js\";\nimport { BaseCache } from \"../caches/base.js\";\nimport { CallbackManagerForLLMRun, Callbacks } from \"../callbacks/manager.js\";\nimport { RunnableConfig } from \"../runnables/types.js\";\nimport { Runnable, RunnableToolLike } from \"../runnables/base.js\";\nimport { BasePromptValueInterface } from \"../prompt_values.js\";\nimport { BaseLanguageModel, BaseLanguageModelCallOptions, BaseLanguageModelInput, BaseLanguageModelParams, StructuredOutputMethodOptions, ToolDefinition } from \"./base.js\";\nimport { StructuredToolInterface, StructuredToolParams } from \"../tools/types.js\";\nimport { ZodType } from \"zod/v3\";\nimport { $ZodType } from \"zod/v4/core\";\n\n//#region src/language_models/chat_models.d.ts\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ToolChoice = string | Record<string, any> | \"auto\" | \"any\";\n/**\n * Represents a serialized chat model.\n */\ntype SerializedChatModel = {\n _model: string;\n _type: string;\n} & Record<string, any>;\n// todo?\n/**\n * Represents a serialized large language model.\n */\ntype SerializedLLM = {\n _model: string;\n _type: string;\n} & Record<string, any>;\n/**\n * Represents the parameters for a base chat model.\n */\ntype BaseChatModelParams = BaseLanguageModelParams & {\n /**\n * Whether to disable streaming.\n *\n * If streaming is bypassed, then `stream()` will defer to\n * `invoke()`.\n *\n * - If true, will always bypass streaming case.\n * - If false (default), will always use streaming case if available.\n */\n disableStreaming?: boolean;\n /**\n * Version of `AIMessage` output format to store in message content.\n *\n * `AIMessage.contentBlocks` will lazily parse the contents of `content` into a\n * standard format. This flag can be used to additionally store the standard format\n * as the message content, e.g., for serialization purposes.\n *\n * - \"v0\": provider-specific format in content (can lazily parse with `.contentBlocks`)\n * - \"v1\": standardized format in content (consistent with `.contentBlocks`)\n *\n * You can also set `LC_OUTPUT_VERSION` as an environment variable to \"v1\" to\n * enable this by default.\n *\n * @default \"v0\"\n */\n outputVersion?: MessageOutputVersion;\n};\n/**\n * Represents the call options for a base chat model.\n */\ntype BaseChatModelCallOptions = BaseLanguageModelCallOptions & {\n /**\n * Specifies how the chat model should use tools.\n * @default undefined\n *\n * Possible values:\n * - \"auto\": The model may choose to use any of the provided tools, or none.\n * - \"any\": The model must use one of the provided tools.\n * - \"none\": The model must not use any tools.\n * - A string (not \"auto\", \"any\", or \"none\"): The name of a specific tool the model must use.\n * - An object: A custom schema specifying tool choice parameters. Specific to the provider.\n *\n * Note: Not all providers support tool_choice. An error will be thrown\n * if used with an unsupported model.\n */\n tool_choice?: ToolChoice;\n /**\n * Version of `AIMessage` output format to store in message content.\n *\n * `AIMessage.contentBlocks` will lazily parse the contents of `content` into a\n * standard format. This flag can be used to additionally store the standard format\n * as the message content, e.g., for serialization purposes.\n *\n * - \"v0\": provider-specific format in content (can lazily parse with `.contentBlocks`)\n * - \"v1\": standardized format in content (consistent with `.contentBlocks`)\n *\n * You can also set `LC_OUTPUT_VERSION` as an environment variable to \"v1\" to\n * enable this by default.\n *\n * @default \"v0\"\n */\n outputVersion?: MessageOutputVersion;\n};\ntype LangSmithParams = {\n ls_provider?: string;\n ls_model_name?: string;\n ls_model_type: \"chat\";\n ls_temperature?: number;\n ls_max_tokens?: number;\n ls_stop?: Array<string>;\n};\ntype BindToolsInput = StructuredToolInterface\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n| Record<string, any> | ToolDefinition | RunnableToolLike | StructuredToolParams;\n/**\n * Base class for chat models. It extends the BaseLanguageModel class and\n * provides methods for generating chat based on input messages.\n */\ndeclare abstract class BaseChatModel<CallOptions extends BaseChatModelCallOptions = BaseChatModelCallOptions,\n// TODO: Fix the parameter order on the next minor version.\nOutputMessageType extends BaseMessageChunk = AIMessageChunk> extends BaseLanguageModel<OutputMessageType, CallOptions> {\n // Backwards compatibility since fields have been moved to RunnableConfig\n ParsedCallOptions: Omit<CallOptions, Exclude<keyof RunnableConfig, \"signal\" | \"timeout\" | \"maxConcurrency\">>;\n // Only ever instantiated in main LangChain\n lc_namespace: string[];\n disableStreaming: boolean;\n outputVersion?: MessageOutputVersion;\n get callKeys(): string[];\n constructor(fields: BaseChatModelParams);\n _combineLLMOutput?(...llmOutputs: LLMResult[\"llmOutput\"][]): LLMResult[\"llmOutput\"];\n protected _separateRunnableConfigFromCallOptionsCompat(options?: Partial<CallOptions>): [RunnableConfig, this[\"ParsedCallOptions\"]];\n /**\n * Bind tool-like objects to this chat model.\n *\n * @param tools A list of tool definitions to bind to this chat model.\n * Can be a structured tool, an OpenAI formatted tool, or an object\n * matching the provider's specific tool schema.\n * @param kwargs Any additional parameters to bind.\n */\n bindTools?(tools: BindToolsInput[], kwargs?: Partial<CallOptions>): Runnable<BaseLanguageModelInput, OutputMessageType, CallOptions>;\n /**\n * Invokes the chat model with a single input.\n * @param input The input for the language model.\n * @param options The call options.\n * @returns A Promise that resolves to a BaseMessageChunk.\n */\n invoke(input: BaseLanguageModelInput, options?: CallOptions): Promise<OutputMessageType>;\n // eslint-disable-next-line require-yield\n _streamResponseChunks(_messages: BaseMessage[], _options: this[\"ParsedCallOptions\"], _runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n _streamIterator(input: BaseLanguageModelInput, options?: CallOptions): AsyncGenerator<OutputMessageType>;\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams;\n /** @ignore */\n _generateUncached(messages: BaseMessageLike[][], parsedOptions: this[\"ParsedCallOptions\"], handledOptions: RunnableConfig, startedRunManagers?: CallbackManagerForLLMRun[]): Promise<LLMResult>;\n _generateCached({\n messages,\n cache,\n llmStringKey,\n parsedOptions,\n handledOptions\n }: {\n messages: BaseMessageLike[][];\n cache: BaseCache<Generation[]>;\n llmStringKey: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parsedOptions: any;\n handledOptions: RunnableConfig;\n }): Promise<LLMResult & {\n missingPromptIndices: number[];\n startedRunManagers?: CallbackManagerForLLMRun[];\n }>;\n /**\n * Generates chat based on the input messages.\n * @param messages An array of arrays of BaseMessage instances.\n * @param options The call options or an array of stop sequences.\n * @param callbacks The callbacks for the language model.\n * @returns A Promise that resolves to an LLMResult.\n */\n generate(messages: BaseMessageLike[][], options?: string[] | CallOptions, callbacks?: Callbacks): Promise<LLMResult>;\n /**\n * Get the parameters used to invoke the model\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n invocationParams(_options?: this[\"ParsedCallOptions\"]): any;\n _modelType(): string;\n abstract _llmType(): string;\n /**\n * Generates a prompt based on the input prompt values.\n * @param promptValues An array of BasePromptValue instances.\n * @param options The call options or an array of stop sequences.\n * @param callbacks The callbacks for the language model.\n * @returns A Promise that resolves to an LLMResult.\n */\n generatePrompt(promptValues: BasePromptValueInterface[], options?: string[] | CallOptions, callbacks?: Callbacks): Promise<LLMResult>;\n abstract _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: $ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<false>): Runnable<BaseLanguageModelInput, RunOutput>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: $ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<true>): Runnable<BaseLanguageModelInput, {\n raw: BaseMessage;\n parsed: RunOutput;\n }>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<false>): Runnable<BaseLanguageModelInput, RunOutput>;\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: ZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>, config?: StructuredOutputMethodOptions<true>): Runnable<BaseLanguageModelInput, {\n raw: BaseMessage;\n parsed: RunOutput;\n }>;\n}\n/**\n * An abstract class that extends BaseChatModel and provides a simple\n * implementation of _generate.\n */\ndeclare abstract class SimpleChatModel<CallOptions extends BaseChatModelCallOptions = BaseChatModelCallOptions> extends BaseChatModel<CallOptions> {\n abstract _call(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<string>;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n}\n//#endregion\nexport { BaseChatModel, BaseChatModelCallOptions, BaseChatModelParams, BindToolsInput, LangSmithParams, SerializedChatModel, SerializedLLM, SimpleChatModel, ToolChoice };\n//# sourceMappingURL=chat_models.d.ts.map"],"mappings":";;;;;;;;;KAmGKgC,eAAAA;;;;;;YAMOC"}
@@ -0,0 +1,7 @@
1
+ import "../utils/types/zod.js";
2
+ import "../callbacks/manager.js";
3
+ import "./types.js";
4
+ import "../tracers/base.js";
5
+ import "../tracers/event_stream.js";
6
+ import "../tracers/log_stream.js";
7
+ import "./graph.js";
@@ -0,0 +1 @@
1
+ import "./types.js";
@@ -0,0 +1,2 @@
1
+ import "../utils/types/zod.js";
2
+ import "../callbacks/manager.js";
@@ -0,0 +1,5 @@
1
+ import "../utils/types/zod.js";
2
+ import "../callbacks/manager.js";
3
+ import "../runnables/types.js";
4
+ import "../runnables/base.js";
5
+ import "../language_models/base.js";
@@ -0,0 +1,2 @@
1
+ import "../utils/types/index.js";
2
+ import "../callbacks/base.js";
@@ -0,0 +1 @@
1
+ import "../callbacks/base.js";
@@ -0,0 +1,3 @@
1
+ import "../callbacks/base.js";
2
+ import "./base.js";
3
+ import "./event_stream.js";
@@ -0,0 +1 @@
1
+ import "./zod.js";
@@ -0,0 +1 @@
1
+ import "zod/v4/core";
package/dist/llms.cjs CHANGED
@@ -2,9 +2,9 @@ const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
2
  const require_azure = require('./utils/azure.cjs');
3
3
  const require_client = require('./utils/client.cjs');
4
4
  const openai = require_rolldown_runtime.__toESM(require("openai"));
5
- const __langchain_core_outputs = require_rolldown_runtime.__toESM(require("@langchain/core/outputs"));
6
5
  const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
7
6
  const __langchain_core_language_models_base = require_rolldown_runtime.__toESM(require("@langchain/core/language_models/base"));
7
+ const __langchain_core_outputs = require_rolldown_runtime.__toESM(require("@langchain/core/outputs"));
8
8
  const __langchain_core_language_models_llms = require_rolldown_runtime.__toESM(require("@langchain/core/language_models/llms"));
9
9
  const __langchain_core_utils_chunk_array = require_rolldown_runtime.__toESM(require("@langchain/core/utils/chunk_array"));
10
10
 
package/dist/llms.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { OpenAICallOptions, OpenAICoreRequestOptions, OpenAIInput } from "./types.cjs";
2
2
  import { ClientOptions, OpenAI as OpenAI$1 } from "openai";
3
- import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
4
3
  import { GenerationChunk, LLMResult } from "@langchain/core/outputs";
4
+ import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
5
5
  import { BaseLLM, BaseLLMParams } from "@langchain/core/language_models/llms";
6
6
 
7
7
  //#region src/llms.d.ts
package/dist/llms.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { getEndpoint } from "./utils/azure.js";
2
2
  import { wrapOpenAIClientError } from "./utils/client.js";
3
3
  import { OpenAI as OpenAI$1 } from "openai";
4
- import { GenerationChunk } from "@langchain/core/outputs";
5
4
  import { getEnvironmentVariable } from "@langchain/core/utils/env";
6
5
  import { calculateMaxTokens } from "@langchain/core/language_models/base";
6
+ import { GenerationChunk } from "@langchain/core/outputs";
7
7
  import { BaseLLM } from "@langchain/core/language_models/llms";
8
8
  import { chunkArray } from "@langchain/core/utils/chunk_array";
9
9
 
@@ -1,8 +1,8 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_misc = require('./misc.cjs');
3
3
  const require_standard = require('./standard.cjs');
4
- const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
5
4
  const __langchain_core_output_parsers_openai_tools = require_rolldown_runtime.__toESM(require("@langchain/core/output_parsers/openai_tools"));
5
+ const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
6
6
 
7
7
  //#region src/utils/message_inputs.ts
8
8
  const completionsApiContentBlockConverter = {
@@ -1,7 +1,7 @@
1
1
  import { isReasoningModel, messageToOpenAIRole } from "./misc.js";
2
2
  import { _convertToCompletionsMessageFromV1 } from "./standard.js";
3
- import { convertToProviderContentBlock, isAIMessage, isDataContentBlock, parseBase64DataUrl, parseMimeType } from "@langchain/core/messages";
4
3
  import { convertLangChainToolCallToOpenAI } from "@langchain/core/output_parsers/openai_tools";
4
+ import { convertToProviderContentBlock, isAIMessage, isDataContentBlock, parseBase64DataUrl, parseMimeType } from "@langchain/core/messages";
5
5
 
6
6
  //#region src/utils/message_inputs.ts
7
7
  const completionsApiContentBlockConverter = {
@@ -4,7 +4,10 @@ const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@lan
4
4
  //#region src/utils/misc.ts
5
5
  const iife = (fn) => fn();
6
6
  function isReasoningModel(model) {
7
- return model && /^o\d/.test(model);
7
+ if (!model) return false;
8
+ if (/^o\d/.test(model ?? "")) return true;
9
+ if (model.startsWith("gpt-5") && !model.startsWith("gpt-5-chat")) return true;
10
+ return false;
8
11
  }
9
12
  function extractGenericMessageCustomRole(message) {
10
13
  if (message.role !== "system" && message.role !== "developer" && message.role !== "assistant" && message.role !== "user" && message.role !== "function" && message.role !== "tool") console.warn(`Unknown message role: ${message.role}`);
@@ -1 +1 @@
1
- {"version":3,"file":"misc.cjs","names":["fn: () => T","model?: string","message: ChatMessage","message: BaseMessage","ChatMessage"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n return model && /^o\\d/.test(model);\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n"],"mappings":";;;;AAGA,MAAa,OAAO,CAAIA,OAAgB,IAAI;AAE5C,SAAgB,iBAAiBC,OAAgB;AAC/C,QAAO,SAAS,OAAO,KAAK,MAAM;AACnC;AAED,SAAgB,gCAAgCC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,QAEjB,QAAQ,KAAK,CAAC,sBAAsB,EAAE,QAAQ,MAAM,CAAC;AAGvD,QAAO,QAAQ;AAChB;AAED,SAAgB,oBACdC,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAACC,sCAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM;AAClB,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,MAAM;CAClD;AACF"}
1
+ {"version":3,"file":"misc.cjs","names":["fn: () => T","model?: string","message: ChatMessage","message: BaseMessage","ChatMessage"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n if (!model) return false;\n if (/^o\\d/.test(model ?? \"\")) return true;\n if (model.startsWith(\"gpt-5\") && !model.startsWith(\"gpt-5-chat\")) return true;\n return false;\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n"],"mappings":";;;;AAGA,MAAa,OAAO,CAAIA,OAAgB,IAAI;AAE5C,SAAgB,iBAAiBC,OAAgB;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,OAAO,KAAK,SAAS,GAAG,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,IAAI,CAAC,MAAM,WAAW,aAAa,CAAE,QAAO;AACzE,QAAO;AACR;AAED,SAAgB,gCAAgCC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,QAEjB,QAAQ,KAAK,CAAC,sBAAsB,EAAE,QAAQ,MAAM,CAAC;AAGvD,QAAO,QAAQ;AAChB;AAED,SAAgB,oBACdC,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAACC,sCAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM;AAClB,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,MAAM;CAClD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.cts","names":["OpenAI","OpenAIClient","BaseMessage","ChatMessage","iife","T","isReasoningModel","extractGenericMessageCustomRole","ChatCompletionRole","messageToOpenAIRole"],"sources":["../../src/utils/misc.d.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\nexport declare const iife: <T>(fn: () => T) => T;\nexport declare function isReasoningModel(model?: string): \"\" | boolean | undefined;\nexport declare function extractGenericMessageCustomRole(message: ChatMessage): OpenAIClient.ChatCompletionRole;\nexport declare function messageToOpenAIRole(message: BaseMessage): OpenAIClient.ChatCompletionRole;\n"],"mappings":";;;;;AAK2C,iBAAnBS,mBAAAA,CAAmB,OAAA,EAAUP,WAAV,CAAA,EAAwBD,QAAAA,CAAaO,kBAArC"}
1
+ {"version":3,"file":"misc.d.cts","names":["OpenAI","OpenAIClient","BaseMessage","ChatMessage","iife","T","isReasoningModel","extractGenericMessageCustomRole","ChatCompletionRole","messageToOpenAIRole"],"sources":["../../src/utils/misc.d.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\nexport declare const iife: <T>(fn: () => T) => T;\nexport declare function isReasoningModel(model?: string): boolean;\nexport declare function extractGenericMessageCustomRole(message: ChatMessage): OpenAIClient.ChatCompletionRole;\nexport declare function messageToOpenAIRole(message: BaseMessage): OpenAIClient.ChatCompletionRole;\n"],"mappings":";;;;;AAK2C,iBAAnBS,mBAAAA,CAAmB,OAAA,EAAUP,WAAV,CAAA,EAAwBD,QAAAA,CAAaO,kBAArC"}
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","names":["OpenAI","OpenAIClient","BaseMessage","ChatMessage","iife","T","isReasoningModel","extractGenericMessageCustomRole","ChatCompletionRole","messageToOpenAIRole"],"sources":["../../src/utils/misc.d.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\nexport declare const iife: <T>(fn: () => T) => T;\nexport declare function isReasoningModel(model?: string): \"\" | boolean | undefined;\nexport declare function extractGenericMessageCustomRole(message: ChatMessage): OpenAIClient.ChatCompletionRole;\nexport declare function messageToOpenAIRole(message: BaseMessage): OpenAIClient.ChatCompletionRole;\n"],"mappings":";;;;;AAK2C,iBAAnBS,mBAAAA,CAAmB,OAAA,EAAUP,WAAV,CAAA,EAAwBD,QAAAA,CAAaO,kBAArC"}
1
+ {"version":3,"file":"misc.d.ts","names":["OpenAI","OpenAIClient","BaseMessage","ChatMessage","iife","T","isReasoningModel","extractGenericMessageCustomRole","ChatCompletionRole","messageToOpenAIRole"],"sources":["../../src/utils/misc.d.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\nexport declare const iife: <T>(fn: () => T) => T;\nexport declare function isReasoningModel(model?: string): boolean;\nexport declare function extractGenericMessageCustomRole(message: ChatMessage): OpenAIClient.ChatCompletionRole;\nexport declare function messageToOpenAIRole(message: BaseMessage): OpenAIClient.ChatCompletionRole;\n"],"mappings":";;;;;AAK2C,iBAAnBS,mBAAAA,CAAmB,OAAA,EAAUP,WAAV,CAAA,EAAwBD,QAAAA,CAAaO,kBAArC"}
@@ -3,7 +3,10 @@ import { ChatMessage } from "@langchain/core/messages";
3
3
  //#region src/utils/misc.ts
4
4
  const iife = (fn) => fn();
5
5
  function isReasoningModel(model) {
6
- return model && /^o\d/.test(model);
6
+ if (!model) return false;
7
+ if (/^o\d/.test(model ?? "")) return true;
8
+ if (model.startsWith("gpt-5") && !model.startsWith("gpt-5-chat")) return true;
9
+ return false;
7
10
  }
8
11
  function extractGenericMessageCustomRole(message) {
9
12
  if (message.role !== "system" && message.role !== "developer" && message.role !== "assistant" && message.role !== "user" && message.role !== "function" && message.role !== "tool") console.warn(`Unknown message role: ${message.role}`);
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","names":["fn: () => T","model?: string","message: ChatMessage","message: BaseMessage"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n return model && /^o\\d/.test(model);\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n"],"mappings":";;;AAGA,MAAa,OAAO,CAAIA,OAAgB,IAAI;AAE5C,SAAgB,iBAAiBC,OAAgB;AAC/C,QAAO,SAAS,OAAO,KAAK,MAAM;AACnC;AAED,SAAgB,gCAAgCC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,QAEjB,QAAQ,KAAK,CAAC,sBAAsB,EAAE,QAAQ,MAAM,CAAC;AAGvD,QAAO,QAAQ;AAChB;AAED,SAAgB,oBACdC,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAAC,YAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM;AAClB,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,MAAM;CAClD;AACF"}
1
+ {"version":3,"file":"misc.js","names":["fn: () => T","model?: string","message: ChatMessage","message: BaseMessage"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport { BaseMessage, ChatMessage } from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n if (!model) return false;\n if (/^o\\d/.test(model ?? \"\")) return true;\n if (model.startsWith(\"gpt-5\") && !model.startsWith(\"gpt-5-chat\")) return true;\n return false;\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n"],"mappings":";;;AAGA,MAAa,OAAO,CAAIA,OAAgB,IAAI;AAE5C,SAAgB,iBAAiBC,OAAgB;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,OAAO,KAAK,SAAS,GAAG,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,IAAI,CAAC,MAAM,WAAW,aAAa,CAAE,QAAO;AACzE,QAAO;AACR;AAED,SAAgB,gCAAgCC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,QAEjB,QAAQ,KAAK,CAAC,sBAAsB,EAAE,QAAQ,MAAM,CAAC;AAGvD,QAAO,QAAQ;AAChB;AAED,SAAgB,oBACdC,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAAC,YAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM;AAClB,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,MAAM;CAClD;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/openai",
3
- "version": "1.0.0-alpha.2",
3
+ "version": "1.0.0",
4
4
  "description": "OpenAI integrations for LangChain.js",
5
5
  "author": "LangChain",
6
6
  "license": "MIT",
@@ -15,11 +15,11 @@
15
15
  "homepage": "https://github.com/langchain-ai/langchainjs/tree/main/libs/providers/langchain-openai/",
16
16
  "dependencies": {
17
17
  "js-tiktoken": "^1.0.12",
18
- "openai": "^5.3.0",
18
+ "openai": "^6.3.0",
19
19
  "zod": "^3.25.76 || ^4"
20
20
  },
21
21
  "peerDependencies": {
22
- "@langchain/core": "^1.0.0-alpha.6"
22
+ "@langchain/core": "^1.0.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@azure/identity": "^4.2.1",
@@ -30,16 +30,14 @@
30
30
  "dpdm": "^3.14.0",
31
31
  "eslint": "^9.34.0",
32
32
  "prettier": "^2.8.3",
33
- "release-it": "^19.0.4",
34
- "release-it-pnpm": "^4.6.6",
35
33
  "rimraf": "^5.0.1",
36
34
  "typescript": "~5.8.3",
37
35
  "uuid": "^11.1.0",
38
36
  "vitest": "^3.2.4",
39
37
  "zod-to-json-schema": "^3.24.6",
40
- "@langchain/standard-tests": "0.0.0",
41
38
  "@langchain/eslint": "0.1.0",
42
- "@langchain/core": "1.0.0-alpha.6"
39
+ "@langchain/standard-tests": "0.0.0",
40
+ "@langchain/core": "1.0.0"
43
41
  },
44
42
  "publishConfig": {
45
43
  "access": "public"
@@ -62,6 +60,7 @@
62
60
  "types": "./dist/index.d.ts",
63
61
  "exports": {
64
62
  ".": {
63
+ "input": "./src/index.ts",
65
64
  "import": {
66
65
  "types": "./dist/index.d.ts",
67
66
  "default": "./dist/index.js"
@@ -69,13 +68,15 @@
69
68
  "require": {
70
69
  "types": "./dist/index.d.cts",
71
70
  "default": "./dist/index.cjs"
72
- },
73
- "input": "./src/index.ts"
71
+ }
74
72
  },
75
73
  "./package.json": "./package.json"
76
74
  },
77
75
  "files": [
78
- "dist/"
76
+ "dist/",
77
+ "CHANGELOG.md",
78
+ "README.md",
79
+ "LICENSE"
79
80
  ],
80
81
  "scripts": {
81
82
  "build": "pnpm --filter @langchain/build compile @langchain/openai",
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat_models.cjs","names":["fields?: AzureChatOpenAIFields","options: OpenAICoreRequestOptions | undefined","openAIEndpointConfig: OpenAIEndpointConfig","getEndpoint","normalizeHeaders","AzureOpenAIClient","input: Serialized","obj: unknown","ChatOpenAIResponses","options: this[\"ParsedCallOptions\"]","ChatOpenAICompletions","ChatOpenAI","config: StructuredOutputMethodOptions<boolean>"],"sources":["../../src/azure/chat_models.ts"],"sourcesContent":["import { AzureOpenAI as AzureOpenAIClient } from \"openai\";\nimport { getEnv, getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { LangSmithParams } from \"@langchain/core/language_models/chat_models\";\nimport { StructuredOutputMethodOptions } from \"@langchain/core/language_models/base\";\nimport {\n BaseChatOpenAI,\n BaseChatOpenAIFields,\n ChatOpenAI,\n ChatOpenAICallOptions,\n ChatOpenAICompletions,\n ChatOpenAICompletionsCallOptions,\n ChatOpenAIResponses,\n ChatOpenAIResponsesCallOptions,\n} from \"../chat_models.js\";\nimport {\n OpenAIEndpointConfig,\n getEndpoint,\n normalizeHeaders,\n} from \"../utils/azure.js\";\nimport {\n AzureOpenAIChatInput,\n AzureOpenAIInput,\n OpenAICoreRequestOptions,\n} from \"../types.js\";\n\nexport type { AzureOpenAIInput };\n\nconst AZURE_ALIASES = {\n openAIApiKey: \"openai_api_key\",\n openAIApiVersion: \"openai_api_version\",\n openAIBasePath: \"openai_api_base\",\n deploymentName: \"deployment_name\",\n azureOpenAIEndpoint: \"azure_endpoint\",\n azureOpenAIApiVersion: \"openai_api_version\",\n azureOpenAIBasePath: \"openai_api_base\",\n azureOpenAIApiDeploymentName: \"deployment_name\",\n};\n\nconst AZURE_SECRETS = {\n azureOpenAIApiKey: \"AZURE_OPENAI_API_KEY\",\n};\n\nconst AZURE_SERIALIZABLE_KEYS = [\n \"azureOpenAIApiKey\",\n \"azureOpenAIApiVersion\",\n \"azureOpenAIBasePath\",\n \"azureOpenAIEndpoint\",\n \"azureOpenAIApiInstanceName\",\n \"azureOpenAIApiDeploymentName\",\n \"deploymentName\",\n \"openAIApiKey\",\n \"openAIApiVersion\",\n];\n\nfunction _constructAzureFields(\n this: Partial<AzureOpenAIChatInput>,\n fields?: AzureChatOpenAIFields\n) {\n this.azureOpenAIApiKey =\n fields?.azureOpenAIApiKey ??\n fields?.openAIApiKey ??\n fields?.apiKey ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_KEY\");\n\n this.azureOpenAIApiInstanceName =\n fields?.azureOpenAIApiInstanceName ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_INSTANCE_NAME\");\n\n this.azureOpenAIApiDeploymentName =\n fields?.azureOpenAIApiDeploymentName ??\n fields?.deploymentName ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_DEPLOYMENT_NAME\");\n\n this.azureOpenAIApiVersion =\n fields?.azureOpenAIApiVersion ??\n fields?.openAIApiVersion ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_VERSION\");\n\n this.azureOpenAIBasePath =\n fields?.azureOpenAIBasePath ??\n getEnvironmentVariable(\"AZURE_OPENAI_BASE_PATH\");\n\n this.azureOpenAIEndpoint =\n fields?.azureOpenAIEndpoint ??\n getEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\");\n\n this.azureADTokenProvider = fields?.azureADTokenProvider;\n\n if (!this.azureOpenAIApiKey && !this.apiKey && !this.azureADTokenProvider) {\n throw new Error(\"Azure OpenAI API key or Token Provider not found\");\n }\n}\n\nfunction _getAzureClientOptions(\n this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>,\n options: OpenAICoreRequestOptions | undefined\n) {\n if (!this.client) {\n const openAIEndpointConfig: OpenAIEndpointConfig = {\n azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,\n azureOpenAIApiKey: this.azureOpenAIApiKey,\n azureOpenAIBasePath: this.azureOpenAIBasePath,\n azureADTokenProvider: this.azureADTokenProvider,\n baseURL: this.clientConfig.baseURL,\n azureOpenAIEndpoint: this.azureOpenAIEndpoint,\n };\n\n const endpoint = getEndpoint(openAIEndpointConfig);\n\n const params = {\n ...this.clientConfig,\n baseURL: endpoint,\n timeout: this.timeout,\n maxRetries: 0,\n };\n\n if (!this.azureADTokenProvider) {\n params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;\n }\n\n if (!params.baseURL) {\n delete params.baseURL;\n }\n\n let env = getEnv();\n if (env === \"node\" || env === \"deno\") {\n env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;\n }\n\n const defaultHeaders = normalizeHeaders(params.defaultHeaders);\n params.defaultHeaders = {\n ...params.defaultHeaders,\n \"User-Agent\": defaultHeaders[\"User-Agent\"]\n ? `langchainjs-azure-openai/2.0.0 (${env})${defaultHeaders[\"User-Agent\"]}`\n : `langchainjs-azure-openai/2.0.0 (${env})`,\n };\n\n this.client = new AzureOpenAIClient({\n apiVersion: this.azureOpenAIApiVersion,\n azureADTokenProvider: this.azureADTokenProvider,\n deployment: this.azureOpenAIApiDeploymentName,\n ...params,\n });\n }\n const requestOptions = {\n ...this.clientConfig,\n ...options,\n } as OpenAICoreRequestOptions;\n if (this.azureOpenAIApiKey) {\n requestOptions.headers = {\n \"api-key\": this.azureOpenAIApiKey,\n ...requestOptions.headers,\n };\n requestOptions.query = {\n \"api-version\": this.azureOpenAIApiVersion,\n ...requestOptions.query,\n };\n }\n return requestOptions;\n}\n\nfunction _serializeAzureChat(\n this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>,\n input: Serialized\n) {\n const json = input;\n\n function isRecord(obj: unknown): obj is Record<string, unknown> {\n return typeof obj === \"object\" && obj != null;\n }\n\n if (isRecord(json) && isRecord(json.kwargs)) {\n delete json.kwargs.azure_openai_base_path;\n delete json.kwargs.azure_openai_api_deployment_name;\n delete json.kwargs.azure_openai_api_key;\n delete json.kwargs.azure_openai_api_version;\n delete json.kwargs.azure_open_ai_base_path;\n\n if (!json.kwargs.azure_endpoint && this.azureOpenAIEndpoint) {\n json.kwargs.azure_endpoint = this.azureOpenAIEndpoint;\n }\n if (!json.kwargs.azure_endpoint && this.azureOpenAIBasePath) {\n const parts = this.azureOpenAIBasePath.split(\"/openai/deployments/\");\n if (parts.length === 2 && parts[0].startsWith(\"http\")) {\n const [endpoint] = parts;\n json.kwargs.azure_endpoint = endpoint;\n }\n }\n if (!json.kwargs.azure_endpoint && this.azureOpenAIApiInstanceName) {\n json.kwargs.azure_endpoint = `https://${this.azureOpenAIApiInstanceName}.openai.azure.com/`;\n }\n if (!json.kwargs.deployment_name && this.azureOpenAIApiDeploymentName) {\n json.kwargs.deployment_name = this.azureOpenAIApiDeploymentName;\n }\n if (!json.kwargs.deployment_name && this.azureOpenAIBasePath) {\n const parts = this.azureOpenAIBasePath.split(\"/openai/deployments/\");\n if (parts.length === 2) {\n const [, deployment] = parts;\n json.kwargs.deployment_name = deployment;\n }\n }\n\n if (\n json.kwargs.azure_endpoint &&\n json.kwargs.deployment_name &&\n json.kwargs.openai_api_base\n ) {\n delete json.kwargs.openai_api_base;\n }\n if (\n json.kwargs.azure_openai_api_instance_name &&\n json.kwargs.azure_endpoint\n ) {\n delete json.kwargs.azure_openai_api_instance_name;\n }\n }\n\n return json;\n}\n\ninterface AzureChatOpenAIFields\n extends BaseChatOpenAIFields,\n Partial<AzureOpenAIChatInput> {\n /**\n * Whether to use the responses API for all requests. If `false` the responses API will be used\n * only when required in order to fulfill the request.\n */\n useResponsesApi?: boolean;\n}\n\nclass AzureChatOpenAIResponses<\n CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions\n >\n extends ChatOpenAIResponses<CallOptions>\n implements Partial<AzureOpenAIChatInput>\n{\n azureOpenAIApiVersion?: string;\n\n azureOpenAIApiKey?: string;\n\n azureADTokenProvider?: () => Promise<string>;\n\n azureOpenAIApiInstanceName?: string;\n\n azureOpenAIApiDeploymentName?: string;\n\n azureOpenAIBasePath?: string;\n\n azureOpenAIEndpoint?: string;\n\n _llmType(): string {\n return \"azure_openai\";\n }\n\n get lc_aliases(): Record<string, string> {\n return {\n ...super.lc_aliases,\n ...AZURE_ALIASES,\n };\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n ...super.lc_secrets,\n ...AZURE_SECRETS,\n };\n }\n\n get lc_serializable_keys(): string[] {\n return [...super.lc_serializable_keys, ...AZURE_SERIALIZABLE_KEYS];\n }\n\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n const params = super.getLsParams(options);\n params.ls_provider = \"azure\";\n return params;\n }\n\n constructor(fields?: AzureChatOpenAIFields) {\n super(fields);\n _constructAzureFields.call(this, fields);\n }\n\n override _getClientOptions(\n options: OpenAICoreRequestOptions | undefined\n ): OpenAICoreRequestOptions {\n return _getAzureClientOptions.call(this, options);\n }\n\n override toJSON(): Serialized {\n return _serializeAzureChat.call(this, super.toJSON());\n }\n}\n\nclass AzureChatOpenAICompletions<\n CallOptions extends ChatOpenAICompletionsCallOptions = ChatOpenAICompletionsCallOptions\n >\n extends ChatOpenAICompletions<CallOptions>\n implements Partial<AzureOpenAIChatInput>\n{\n azureOpenAIApiVersion?: string;\n\n azureOpenAIApiKey?: string;\n\n azureADTokenProvider?: () => Promise<string>;\n\n azureOpenAIApiInstanceName?: string;\n\n azureOpenAIApiDeploymentName?: string;\n\n azureOpenAIBasePath?: string;\n\n azureOpenAIEndpoint?: string;\n\n _llmType(): string {\n return \"azure_openai\";\n }\n\n get lc_aliases(): Record<string, string> {\n return {\n ...super.lc_aliases,\n ...AZURE_ALIASES,\n };\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n ...super.lc_secrets,\n ...AZURE_SECRETS,\n };\n }\n\n get lc_serializable_keys(): string[] {\n return [...super.lc_serializable_keys, ...AZURE_SERIALIZABLE_KEYS];\n }\n\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n const params = super.getLsParams(options);\n params.ls_provider = \"azure\";\n return params;\n }\n\n constructor(fields?: AzureChatOpenAIFields) {\n super(fields);\n _constructAzureFields.call(this, fields);\n }\n\n override _getClientOptions(\n options: OpenAICoreRequestOptions | undefined\n ): OpenAICoreRequestOptions {\n return _getAzureClientOptions.call(this, options);\n }\n\n override toJSON(): Serialized {\n return _serializeAzureChat.call(this, super.toJSON());\n }\n}\n\n/**\n * Azure OpenAI chat model integration.\n *\n * Setup:\n * Install `@langchain/openai` and set the following environment variables:\n *\n * ```bash\n * npm install @langchain/openai\n * export AZURE_OPENAI_API_KEY=\"your-api-key\"\n * export AZURE_OPENAI_API_DEPLOYMENT_NAME=\"your-deployment-name\"\n * export AZURE_OPENAI_API_VERSION=\"your-version\"\n * export AZURE_OPENAI_BASE_PATH=\"your-base-path\"\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/langchain_openai.AzureChatOpenAI.html#constructor)\n *\n * ## [Runtime args](https://api.js.langchain.com/interfaces/langchain_openai.ChatOpenAICallOptions.html)\n *\n * Runtime args can be passed as the second argument to any of the base runnable methods `.invoke`. `.stream`, `.batch`, etc.\n * They can also be passed via `.withConfig`, or the second arg in `.bindTools`, like shown in the examples below:\n *\n * ```typescript\n * // When calling `.withConfig`, call options should be passed via the first argument\n * const llmWithArgsBound = llm.withConfig({\n * stop: [\"\\n\"],\n * tools: [...],\n * });\n *\n * // When calling `.bindTools`, call options should be passed via the second argument\n * const llmWithTools = llm.bindTools(\n * [...],\n * {\n * tool_choice: \"auto\",\n * }\n * );\n * ```\n *\n * ## Examples\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { AzureChatOpenAI } from '@langchain/openai';\n *\n * const llm = new AzureChatOpenAI({\n * azureOpenAIApiKey: process.env.AZURE_OPENAI_API_KEY, // In Node.js defaults to process.env.AZURE_OPENAI_API_KEY\n * azureOpenAIApiInstanceName: process.env.AZURE_OPENAI_API_INSTANCE_NAME, // In Node.js defaults to process.env.AZURE_OPENAI_API_INSTANCE_NAME\n * azureOpenAIApiDeploymentName: process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME, // In Node.js defaults to process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME\n * azureOpenAIApiVersion: process.env.AZURE_OPENAI_API_VERSION, // In Node.js defaults to process.env.AZURE_OPENAI_API_VERSION\n * temperature: 0,\n * maxTokens: undefined,\n * timeout: undefined,\n * maxRetries: 2,\n * // apiKey: \"...\",\n * // baseUrl: \"...\",\n * // other params...\n * });\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Invoking</strong></summary>\n *\n * ```typescript\n * const input = `Translate \"I love programming\" into French.`;\n *\n * // Models also accept a list of chat messages or a formatted prompt\n * const result = await llm.invoke(input);\n * console.log(result);\n * ```\n *\n * ```txt\n * AIMessage {\n * \"id\": \"chatcmpl-9u4Mpu44CbPjwYFkTbeoZgvzB00Tz\",\n * \"content\": \"J'adore la programmation.\",\n * \"response_metadata\": {\n * \"tokenUsage\": {\n * \"completionTokens\": 5,\n * \"promptTokens\": 28,\n * \"totalTokens\": 33\n * },\n * \"finish_reason\": \"stop\",\n * \"system_fingerprint\": \"fp_3aa7262c27\"\n * },\n * \"usage_metadata\": {\n * \"input_tokens\": 28,\n * \"output_tokens\": 5,\n * \"total_tokens\": 33\n * }\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Streaming Chunks</strong></summary>\n *\n * ```typescript\n * for await (const chunk of await llm.stream(input)) {\n * console.log(chunk);\n * }\n * ```\n *\n * ```txt\n * AIMessageChunk {\n * \"id\": \"chatcmpl-9u4NWB7yUeHCKdLr6jP3HpaOYHTqs\",\n * \"content\": \"\"\n * }\n * AIMessageChunk {\n * \"content\": \"J\"\n * }\n * AIMessageChunk {\n * \"content\": \"'adore\"\n * }\n * AIMessageChunk {\n * \"content\": \" la\"\n * }\n * AIMessageChunk {\n * \"content\": \" programmation\",,\n * }\n * AIMessageChunk {\n * \"content\": \".\",,\n * }\n * AIMessageChunk {\n * \"content\": \"\",\n * \"response_metadata\": {\n * \"finish_reason\": \"stop\",\n * \"system_fingerprint\": \"fp_c9aa9c0491\"\n * },\n * }\n * AIMessageChunk {\n * \"content\": \"\",\n * \"usage_metadata\": {\n * \"input_tokens\": 28,\n * \"output_tokens\": 5,\n * \"total_tokens\": 33\n * }\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Aggregate Streamed Chunks</strong></summary>\n *\n * ```typescript\n * import { AIMessageChunk } from '@langchain/core/messages';\n * import { concat } from '@langchain/core/utils/stream';\n *\n * const stream = await llm.stream(input);\n * let full: AIMessageChunk | undefined;\n * for await (const chunk of stream) {\n * full = !full ? chunk : concat(full, chunk);\n * }\n * console.log(full);\n * ```\n *\n * ```txt\n * AIMessageChunk {\n * \"id\": \"chatcmpl-9u4PnX6Fy7OmK46DASy0bH6cxn5Xu\",\n * \"content\": \"J'adore la programmation.\",\n * \"response_metadata\": {\n * \"prompt\": 0,\n * \"completion\": 0,\n * \"finish_reason\": \"stop\",\n * },\n * \"usage_metadata\": {\n * \"input_tokens\": 28,\n * \"output_tokens\": 5,\n * \"total_tokens\": 33\n * }\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Bind tools</strong></summary>\n *\n * ```typescript\n * import { z } from 'zod';\n *\n * const GetWeather = {\n * name: \"GetWeather\",\n * description: \"Get the current weather in a given location\",\n * schema: z.object({\n * location: z.string().describe(\"The city and state, e.g. San Francisco, CA\")\n * }),\n * }\n *\n * const GetPopulation = {\n * name: \"GetPopulation\",\n * description: \"Get the current population in a given location\",\n * schema: z.object({\n * location: z.string().describe(\"The city and state, e.g. San Francisco, CA\")\n * }),\n * }\n *\n * const llmWithTools = llm.bindTools([GetWeather, GetPopulation]);\n * const aiMsg = await llmWithTools.invoke(\n * \"Which city is hotter today and which is bigger: LA or NY?\"\n * );\n * console.log(aiMsg.tool_calls);\n * ```\n *\n * ```txt\n * [\n * {\n * name: 'GetWeather',\n * args: { location: 'Los Angeles, CA' },\n * type: 'tool_call',\n * id: 'call_uPU4FiFzoKAtMxfmPnfQL6UK'\n * },\n * {\n * name: 'GetWeather',\n * args: { location: 'New York, NY' },\n * type: 'tool_call',\n * id: 'call_UNkEwuQsHrGYqgDQuH9nPAtX'\n * },\n * {\n * name: 'GetPopulation',\n * args: { location: 'Los Angeles, CA' },\n * type: 'tool_call',\n * id: 'call_kL3OXxaq9OjIKqRTpvjaCH14'\n * },\n * {\n * name: 'GetPopulation',\n * args: { location: 'New York, NY' },\n * type: 'tool_call',\n * id: 'call_s9KQB1UWj45LLGaEnjz0179q'\n * }\n * ]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Structured Output</strong></summary>\n *\n * ```typescript\n * import { z } from 'zod';\n *\n * const Joke = z.object({\n * setup: z.string().describe(\"The setup of the joke\"),\n * punchline: z.string().describe(\"The punchline to the joke\"),\n * rating: z.number().nullable().describe(\"How funny the joke is, from 1 to 10\")\n * }).describe('Joke to tell user.');\n *\n * const structuredLlm = llm.withStructuredOutput(Joke, { name: \"Joke\" });\n * const jokeResult = await structuredLlm.invoke(\"Tell me a joke about cats\");\n * console.log(jokeResult);\n * ```\n *\n * ```txt\n * {\n * setup: 'Why was the cat sitting on the computer?',\n * punchline: 'Because it wanted to keep an eye on the mouse!',\n * rating: 7\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>JSON Object Response Format</strong></summary>\n *\n * ```typescript\n * const jsonLlm = llm.withConfig({ response_format: { type: \"json_object\" } });\n * const jsonLlmAiMsg = await jsonLlm.invoke(\n * \"Return a JSON object with key 'randomInts' and a value of 10 random ints in [0-99]\"\n * );\n * console.log(jsonLlmAiMsg.content);\n * ```\n *\n * ```txt\n * {\n * \"randomInts\": [23, 87, 45, 12, 78, 34, 56, 90, 11, 67]\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Multimodal</strong></summary>\n *\n * ```typescript\n * import { HumanMessage } from '@langchain/core/messages';\n *\n * const imageUrl = \"https://example.com/image.jpg\";\n * const imageData = await fetch(imageUrl).then(res => res.arrayBuffer());\n * const base64Image = Buffer.from(imageData).toString('base64');\n *\n * const message = new HumanMessage({\n * content: [\n * { type: \"text\", text: \"describe the weather in this image\" },\n * {\n * type: \"image_url\",\n * image_url: { url: `data:image/jpeg;base64,${base64Image}` },\n * },\n * ]\n * });\n *\n * const imageDescriptionAiMsg = await llm.invoke([message]);\n * console.log(imageDescriptionAiMsg.content);\n * ```\n *\n * ```txt\n * The weather in the image appears to be clear and sunny. The sky is mostly blue with a few scattered white clouds, indicating fair weather. The bright sunlight is casting shadows on the green, grassy hill, suggesting it is a pleasant day with good visibility. There are no signs of rain or stormy conditions.\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Usage Metadata</strong></summary>\n *\n * ```typescript\n * const aiMsgForMetadata = await llm.invoke(input);\n * console.log(aiMsgForMetadata.usage_metadata);\n * ```\n *\n * ```txt\n * { input_tokens: 28, output_tokens: 5, total_tokens: 33 }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Logprobs</strong></summary>\n *\n * ```typescript\n * const logprobsLlm = new ChatOpenAI({ model: \"gpt-4o-mini\", logprobs: true });\n * const aiMsgForLogprobs = await logprobsLlm.invoke(input);\n * console.log(aiMsgForLogprobs.response_metadata.logprobs);\n * ```\n *\n * ```txt\n * {\n * content: [\n * {\n * token: 'J',\n * logprob: -0.000050616763,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * {\n * token: \"'\",\n * logprob: -0.01868736,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * {\n * token: 'ad',\n * logprob: -0.0000030545007,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * { token: 'ore', logprob: 0, bytes: [Array], top_logprobs: [] },\n * {\n * token: ' la',\n * logprob: -0.515404,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * {\n * token: ' programm',\n * logprob: -0.0000118755715,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * { token: 'ation', logprob: 0, bytes: [Array], top_logprobs: [] },\n * {\n * token: '.',\n * logprob: -0.0000037697225,\n * bytes: [Array],\n * top_logprobs: []\n * }\n * ],\n * refusal: null\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Response Metadata</strong></summary>\n *\n * ```typescript\n * const aiMsgForResponseMetadata = await llm.invoke(input);\n * console.log(aiMsgForResponseMetadata.response_metadata);\n * ```\n *\n * ```txt\n * {\n * tokenUsage: { completionTokens: 5, promptTokens: 28, totalTokens: 33 },\n * finish_reason: 'stop',\n * system_fingerprint: 'fp_3aa7262c27'\n * }\n * ```\n * </details>\n */\nexport class AzureChatOpenAI<\n CallOptions extends ChatOpenAICallOptions = ChatOpenAICallOptions\n >\n extends ChatOpenAI<CallOptions>\n implements Partial<AzureOpenAIChatInput>\n{\n azureOpenAIApiVersion?: string;\n\n azureOpenAIApiKey?: string;\n\n azureADTokenProvider?: () => Promise<string>;\n\n azureOpenAIApiInstanceName?: string;\n\n azureOpenAIApiDeploymentName?: string;\n\n azureOpenAIBasePath?: string;\n\n azureOpenAIEndpoint?: string;\n\n _llmType(): string {\n return \"azure_openai\";\n }\n\n get lc_aliases(): Record<string, string> {\n return {\n ...super.lc_aliases,\n ...AZURE_ALIASES,\n };\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n ...super.lc_secrets,\n ...AZURE_SECRETS,\n };\n }\n\n get lc_serializable_keys(): string[] {\n return [...super.lc_serializable_keys, ...AZURE_SERIALIZABLE_KEYS];\n }\n\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n const params = super.getLsParams(options);\n params.ls_provider = \"azure\";\n return params;\n }\n\n constructor(fields?: AzureChatOpenAIFields) {\n super({\n ...fields,\n completions: new AzureChatOpenAICompletions(fields),\n responses: new AzureChatOpenAIResponses(fields),\n });\n _constructAzureFields.call(this, fields);\n }\n\n /** @internal */\n override _getStructuredOutputMethod(\n config: StructuredOutputMethodOptions<boolean>\n ) {\n const ensuredConfig = { ...config };\n // Not all Azure gpt-4o deployments models support jsonSchema yet\n if (this.model.startsWith(\"gpt-4o\")) {\n if (ensuredConfig?.method === undefined) {\n return \"functionCalling\";\n }\n }\n return super._getStructuredOutputMethod(ensuredConfig);\n }\n\n override toJSON(): Serialized {\n return _serializeAzureChat.call(this, super.toJSON());\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat_models.d.cts","names":["Serialized","LangSmithParams","StructuredOutputMethodOptions","BaseChatOpenAIFields","ChatOpenAI","ChatOpenAICallOptions","AzureOpenAIChatInput","AzureOpenAIInput","AzureChatOpenAIFields","Partial","AzureChatOpenAI","CallOptions","Promise","Record"],"sources":["../../src/azure/chat_models.d.ts"],"sourcesContent":["import type { Serialized } from \"@langchain/core/load/serializable\";\nimport { LangSmithParams } from \"@langchain/core/language_models/chat_models\";\nimport { StructuredOutputMethodOptions } from \"@langchain/core/language_models/base\";\nimport { BaseChatOpenAIFields, ChatOpenAI, ChatOpenAICallOptions } from \"../chat_models.js\";\nimport { AzureOpenAIChatInput, AzureOpenAIInput } from \"../types.js\";\nexport type { AzureOpenAIInput };\ninterface AzureChatOpenAIFields extends BaseChatOpenAIFields, Partial<AzureOpenAIChatInput> {\n /**\n * Whether to use the responses API for all requests. If `false` the responses API will be used\n * only when required in order to fulfill the request.\n */\n useResponsesApi?: boolean;\n}\n/**\n * Azure OpenAI chat model integration.\n *\n * Setup:\n * Install `@langchain/openai` and set the following environment variables:\n *\n * ```bash\n * npm install @langchain/openai\n * export AZURE_OPENAI_API_KEY=\"your-api-key\"\n * export AZURE_OPENAI_API_DEPLOYMENT_NAME=\"your-deployment-name\"\n * export AZURE_OPENAI_API_VERSION=\"your-version\"\n * export AZURE_OPENAI_BASE_PATH=\"your-base-path\"\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/langchain_openai.AzureChatOpenAI.html#constructor)\n *\n * ## [Runtime args](https://api.js.langchain.com/interfaces/langchain_openai.ChatOpenAICallOptions.html)\n *\n * Runtime args can be passed as the second argument to any of the base runnable methods `.invoke`. `.stream`, `.batch`, etc.\n * They can also be passed via `.withConfig`, or the second arg in `.bindTools`, like shown in the examples below:\n *\n * ```typescript\n * // When calling `.withConfig`, call options should be passed via the first argument\n * const llmWithArgsBound = llm.withConfig({\n * stop: [\"\\n\"],\n * tools: [...],\n * });\n *\n * // When calling `.bindTools`, call options should be passed via the second argument\n * const llmWithTools = llm.bindTools(\n * [...],\n * {\n * tool_choice: \"auto\",\n * }\n * );\n * ```\n *\n * ## Examples\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { AzureChatOpenAI } from '@langchain/openai';\n *\n * const llm = new AzureChatOpenAI({\n * azureOpenAIApiKey: process.env.AZURE_OPENAI_API_KEY, // In Node.js defaults to process.env.AZURE_OPENAI_API_KEY\n * azureOpenAIApiInstanceName: process.env.AZURE_OPENAI_API_INSTANCE_NAME, // In Node.js defaults to process.env.AZURE_OPENAI_API_INSTANCE_NAME\n * azureOpenAIApiDeploymentName: process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME, // In Node.js defaults to process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME\n * azureOpenAIApiVersion: process.env.AZURE_OPENAI_API_VERSION, // In Node.js defaults to process.env.AZURE_OPENAI_API_VERSION\n * temperature: 0,\n * maxTokens: undefined,\n * timeout: undefined,\n * maxRetries: 2,\n * // apiKey: \"...\",\n * // baseUrl: \"...\",\n * // other params...\n * });\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Invoking</strong></summary>\n *\n * ```typescript\n * const input = `Translate \"I love programming\" into French.`;\n *\n * // Models also accept a list of chat messages or a formatted prompt\n * const result = await llm.invoke(input);\n * console.log(result);\n * ```\n *\n * ```txt\n * AIMessage {\n * \"id\": \"chatcmpl-9u4Mpu44CbPjwYFkTbeoZgvzB00Tz\",\n * \"content\": \"J'adore la programmation.\",\n * \"response_metadata\": {\n * \"tokenUsage\": {\n * \"completionTokens\": 5,\n * \"promptTokens\": 28,\n * \"totalTokens\": 33\n * },\n * \"finish_reason\": \"stop\",\n * \"system_fingerprint\": \"fp_3aa7262c27\"\n * },\n * \"usage_metadata\": {\n * \"input_tokens\": 28,\n * \"output_tokens\": 5,\n * \"total_tokens\": 33\n * }\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Streaming Chunks</strong></summary>\n *\n * ```typescript\n * for await (const chunk of await llm.stream(input)) {\n * console.log(chunk);\n * }\n * ```\n *\n * ```txt\n * AIMessageChunk {\n * \"id\": \"chatcmpl-9u4NWB7yUeHCKdLr6jP3HpaOYHTqs\",\n * \"content\": \"\"\n * }\n * AIMessageChunk {\n * \"content\": \"J\"\n * }\n * AIMessageChunk {\n * \"content\": \"'adore\"\n * }\n * AIMessageChunk {\n * \"content\": \" la\"\n * }\n * AIMessageChunk {\n * \"content\": \" programmation\",,\n * }\n * AIMessageChunk {\n * \"content\": \".\",,\n * }\n * AIMessageChunk {\n * \"content\": \"\",\n * \"response_metadata\": {\n * \"finish_reason\": \"stop\",\n * \"system_fingerprint\": \"fp_c9aa9c0491\"\n * },\n * }\n * AIMessageChunk {\n * \"content\": \"\",\n * \"usage_metadata\": {\n * \"input_tokens\": 28,\n * \"output_tokens\": 5,\n * \"total_tokens\": 33\n * }\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Aggregate Streamed Chunks</strong></summary>\n *\n * ```typescript\n * import { AIMessageChunk } from '@langchain/core/messages';\n * import { concat } from '@langchain/core/utils/stream';\n *\n * const stream = await llm.stream(input);\n * let full: AIMessageChunk | undefined;\n * for await (const chunk of stream) {\n * full = !full ? chunk : concat(full, chunk);\n * }\n * console.log(full);\n * ```\n *\n * ```txt\n * AIMessageChunk {\n * \"id\": \"chatcmpl-9u4PnX6Fy7OmK46DASy0bH6cxn5Xu\",\n * \"content\": \"J'adore la programmation.\",\n * \"response_metadata\": {\n * \"prompt\": 0,\n * \"completion\": 0,\n * \"finish_reason\": \"stop\",\n * },\n * \"usage_metadata\": {\n * \"input_tokens\": 28,\n * \"output_tokens\": 5,\n * \"total_tokens\": 33\n * }\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Bind tools</strong></summary>\n *\n * ```typescript\n * import { z } from 'zod';\n *\n * const GetWeather = {\n * name: \"GetWeather\",\n * description: \"Get the current weather in a given location\",\n * schema: z.object({\n * location: z.string().describe(\"The city and state, e.g. San Francisco, CA\")\n * }),\n * }\n *\n * const GetPopulation = {\n * name: \"GetPopulation\",\n * description: \"Get the current population in a given location\",\n * schema: z.object({\n * location: z.string().describe(\"The city and state, e.g. San Francisco, CA\")\n * }),\n * }\n *\n * const llmWithTools = llm.bindTools([GetWeather, GetPopulation]);\n * const aiMsg = await llmWithTools.invoke(\n * \"Which city is hotter today and which is bigger: LA or NY?\"\n * );\n * console.log(aiMsg.tool_calls);\n * ```\n *\n * ```txt\n * [\n * {\n * name: 'GetWeather',\n * args: { location: 'Los Angeles, CA' },\n * type: 'tool_call',\n * id: 'call_uPU4FiFzoKAtMxfmPnfQL6UK'\n * },\n * {\n * name: 'GetWeather',\n * args: { location: 'New York, NY' },\n * type: 'tool_call',\n * id: 'call_UNkEwuQsHrGYqgDQuH9nPAtX'\n * },\n * {\n * name: 'GetPopulation',\n * args: { location: 'Los Angeles, CA' },\n * type: 'tool_call',\n * id: 'call_kL3OXxaq9OjIKqRTpvjaCH14'\n * },\n * {\n * name: 'GetPopulation',\n * args: { location: 'New York, NY' },\n * type: 'tool_call',\n * id: 'call_s9KQB1UWj45LLGaEnjz0179q'\n * }\n * ]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Structured Output</strong></summary>\n *\n * ```typescript\n * import { z } from 'zod';\n *\n * const Joke = z.object({\n * setup: z.string().describe(\"The setup of the joke\"),\n * punchline: z.string().describe(\"The punchline to the joke\"),\n * rating: z.number().nullable().describe(\"How funny the joke is, from 1 to 10\")\n * }).describe('Joke to tell user.');\n *\n * const structuredLlm = llm.withStructuredOutput(Joke, { name: \"Joke\" });\n * const jokeResult = await structuredLlm.invoke(\"Tell me a joke about cats\");\n * console.log(jokeResult);\n * ```\n *\n * ```txt\n * {\n * setup: 'Why was the cat sitting on the computer?',\n * punchline: 'Because it wanted to keep an eye on the mouse!',\n * rating: 7\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>JSON Object Response Format</strong></summary>\n *\n * ```typescript\n * const jsonLlm = llm.withConfig({ response_format: { type: \"json_object\" } });\n * const jsonLlmAiMsg = await jsonLlm.invoke(\n * \"Return a JSON object with key 'randomInts' and a value of 10 random ints in [0-99]\"\n * );\n * console.log(jsonLlmAiMsg.content);\n * ```\n *\n * ```txt\n * {\n * \"randomInts\": [23, 87, 45, 12, 78, 34, 56, 90, 11, 67]\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Multimodal</strong></summary>\n *\n * ```typescript\n * import { HumanMessage } from '@langchain/core/messages';\n *\n * const imageUrl = \"https://example.com/image.jpg\";\n * const imageData = await fetch(imageUrl).then(res => res.arrayBuffer());\n * const base64Image = Buffer.from(imageData).toString('base64');\n *\n * const message = new HumanMessage({\n * content: [\n * { type: \"text\", text: \"describe the weather in this image\" },\n * {\n * type: \"image_url\",\n * image_url: { url: `data:image/jpeg;base64,${base64Image}` },\n * },\n * ]\n * });\n *\n * const imageDescriptionAiMsg = await llm.invoke([message]);\n * console.log(imageDescriptionAiMsg.content);\n * ```\n *\n * ```txt\n * The weather in the image appears to be clear and sunny. The sky is mostly blue with a few scattered white clouds, indicating fair weather. The bright sunlight is casting shadows on the green, grassy hill, suggesting it is a pleasant day with good visibility. There are no signs of rain or stormy conditions.\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Usage Metadata</strong></summary>\n *\n * ```typescript\n * const aiMsgForMetadata = await llm.invoke(input);\n * console.log(aiMsgForMetadata.usage_metadata);\n * ```\n *\n * ```txt\n * { input_tokens: 28, output_tokens: 5, total_tokens: 33 }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Logprobs</strong></summary>\n *\n * ```typescript\n * const logprobsLlm = new ChatOpenAI({ model: \"gpt-4o-mini\", logprobs: true });\n * const aiMsgForLogprobs = await logprobsLlm.invoke(input);\n * console.log(aiMsgForLogprobs.response_metadata.logprobs);\n * ```\n *\n * ```txt\n * {\n * content: [\n * {\n * token: 'J',\n * logprob: -0.000050616763,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * {\n * token: \"'\",\n * logprob: -0.01868736,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * {\n * token: 'ad',\n * logprob: -0.0000030545007,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * { token: 'ore', logprob: 0, bytes: [Array], top_logprobs: [] },\n * {\n * token: ' la',\n * logprob: -0.515404,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * {\n * token: ' programm',\n * logprob: -0.0000118755715,\n * bytes: [Array],\n * top_logprobs: []\n * },\n * { token: 'ation', logprob: 0, bytes: [Array], top_logprobs: [] },\n * {\n * token: '.',\n * logprob: -0.0000037697225,\n * bytes: [Array],\n * top_logprobs: []\n * }\n * ],\n * refusal: null\n * }\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Response Metadata</strong></summary>\n *\n * ```typescript\n * const aiMsgForResponseMetadata = await llm.invoke(input);\n * console.log(aiMsgForResponseMetadata.response_metadata);\n * ```\n *\n * ```txt\n * {\n * tokenUsage: { completionTokens: 5, promptTokens: 28, totalTokens: 33 },\n * finish_reason: 'stop',\n * system_fingerprint: 'fp_3aa7262c27'\n * }\n * ```\n * </details>\n */\nexport declare class AzureChatOpenAI<CallOptions extends ChatOpenAICallOptions = ChatOpenAICallOptions> extends ChatOpenAI<CallOptions> implements Partial<AzureOpenAIChatInput> {\n azureOpenAIApiVersion?: string;\n azureOpenAIApiKey?: string;\n azureADTokenProvider?: () => Promise<string>;\n azureOpenAIApiInstanceName?: string;\n azureOpenAIApiDeploymentName?: string;\n azureOpenAIBasePath?: string;\n azureOpenAIEndpoint?: string;\n _llmType(): string;\n get lc_aliases(): Record<string, string>;\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n get lc_serializable_keys(): string[];\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams;\n constructor(fields?: AzureChatOpenAIFields);\n /** @internal */\n _getStructuredOutputMethod(config: StructuredOutputMethodOptions<boolean>): string | undefined;\n toJSON(): Serialized;\n}\n"],"mappings":";;;;;;;UAMUQ,qBAAAA,SAA8BL,sBAAsBM,QAAQH;EAA5DE;;;;EAAkD,eAAEC,CAAAA,EAAAA,OAAAA;AAAO;AAmarE;;;;;;;;;;;;;;AAA0J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAArIC,oCAAoCL,wBAAwBA,+BAA+BD,WAAWO,wBAAwBF,QAAQH;;;+BAG1HM;;;;;;oBAMXC;;;;;mDAK+BZ;uBAC5BO;;qCAEcN;YACzBF"}