@langchain/openai 0.6.8 → 1.0.0-alpha.1

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 (162) hide show
  1. package/README.md +8 -8
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/azure/chat_models.cjs +661 -808
  4. package/dist/azure/chat_models.cjs.map +1 -0
  5. package/dist/azure/chat_models.d.cts +449 -0
  6. package/dist/azure/chat_models.d.cts.map +1 -0
  7. package/dist/azure/chat_models.d.ts +32 -28
  8. package/dist/azure/chat_models.d.ts.map +1 -0
  9. package/dist/azure/chat_models.js +660 -804
  10. package/dist/azure/chat_models.js.map +1 -0
  11. package/dist/azure/embeddings.cjs +81 -130
  12. package/dist/azure/embeddings.cjs.map +1 -0
  13. package/dist/azure/embeddings.d.cts +27 -0
  14. package/dist/azure/embeddings.d.cts.map +1 -0
  15. package/dist/azure/embeddings.d.ts +25 -20
  16. package/dist/azure/embeddings.d.ts.map +1 -0
  17. package/dist/azure/embeddings.js +80 -126
  18. package/dist/azure/embeddings.js.map +1 -0
  19. package/dist/azure/llms.cjs +109 -168
  20. package/dist/azure/llms.cjs.map +1 -0
  21. package/dist/azure/llms.d.cts +33 -0
  22. package/dist/azure/llms.d.cts.map +1 -0
  23. package/dist/azure/llms.d.ts +31 -25
  24. package/dist/azure/llms.d.ts.map +1 -0
  25. package/dist/azure/llms.js +108 -164
  26. package/dist/azure/llms.js.map +1 -0
  27. package/dist/chat_models.cjs +1951 -2763
  28. package/dist/chat_models.cjs.map +1 -0
  29. package/dist/chat_models.d.cts +930 -0
  30. package/dist/chat_models.d.cts.map +1 -0
  31. package/dist/chat_models.d.ts +365 -336
  32. package/dist/chat_models.d.ts.map +1 -0
  33. package/dist/chat_models.js +1946 -2753
  34. package/dist/chat_models.js.map +1 -0
  35. package/dist/embeddings.cjs +136 -193
  36. package/dist/embeddings.cjs.map +1 -0
  37. package/dist/embeddings.d.cts +115 -0
  38. package/dist/embeddings.d.cts.map +1 -0
  39. package/dist/embeddings.d.ts +88 -81
  40. package/dist/embeddings.d.ts.map +1 -0
  41. package/dist/embeddings.js +134 -188
  42. package/dist/embeddings.js.map +1 -0
  43. package/dist/index.cjs +47 -34
  44. package/dist/index.d.cts +16 -0
  45. package/dist/index.d.ts +16 -13
  46. package/dist/index.js +17 -13
  47. package/dist/langchain-core/dist/types/_internal.d.cts +11 -0
  48. package/dist/langchain-core/dist/types/_internal.d.cts.map +1 -0
  49. package/dist/langchain-core/dist/types/_internal.d.ts +11 -0
  50. package/dist/langchain-core/dist/types/_internal.d.ts.map +1 -0
  51. package/dist/langchain-core/dist/utils/stream.d.cts +26 -0
  52. package/dist/langchain-core/dist/utils/stream.d.cts.map +1 -0
  53. package/dist/langchain-core/dist/utils/stream.d.ts +26 -0
  54. package/dist/langchain-core/dist/utils/stream.d.ts.map +1 -0
  55. package/dist/llms.cjs +312 -468
  56. package/dist/llms.cjs.map +1 -0
  57. package/dist/llms.d.cts +123 -0
  58. package/dist/llms.d.cts.map +1 -0
  59. package/dist/llms.d.ts +93 -87
  60. package/dist/llms.d.ts.map +1 -0
  61. package/dist/llms.js +309 -462
  62. package/dist/llms.js.map +1 -0
  63. package/dist/tools/custom.cjs +25 -26
  64. package/dist/tools/custom.cjs.map +1 -0
  65. package/dist/tools/custom.d.cts +10 -0
  66. package/dist/tools/custom.d.cts.map +1 -0
  67. package/dist/tools/custom.d.ts +8 -3
  68. package/dist/tools/custom.d.ts.map +1 -0
  69. package/dist/tools/custom.js +24 -23
  70. package/dist/tools/custom.js.map +1 -0
  71. package/dist/tools/dalle.cjs +104 -194
  72. package/dist/tools/dalle.cjs.map +1 -0
  73. package/dist/tools/dalle.d.cts +123 -0
  74. package/dist/tools/dalle.d.cts.map +1 -0
  75. package/dist/tools/dalle.d.ts +111 -104
  76. package/dist/tools/dalle.d.ts.map +1 -0
  77. package/dist/tools/dalle.js +102 -189
  78. package/dist/tools/dalle.js.map +1 -0
  79. package/dist/tools/index.cjs +1 -17
  80. package/dist/tools/index.js +1 -1
  81. package/dist/types.d.cts +263 -0
  82. package/dist/types.d.cts.map +1 -0
  83. package/dist/types.d.ts +244 -234
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/utils/azure.cjs +86 -47
  86. package/dist/utils/azure.cjs.map +1 -0
  87. package/dist/utils/azure.d.cts +76 -0
  88. package/dist/utils/azure.d.cts.map +1 -0
  89. package/dist/utils/azure.d.ts +51 -9
  90. package/dist/utils/azure.d.ts.map +1 -0
  91. package/dist/utils/azure.js +85 -45
  92. package/dist/utils/azure.js.map +1 -0
  93. package/dist/utils/client.cjs +25 -0
  94. package/dist/utils/client.cjs.map +1 -0
  95. package/dist/utils/client.d.cts +5 -0
  96. package/dist/utils/client.d.cts.map +1 -0
  97. package/dist/utils/client.d.ts +5 -0
  98. package/dist/utils/client.d.ts.map +1 -0
  99. package/dist/utils/client.js +24 -0
  100. package/dist/utils/client.js.map +1 -0
  101. package/dist/utils/errors.cjs +9 -8
  102. package/dist/utils/errors.cjs.map +1 -0
  103. package/dist/utils/errors.js +9 -6
  104. package/dist/utils/errors.js.map +1 -0
  105. package/dist/utils/message_inputs.cjs +139 -0
  106. package/dist/utils/message_inputs.cjs.map +1 -0
  107. package/dist/utils/message_inputs.d.cts +9 -0
  108. package/dist/utils/message_inputs.d.cts.map +1 -0
  109. package/dist/utils/message_inputs.d.ts +9 -0
  110. package/dist/utils/message_inputs.d.ts.map +1 -0
  111. package/dist/utils/message_inputs.js +137 -0
  112. package/dist/utils/message_inputs.js.map +1 -0
  113. package/dist/utils/misc.cjs +30 -0
  114. package/dist/utils/misc.cjs.map +1 -0
  115. package/dist/utils/misc.d.cts +9 -0
  116. package/dist/utils/misc.d.cts.map +1 -0
  117. package/dist/utils/misc.d.ts +9 -0
  118. package/dist/utils/misc.d.ts.map +1 -0
  119. package/dist/utils/misc.js +27 -0
  120. package/dist/utils/misc.js.map +1 -0
  121. package/dist/utils/output.cjs +74 -0
  122. package/dist/utils/output.cjs.map +1 -0
  123. package/dist/utils/output.js +72 -0
  124. package/dist/utils/output.js.map +1 -0
  125. package/dist/utils/prompts.cjs +39 -38
  126. package/dist/utils/prompts.cjs.map +1 -0
  127. package/dist/utils/prompts.d.cts +42 -0
  128. package/dist/utils/prompts.d.cts.map +1 -0
  129. package/dist/utils/prompts.d.ts +10 -4
  130. package/dist/utils/prompts.d.ts.map +1 -0
  131. package/dist/utils/prompts.js +40 -36
  132. package/dist/utils/prompts.js.map +1 -0
  133. package/dist/utils/standard.cjs +113 -0
  134. package/dist/utils/standard.cjs.map +1 -0
  135. package/dist/utils/standard.js +111 -0
  136. package/dist/utils/standard.js.map +1 -0
  137. package/dist/utils/tools.cjs +150 -127
  138. package/dist/utils/tools.cjs.map +1 -0
  139. package/dist/utils/tools.d.cts +13 -0
  140. package/dist/utils/tools.d.cts.map +1 -0
  141. package/dist/utils/tools.d.ts +12 -42
  142. package/dist/utils/tools.d.ts.map +1 -0
  143. package/dist/utils/tools.js +146 -123
  144. package/dist/utils/tools.js.map +1 -0
  145. package/package.json +33 -41
  146. package/dist/tools/index.d.ts +0 -1
  147. package/dist/types.cjs +0 -2
  148. package/dist/types.js +0 -1
  149. package/dist/utils/errors.d.ts +0 -2
  150. package/dist/utils/headers.cjs +0 -39
  151. package/dist/utils/headers.d.ts +0 -8
  152. package/dist/utils/headers.js +0 -35
  153. package/dist/utils/openai-format-fndef.cjs +0 -80
  154. package/dist/utils/openai-format-fndef.d.ts +0 -44
  155. package/dist/utils/openai-format-fndef.js +0 -77
  156. package/dist/utils/openai.cjs +0 -127
  157. package/dist/utils/openai.d.ts +0 -15
  158. package/dist/utils/openai.js +0 -119
  159. package/index.cjs +0 -1
  160. package/index.d.cts +0 -1
  161. package/index.d.ts +0 -1
  162. package/index.js +0 -1
@@ -1,165 +1,109 @@
1
- import { AzureOpenAI as AzureOpenAIClient } from "openai";
2
- import { getEnvironmentVariable } from "@langchain/core/utils/env";
1
+ import { getEndpoint, normalizeHeaders } from "../utils/azure.js";
3
2
  import { OpenAI } from "../llms.js";
4
- import { getEndpoint } from "../utils/azure.js";
5
- import { normalizeHeaders } from "../utils/headers.js";
6
- export class AzureOpenAI extends OpenAI {
7
- get lc_aliases() {
8
- return {
9
- ...super.lc_aliases,
10
- openAIApiKey: "openai_api_key",
11
- openAIApiVersion: "openai_api_version",
12
- openAIBasePath: "openai_api_base",
13
- deploymentName: "deployment_name",
14
- azureOpenAIEndpoint: "azure_endpoint",
15
- azureOpenAIApiVersion: "openai_api_version",
16
- azureOpenAIBasePath: "openai_api_base",
17
- azureOpenAIApiDeploymentName: "deployment_name",
18
- };
19
- }
20
- get lc_secrets() {
21
- return {
22
- ...super.lc_secrets,
23
- azureOpenAIApiKey: "AZURE_OPENAI_API_KEY",
24
- };
25
- }
26
- constructor(fields) {
27
- super(fields);
28
- Object.defineProperty(this, "azureOpenAIApiVersion", {
29
- enumerable: true,
30
- configurable: true,
31
- writable: true,
32
- value: void 0
33
- });
34
- Object.defineProperty(this, "azureOpenAIApiKey", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: void 0
39
- });
40
- Object.defineProperty(this, "azureADTokenProvider", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: void 0
45
- });
46
- Object.defineProperty(this, "azureOpenAIApiInstanceName", {
47
- enumerable: true,
48
- configurable: true,
49
- writable: true,
50
- value: void 0
51
- });
52
- Object.defineProperty(this, "azureOpenAIApiDeploymentName", {
53
- enumerable: true,
54
- configurable: true,
55
- writable: true,
56
- value: void 0
57
- });
58
- Object.defineProperty(this, "azureOpenAIBasePath", {
59
- enumerable: true,
60
- configurable: true,
61
- writable: true,
62
- value: void 0
63
- });
64
- Object.defineProperty(this, "azureOpenAIEndpoint", {
65
- enumerable: true,
66
- configurable: true,
67
- writable: true,
68
- value: void 0
69
- });
70
- this.azureOpenAIApiDeploymentName =
71
- (fields?.azureOpenAIApiCompletionsDeploymentName ||
72
- fields?.azureOpenAIApiDeploymentName) ??
73
- (getEnvironmentVariable("AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME") ||
74
- getEnvironmentVariable("AZURE_OPENAI_API_DEPLOYMENT_NAME"));
75
- this.azureOpenAIApiKey =
76
- fields?.azureOpenAIApiKey ??
77
- fields?.openAIApiKey ??
78
- fields?.apiKey ??
79
- getEnvironmentVariable("AZURE_OPENAI_API_KEY");
80
- this.azureOpenAIApiInstanceName =
81
- fields?.azureOpenAIApiInstanceName ??
82
- getEnvironmentVariable("AZURE_OPENAI_API_INSTANCE_NAME");
83
- this.azureOpenAIApiVersion =
84
- fields?.azureOpenAIApiVersion ??
85
- fields?.openAIApiVersion ??
86
- getEnvironmentVariable("AZURE_OPENAI_API_VERSION");
87
- this.azureOpenAIBasePath =
88
- fields?.azureOpenAIBasePath ??
89
- getEnvironmentVariable("AZURE_OPENAI_BASE_PATH");
90
- this.azureOpenAIEndpoint =
91
- fields?.azureOpenAIEndpoint ??
92
- getEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
93
- this.azureADTokenProvider = fields?.azureADTokenProvider;
94
- if (!this.azureOpenAIApiKey && !this.apiKey && !this.azureADTokenProvider) {
95
- throw new Error("Azure OpenAI API key or Token Provider not found");
96
- }
97
- }
98
- _getClientOptions(options) {
99
- if (!this.client) {
100
- const openAIEndpointConfig = {
101
- azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,
102
- azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,
103
- azureOpenAIApiKey: this.azureOpenAIApiKey,
104
- azureOpenAIBasePath: this.azureOpenAIBasePath,
105
- azureADTokenProvider: this.azureADTokenProvider,
106
- baseURL: this.clientConfig.baseURL,
107
- };
108
- const endpoint = getEndpoint(openAIEndpointConfig);
109
- const params = {
110
- ...this.clientConfig,
111
- baseURL: endpoint,
112
- timeout: this.timeout,
113
- maxRetries: 0,
114
- };
115
- if (!this.azureADTokenProvider) {
116
- params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;
117
- }
118
- if (!params.baseURL) {
119
- delete params.baseURL;
120
- }
121
- const defaultHeaders = normalizeHeaders(params.defaultHeaders);
122
- params.defaultHeaders = {
123
- ...params.defaultHeaders,
124
- "User-Agent": defaultHeaders["User-Agent"]
125
- ? `${defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2`
126
- : `langchainjs-azure-openai-v2`,
127
- };
128
- this.client = new AzureOpenAIClient({
129
- apiVersion: this.azureOpenAIApiVersion,
130
- azureADTokenProvider: this.azureADTokenProvider,
131
- ...params,
132
- });
133
- }
134
- const requestOptions = {
135
- ...this.clientConfig,
136
- ...options,
137
- };
138
- if (this.azureOpenAIApiKey) {
139
- requestOptions.headers = {
140
- "api-key": this.azureOpenAIApiKey,
141
- ...requestOptions.headers,
142
- };
143
- requestOptions.query = {
144
- "api-version": this.azureOpenAIApiVersion,
145
- ...requestOptions.query,
146
- };
147
- }
148
- return requestOptions;
149
- }
150
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
- toJSON() {
152
- const json = super.toJSON();
153
- function isRecord(obj) {
154
- return typeof obj === "object" && obj != null;
155
- }
156
- if (isRecord(json) && isRecord(json.kwargs)) {
157
- delete json.kwargs.azure_openai_base_path;
158
- delete json.kwargs.azure_openai_api_deployment_name;
159
- delete json.kwargs.azure_openai_api_key;
160
- delete json.kwargs.azure_openai_api_version;
161
- delete json.kwargs.azure_open_ai_base_path;
162
- }
163
- return json;
164
- }
165
- }
3
+ import { AzureOpenAI } from "openai";
4
+ import { getEnvironmentVariable } from "@langchain/core/utils/env";
5
+
6
+ //#region src/azure/llms.ts
7
+ var AzureOpenAI$1 = class extends OpenAI {
8
+ azureOpenAIApiVersion;
9
+ azureOpenAIApiKey;
10
+ azureADTokenProvider;
11
+ azureOpenAIApiInstanceName;
12
+ azureOpenAIApiDeploymentName;
13
+ azureOpenAIBasePath;
14
+ azureOpenAIEndpoint;
15
+ get lc_aliases() {
16
+ return {
17
+ ...super.lc_aliases,
18
+ openAIApiKey: "openai_api_key",
19
+ openAIApiVersion: "openai_api_version",
20
+ openAIBasePath: "openai_api_base",
21
+ deploymentName: "deployment_name",
22
+ azureOpenAIEndpoint: "azure_endpoint",
23
+ azureOpenAIApiVersion: "openai_api_version",
24
+ azureOpenAIBasePath: "openai_api_base",
25
+ azureOpenAIApiDeploymentName: "deployment_name"
26
+ };
27
+ }
28
+ get lc_secrets() {
29
+ return {
30
+ ...super.lc_secrets,
31
+ azureOpenAIApiKey: "AZURE_OPENAI_API_KEY"
32
+ };
33
+ }
34
+ constructor(fields) {
35
+ super(fields);
36
+ this.azureOpenAIApiDeploymentName = (fields?.azureOpenAIApiCompletionsDeploymentName || fields?.azureOpenAIApiDeploymentName) ?? (getEnvironmentVariable("AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME") || getEnvironmentVariable("AZURE_OPENAI_API_DEPLOYMENT_NAME"));
37
+ this.azureOpenAIApiKey = fields?.azureOpenAIApiKey ?? fields?.openAIApiKey ?? fields?.apiKey ?? getEnvironmentVariable("AZURE_OPENAI_API_KEY");
38
+ this.azureOpenAIApiInstanceName = fields?.azureOpenAIApiInstanceName ?? getEnvironmentVariable("AZURE_OPENAI_API_INSTANCE_NAME");
39
+ this.azureOpenAIApiVersion = fields?.azureOpenAIApiVersion ?? fields?.openAIApiVersion ?? getEnvironmentVariable("AZURE_OPENAI_API_VERSION");
40
+ this.azureOpenAIBasePath = fields?.azureOpenAIBasePath ?? getEnvironmentVariable("AZURE_OPENAI_BASE_PATH");
41
+ this.azureOpenAIEndpoint = fields?.azureOpenAIEndpoint ?? getEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
42
+ this.azureADTokenProvider = fields?.azureADTokenProvider;
43
+ if (!this.azureOpenAIApiKey && !this.apiKey && !this.azureADTokenProvider) throw new Error("Azure OpenAI API key or Token Provider not found");
44
+ }
45
+ _getClientOptions(options) {
46
+ if (!this.client) {
47
+ const openAIEndpointConfig = {
48
+ azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,
49
+ azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,
50
+ azureOpenAIApiKey: this.azureOpenAIApiKey,
51
+ azureOpenAIBasePath: this.azureOpenAIBasePath,
52
+ azureADTokenProvider: this.azureADTokenProvider,
53
+ baseURL: this.clientConfig.baseURL
54
+ };
55
+ const endpoint = getEndpoint(openAIEndpointConfig);
56
+ const params = {
57
+ ...this.clientConfig,
58
+ baseURL: endpoint,
59
+ timeout: this.timeout,
60
+ maxRetries: 0
61
+ };
62
+ if (!this.azureADTokenProvider) params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;
63
+ if (!params.baseURL) delete params.baseURL;
64
+ const defaultHeaders = normalizeHeaders(params.defaultHeaders);
65
+ params.defaultHeaders = {
66
+ ...params.defaultHeaders,
67
+ "User-Agent": defaultHeaders["User-Agent"] ? `${defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2` : `langchainjs-azure-openai-v2`
68
+ };
69
+ this.client = new AzureOpenAI({
70
+ apiVersion: this.azureOpenAIApiVersion,
71
+ azureADTokenProvider: this.azureADTokenProvider,
72
+ ...params
73
+ });
74
+ }
75
+ const requestOptions = {
76
+ ...this.clientConfig,
77
+ ...options
78
+ };
79
+ if (this.azureOpenAIApiKey) {
80
+ requestOptions.headers = {
81
+ "api-key": this.azureOpenAIApiKey,
82
+ ...requestOptions.headers
83
+ };
84
+ requestOptions.query = {
85
+ "api-version": this.azureOpenAIApiVersion,
86
+ ...requestOptions.query
87
+ };
88
+ }
89
+ return requestOptions;
90
+ }
91
+ toJSON() {
92
+ const json = super.toJSON();
93
+ function isRecord(obj) {
94
+ return typeof obj === "object" && obj != null;
95
+ }
96
+ if (isRecord(json) && isRecord(json.kwargs)) {
97
+ delete json.kwargs.azure_openai_base_path;
98
+ delete json.kwargs.azure_openai_api_deployment_name;
99
+ delete json.kwargs.azure_openai_api_key;
100
+ delete json.kwargs.azure_openai_api_version;
101
+ delete json.kwargs.azure_open_ai_base_path;
102
+ }
103
+ return json;
104
+ }
105
+ };
106
+
107
+ //#endregion
108
+ export { AzureOpenAI$1 as AzureOpenAI };
109
+ //# sourceMappingURL=llms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llms.js","names":["AzureOpenAI","fields?: Partial<OpenAIInput> & {\n openAIApiKey?: string;\n openAIApiVersion?: string;\n openAIBasePath?: string;\n deploymentName?: string;\n } & Partial<AzureOpenAIInput> &\n BaseLLMParams & {\n configuration?: ClientOptions;\n }","options: OpenAICoreRequestOptions | undefined","openAIEndpointConfig: OpenAIEndpointConfig","AzureOpenAIClient","obj: unknown"],"sources":["../../src/azure/llms.ts"],"sourcesContent":["import { type ClientOptions, AzureOpenAI as AzureOpenAIClient } from \"openai\";\nimport { type BaseLLMParams } from \"@langchain/core/language_models/llms\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport { OpenAI } from \"../llms.js\";\nimport {\n OpenAIEndpointConfig,\n getEndpoint,\n normalizeHeaders,\n} from \"../utils/azure.js\";\nimport type {\n OpenAIInput,\n AzureOpenAIInput,\n OpenAICoreRequestOptions,\n} from \"../types.js\";\n\nexport class AzureOpenAI extends OpenAI {\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 get lc_aliases(): Record<string, string> {\n return {\n ...super.lc_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 }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n ...super.lc_secrets,\n azureOpenAIApiKey: \"AZURE_OPENAI_API_KEY\",\n };\n }\n\n constructor(\n fields?: Partial<OpenAIInput> & {\n openAIApiKey?: string;\n openAIApiVersion?: string;\n openAIBasePath?: string;\n deploymentName?: string;\n } & Partial<AzureOpenAIInput> &\n BaseLLMParams & {\n configuration?: ClientOptions;\n }\n ) {\n super(fields);\n\n this.azureOpenAIApiDeploymentName =\n (fields?.azureOpenAIApiCompletionsDeploymentName ||\n fields?.azureOpenAIApiDeploymentName) ??\n (getEnvironmentVariable(\"AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME\") ||\n getEnvironmentVariable(\"AZURE_OPENAI_API_DEPLOYMENT_NAME\"));\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.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\n protected _getClientOptions(\n options: OpenAICoreRequestOptions | undefined\n ): OpenAICoreRequestOptions {\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 };\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 const defaultHeaders = normalizeHeaders(params.defaultHeaders);\n params.defaultHeaders = {\n ...params.defaultHeaders,\n \"User-Agent\": defaultHeaders[\"User-Agent\"]\n ? `${defaultHeaders[\"User-Agent\"]}: langchainjs-azure-openai-v2`\n : `langchainjs-azure-openai-v2`,\n };\n\n this.client = new AzureOpenAIClient({\n apiVersion: this.azureOpenAIApiVersion,\n azureADTokenProvider: this.azureADTokenProvider,\n ...params,\n });\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\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n toJSON(): any {\n const json = super.toJSON() as unknown;\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\n return json;\n }\n}\n"],"mappings":";;;;;;AAeA,IAAaA,gBAAb,cAAiC,OAAO;CACtC;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,IAAI,aAAqC;AACvC,SAAO;GACL,GAAG,MAAM;GACT,cAAc;GACd,kBAAkB;GAClB,gBAAgB;GAChB,gBAAgB;GAChB,qBAAqB;GACrB,uBAAuB;GACvB,qBAAqB;GACrB,8BAA8B;EAC/B;CACF;CAED,IAAI,aAAoD;AACtD,SAAO;GACL,GAAG,MAAM;GACT,mBAAmB;EACpB;CACF;CAED,YACEC,QASA;EACA,MAAM,OAAO;EAEb,KAAK,gCACF,QAAQ,2CACP,QAAQ,kCACT,uBAAuB,+CAA+C,IACrE,uBAAuB,mCAAmC;EAE9D,KAAK,oBACH,QAAQ,qBACR,QAAQ,gBACR,QAAQ,UACR,uBAAuB,uBAAuB;EAEhD,KAAK,6BACH,QAAQ,8BACR,uBAAuB,iCAAiC;EAE1D,KAAK,wBACH,QAAQ,yBACR,QAAQ,oBACR,uBAAuB,2BAA2B;EAEpD,KAAK,sBACH,QAAQ,uBACR,uBAAuB,yBAAyB;EAElD,KAAK,sBACH,QAAQ,uBACR,uBAAuB,wBAAwB;EAEjD,KAAK,uBAAuB,QAAQ;AAEpC,MAAI,CAAC,KAAK,qBAAqB,CAAC,KAAK,UAAU,CAAC,KAAK,qBACnD,OAAM,IAAI,MAAM;CAEnB;CAED,AAAU,kBACRC,SAC0B;AAC1B,MAAI,CAAC,KAAK,QAAQ;GAChB,MAAMC,uBAA6C;IACjD,8BAA8B,KAAK;IACnC,4BAA4B,KAAK;IACjC,mBAAmB,KAAK;IACxB,qBAAqB,KAAK;IAC1B,sBAAsB,KAAK;IAC3B,SAAS,KAAK,aAAa;GAC5B;GAED,MAAM,WAAW,YAAY,qBAAqB;GAElD,MAAM,SAAS;IACb,GAAG,KAAK;IACR,SAAS;IACT,SAAS,KAAK;IACd,YAAY;GACb;AAED,OAAI,CAAC,KAAK,sBACR,OAAO,SAAS,qBAAqB;AAGvC,OAAI,CAAC,OAAO,SACV,OAAO,OAAO;GAGhB,MAAM,iBAAiB,iBAAiB,OAAO,eAAe;GAC9D,OAAO,iBAAiB;IACtB,GAAG,OAAO;IACV,cAAc,eAAe,gBACzB,GAAG,eAAe,cAAc,6BAA6B,CAAC,GAC9D,CAAC,2BAA2B,CAAC;GAClC;GAED,KAAK,SAAS,IAAIC,YAAkB;IAClC,YAAY,KAAK;IACjB,sBAAsB,KAAK;IAC3B,GAAG;GACJ;EACF;EAED,MAAM,iBAAiB;GACrB,GAAG,KAAK;GACR,GAAG;EACJ;AACD,MAAI,KAAK,mBAAmB;GAC1B,eAAe,UAAU;IACvB,WAAW,KAAK;IAChB,GAAG,eAAe;GACnB;GACD,eAAe,QAAQ;IACrB,eAAe,KAAK;IACpB,GAAG,eAAe;GACnB;EACF;AACD,SAAO;CACR;CAGD,SAAc;EACZ,MAAM,OAAO,MAAM,QAAQ;EAE3B,SAAS,SAASC,KAA8C;AAC9D,UAAO,OAAO,QAAQ,YAAY,OAAO;EAC1C;AAED,MAAI,SAAS,KAAK,IAAI,SAAS,KAAK,OAAO,EAAE;GAC3C,OAAO,KAAK,OAAO;GACnB,OAAO,KAAK,OAAO;GACnB,OAAO,KAAK,OAAO;GACnB,OAAO,KAAK,OAAO;GACnB,OAAO,KAAK,OAAO;EACpB;AAED,SAAO;CACR;AACF"}