@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.
- package/CHANGELOG.md +43 -0
- package/LICENSE +6 -6
- package/dist/azure/chat_models/common.cjs +130 -0
- package/dist/azure/chat_models/common.cjs.map +1 -0
- package/dist/azure/chat_models/common.d.cts +16 -0
- package/dist/azure/chat_models/common.d.cts.map +1 -0
- package/dist/azure/chat_models/common.d.ts +16 -0
- package/dist/azure/chat_models/common.d.ts.map +1 -0
- package/dist/azure/chat_models/common.js +124 -0
- package/dist/azure/chat_models/common.js.map +1 -0
- package/dist/azure/chat_models/completions.cjs +50 -0
- package/dist/azure/chat_models/completions.cjs.map +1 -0
- package/dist/azure/chat_models/completions.d.cts +29 -0
- package/dist/azure/chat_models/completions.d.cts.map +1 -0
- package/dist/azure/chat_models/completions.d.ts +29 -0
- package/dist/azure/chat_models/completions.d.ts.map +1 -0
- package/dist/azure/chat_models/completions.js +50 -0
- package/dist/azure/chat_models/completions.js.map +1 -0
- package/dist/azure/{chat_models.cjs → chat_models/index.cjs} +14 -214
- package/dist/azure/chat_models/index.cjs.map +1 -0
- package/dist/azure/{chat_models.d.ts → chat_models/index.d.cts} +6 -11
- package/dist/azure/chat_models/index.d.cts.map +1 -0
- package/dist/azure/{chat_models.d.cts → chat_models/index.d.ts} +6 -11
- package/dist/azure/chat_models/index.d.ts.map +1 -0
- package/dist/azure/{chat_models.js → chat_models/index.js} +6 -205
- package/dist/azure/chat_models/index.js.map +1 -0
- package/dist/azure/chat_models/responses.cjs +50 -0
- package/dist/azure/chat_models/responses.cjs.map +1 -0
- package/dist/azure/chat_models/responses.d.cts +29 -0
- package/dist/azure/chat_models/responses.d.cts.map +1 -0
- package/dist/azure/chat_models/responses.d.ts +29 -0
- package/dist/azure/chat_models/responses.d.ts.map +1 -0
- package/dist/azure/chat_models/responses.js +50 -0
- package/dist/azure/chat_models/responses.js.map +1 -0
- package/dist/chat_models/base.cjs +533 -0
- package/dist/chat_models/base.cjs.map +1 -0
- package/dist/chat_models/base.d.cts +272 -0
- package/dist/chat_models/base.d.cts.map +1 -0
- package/dist/chat_models/base.d.ts +272 -0
- package/dist/chat_models/base.d.ts.map +1 -0
- package/dist/chat_models/base.js +532 -0
- package/dist/chat_models/base.js.map +1 -0
- package/dist/chat_models/completions.cjs +328 -0
- package/dist/chat_models/completions.cjs.map +1 -0
- package/dist/chat_models/completions.d.cts +33 -0
- package/dist/chat_models/completions.d.cts.map +1 -0
- package/dist/chat_models/completions.d.ts +33 -0
- package/dist/chat_models/completions.d.ts.map +1 -0
- package/dist/chat_models/completions.js +327 -0
- package/dist/chat_models/completions.js.map +1 -0
- package/dist/chat_models/index.cjs +608 -0
- package/dist/chat_models/index.cjs.map +1 -0
- package/dist/chat_models/index.d.cts +593 -0
- package/dist/chat_models/index.d.cts.map +1 -0
- package/dist/chat_models/index.d.ts +593 -0
- package/dist/chat_models/index.d.ts.map +1 -0
- package/dist/chat_models/index.js +608 -0
- package/dist/chat_models/index.js.map +1 -0
- package/dist/chat_models/responses.cjs +550 -0
- package/dist/chat_models/responses.cjs.map +1 -0
- package/dist/chat_models/responses.d.cts +77 -0
- package/dist/chat_models/responses.d.cts.map +1 -0
- package/dist/chat_models/responses.d.ts +77 -0
- package/dist/chat_models/responses.d.ts.map +1 -0
- package/dist/chat_models/responses.js +549 -0
- package/dist/chat_models/responses.js.map +1 -0
- package/dist/index.cjs +14 -7
- package/dist/index.d.cts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +8 -3
- package/dist/langchain-core/dist/callbacks/base.d.ts +1 -0
- package/dist/langchain-core/dist/callbacks/manager.d.ts +2 -0
- package/dist/langchain-core/dist/language_models/base.d.ts +5 -0
- package/dist/langchain-core/dist/language_models/chat_models.d.cts +13 -0
- package/dist/langchain-core/dist/language_models/chat_models.d.cts.map +1 -0
- package/dist/langchain-core/dist/language_models/chat_models.d.ts +20 -0
- package/dist/langchain-core/dist/language_models/chat_models.d.ts.map +1 -0
- package/dist/langchain-core/dist/runnables/base.d.ts +7 -0
- package/dist/langchain-core/dist/runnables/graph.d.ts +1 -0
- package/dist/langchain-core/dist/runnables/types.d.ts +2 -0
- package/dist/langchain-core/dist/tools/types.d.ts +5 -0
- package/dist/langchain-core/dist/tracers/base.d.ts +2 -0
- package/dist/langchain-core/dist/tracers/event_stream.d.ts +1 -0
- package/dist/langchain-core/dist/tracers/log_stream.d.ts +3 -0
- package/dist/langchain-core/dist/utils/types/index.d.ts +1 -0
- package/dist/langchain-core/dist/utils/types/zod.d.ts +1 -0
- package/dist/llms.cjs +1 -1
- package/dist/llms.d.cts +1 -1
- package/dist/llms.js +1 -1
- package/dist/utils/message_inputs.cjs +1 -1
- package/dist/utils/message_inputs.js +1 -1
- package/dist/utils/misc.cjs +4 -1
- package/dist/utils/misc.cjs.map +1 -1
- package/dist/utils/misc.d.cts.map +1 -1
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +4 -1
- package/dist/utils/misc.js.map +1 -1
- package/package.json +11 -10
- package/dist/azure/chat_models.cjs.map +0 -1
- package/dist/azure/chat_models.d.cts.map +0 -1
- package/dist/azure/chat_models.d.ts.map +0 -1
- package/dist/azure/chat_models.js.map +0 -1
- package/dist/chat_models.cjs +0 -1965
- package/dist/chat_models.cjs.map +0 -1
- package/dist/chat_models.d.cts +0 -931
- package/dist/chat_models.d.cts.map +0 -1
- package/dist/chat_models.d.ts +0 -931
- package/dist/chat_models.d.ts.map +0 -1
- package/dist/chat_models.js +0 -1961
- package/dist/chat_models.js.map +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# @langchain/openai
|
|
2
|
+
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
This release updates the package for compatibility with LangChain v1.0. See the v1.0 [release notes](https://docs.langchain.com/oss/javascript/releases/langchain-v1) for details on what's new.
|
|
6
|
+
|
|
7
|
+
## 0.6.16
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- b8ffc1e: fix(openai): Remove raw OpenAI fields from token usage
|
|
12
|
+
|
|
13
|
+
## 0.6.15
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- e63c7cc: fix(openai): Convert OpenAI responses API usage to tracing format
|
|
18
|
+
|
|
19
|
+
## 0.6.14
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- d38e9d6: fix(openai): fix streaming in openai
|
|
24
|
+
|
|
25
|
+
## 0.6.12
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- 41bd944: support base64 embeddings format
|
|
30
|
+
- 707a768: handle undefined disableStreaming to restore streaming functionality
|
|
31
|
+
|
|
32
|
+
## 0.6.11
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- 65459e3: use proper casing for reasoning effort param
|
|
37
|
+
|
|
38
|
+
## 0.6.10
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- 4a3f5af: add verbosity to json schema response format (#8754)
|
|
43
|
+
- 424360b: re-add reasoning_effort param
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) LangChain, Inc.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
9
9
|
copies of the Software, and to permit persons to whom the Software is
|
|
10
10
|
furnished to do so, subject to the following conditions:
|
|
11
11
|
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
15
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
16
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
17
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_azure = require('../../utils/azure.cjs');
|
|
3
|
+
const openai = require_rolldown_runtime.__toESM(require("openai"));
|
|
4
|
+
const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
|
|
5
|
+
|
|
6
|
+
//#region src/azure/chat_models/common.ts
|
|
7
|
+
const AZURE_ALIASES = {
|
|
8
|
+
openAIApiKey: "openai_api_key",
|
|
9
|
+
openAIApiVersion: "openai_api_version",
|
|
10
|
+
openAIBasePath: "openai_api_base",
|
|
11
|
+
deploymentName: "deployment_name",
|
|
12
|
+
azureOpenAIEndpoint: "azure_endpoint",
|
|
13
|
+
azureOpenAIApiVersion: "openai_api_version",
|
|
14
|
+
azureOpenAIBasePath: "openai_api_base",
|
|
15
|
+
azureOpenAIApiDeploymentName: "deployment_name"
|
|
16
|
+
};
|
|
17
|
+
const AZURE_SECRETS = { azureOpenAIApiKey: "AZURE_OPENAI_API_KEY" };
|
|
18
|
+
const AZURE_SERIALIZABLE_KEYS = [
|
|
19
|
+
"azureOpenAIApiKey",
|
|
20
|
+
"azureOpenAIApiVersion",
|
|
21
|
+
"azureOpenAIBasePath",
|
|
22
|
+
"azureOpenAIEndpoint",
|
|
23
|
+
"azureOpenAIApiInstanceName",
|
|
24
|
+
"azureOpenAIApiDeploymentName",
|
|
25
|
+
"deploymentName",
|
|
26
|
+
"openAIApiKey",
|
|
27
|
+
"openAIApiVersion"
|
|
28
|
+
];
|
|
29
|
+
function _constructAzureFields(fields) {
|
|
30
|
+
this.azureOpenAIApiKey = fields?.azureOpenAIApiKey ?? fields?.openAIApiKey ?? fields?.apiKey ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("AZURE_OPENAI_API_KEY");
|
|
31
|
+
this.azureOpenAIApiInstanceName = fields?.azureOpenAIApiInstanceName ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("AZURE_OPENAI_API_INSTANCE_NAME");
|
|
32
|
+
this.azureOpenAIApiDeploymentName = fields?.azureOpenAIApiDeploymentName ?? fields?.deploymentName ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("AZURE_OPENAI_API_DEPLOYMENT_NAME");
|
|
33
|
+
this.azureOpenAIApiVersion = fields?.azureOpenAIApiVersion ?? fields?.openAIApiVersion ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("AZURE_OPENAI_API_VERSION");
|
|
34
|
+
this.azureOpenAIBasePath = fields?.azureOpenAIBasePath ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("AZURE_OPENAI_BASE_PATH");
|
|
35
|
+
this.azureOpenAIEndpoint = fields?.azureOpenAIEndpoint ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("AZURE_OPENAI_ENDPOINT");
|
|
36
|
+
this.azureADTokenProvider = fields?.azureADTokenProvider;
|
|
37
|
+
if (!this.azureOpenAIApiKey && !this.apiKey && !this.azureADTokenProvider) throw new Error("Azure OpenAI API key or Token Provider not found");
|
|
38
|
+
}
|
|
39
|
+
function _getAzureClientOptions(options) {
|
|
40
|
+
if (!this.client) {
|
|
41
|
+
const openAIEndpointConfig = {
|
|
42
|
+
azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,
|
|
43
|
+
azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,
|
|
44
|
+
azureOpenAIApiKey: this.azureOpenAIApiKey,
|
|
45
|
+
azureOpenAIBasePath: this.azureOpenAIBasePath,
|
|
46
|
+
azureADTokenProvider: this.azureADTokenProvider,
|
|
47
|
+
baseURL: this.clientConfig.baseURL,
|
|
48
|
+
azureOpenAIEndpoint: this.azureOpenAIEndpoint
|
|
49
|
+
};
|
|
50
|
+
const endpoint = require_azure.getEndpoint(openAIEndpointConfig);
|
|
51
|
+
const params = {
|
|
52
|
+
...this.clientConfig,
|
|
53
|
+
baseURL: endpoint,
|
|
54
|
+
timeout: this.timeout,
|
|
55
|
+
maxRetries: 0
|
|
56
|
+
};
|
|
57
|
+
if (!this.azureADTokenProvider) params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;
|
|
58
|
+
if (!params.baseURL) delete params.baseURL;
|
|
59
|
+
let env = (0, __langchain_core_utils_env.getEnv)();
|
|
60
|
+
if (env === "node" || env === "deno") env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;
|
|
61
|
+
const defaultHeaders = require_azure.normalizeHeaders(params.defaultHeaders);
|
|
62
|
+
params.defaultHeaders = {
|
|
63
|
+
...params.defaultHeaders,
|
|
64
|
+
"User-Agent": defaultHeaders["User-Agent"] ? `langchainjs-azure-openai/2.0.0 (${env})${defaultHeaders["User-Agent"]}` : `langchainjs-azure-openai/2.0.0 (${env})`
|
|
65
|
+
};
|
|
66
|
+
this.client = new openai.AzureOpenAI({
|
|
67
|
+
apiVersion: this.azureOpenAIApiVersion,
|
|
68
|
+
azureADTokenProvider: this.azureADTokenProvider,
|
|
69
|
+
deployment: this.azureOpenAIApiDeploymentName,
|
|
70
|
+
...params
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const requestOptions = {
|
|
74
|
+
...this.clientConfig,
|
|
75
|
+
...options
|
|
76
|
+
};
|
|
77
|
+
if (this.azureOpenAIApiKey) {
|
|
78
|
+
requestOptions.headers = {
|
|
79
|
+
"api-key": this.azureOpenAIApiKey,
|
|
80
|
+
...requestOptions.headers
|
|
81
|
+
};
|
|
82
|
+
requestOptions.query = {
|
|
83
|
+
"api-version": this.azureOpenAIApiVersion,
|
|
84
|
+
...requestOptions.query
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return requestOptions;
|
|
88
|
+
}
|
|
89
|
+
function _serializeAzureChat(input) {
|
|
90
|
+
const json = input;
|
|
91
|
+
function isRecord(obj) {
|
|
92
|
+
return typeof obj === "object" && obj != null;
|
|
93
|
+
}
|
|
94
|
+
if (isRecord(json) && isRecord(json.kwargs)) {
|
|
95
|
+
delete json.kwargs.azure_openai_base_path;
|
|
96
|
+
delete json.kwargs.azure_openai_api_deployment_name;
|
|
97
|
+
delete json.kwargs.azure_openai_api_key;
|
|
98
|
+
delete json.kwargs.azure_openai_api_version;
|
|
99
|
+
delete json.kwargs.azure_open_ai_base_path;
|
|
100
|
+
if (!json.kwargs.azure_endpoint && this.azureOpenAIEndpoint) json.kwargs.azure_endpoint = this.azureOpenAIEndpoint;
|
|
101
|
+
if (!json.kwargs.azure_endpoint && this.azureOpenAIBasePath) {
|
|
102
|
+
const parts = this.azureOpenAIBasePath.split("/openai/deployments/");
|
|
103
|
+
if (parts.length === 2 && parts[0].startsWith("http")) {
|
|
104
|
+
const [endpoint] = parts;
|
|
105
|
+
json.kwargs.azure_endpoint = endpoint;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!json.kwargs.azure_endpoint && this.azureOpenAIApiInstanceName) json.kwargs.azure_endpoint = `https://${this.azureOpenAIApiInstanceName}.openai.azure.com/`;
|
|
109
|
+
if (!json.kwargs.deployment_name && this.azureOpenAIApiDeploymentName) json.kwargs.deployment_name = this.azureOpenAIApiDeploymentName;
|
|
110
|
+
if (!json.kwargs.deployment_name && this.azureOpenAIBasePath) {
|
|
111
|
+
const parts = this.azureOpenAIBasePath.split("/openai/deployments/");
|
|
112
|
+
if (parts.length === 2) {
|
|
113
|
+
const [, deployment] = parts;
|
|
114
|
+
json.kwargs.deployment_name = deployment;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (json.kwargs.azure_endpoint && json.kwargs.deployment_name && json.kwargs.openai_api_base) delete json.kwargs.openai_api_base;
|
|
118
|
+
if (json.kwargs.azure_openai_api_instance_name && json.kwargs.azure_endpoint) delete json.kwargs.azure_openai_api_instance_name;
|
|
119
|
+
}
|
|
120
|
+
return json;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
//#endregion
|
|
124
|
+
exports.AZURE_ALIASES = AZURE_ALIASES;
|
|
125
|
+
exports.AZURE_SECRETS = AZURE_SECRETS;
|
|
126
|
+
exports.AZURE_SERIALIZABLE_KEYS = AZURE_SERIALIZABLE_KEYS;
|
|
127
|
+
exports._constructAzureFields = _constructAzureFields;
|
|
128
|
+
exports._getAzureClientOptions = _getAzureClientOptions;
|
|
129
|
+
exports._serializeAzureChat = _serializeAzureChat;
|
|
130
|
+
//# sourceMappingURL=common.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.cjs","names":["fields?: AzureChatOpenAIFields","options: OpenAICoreRequestOptions | undefined","openAIEndpointConfig: OpenAIEndpointConfig","getEndpoint","normalizeHeaders","AzureOpenAIClient","input: Serialized","obj: unknown"],"sources":["../../../src/azure/chat_models/common.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 { ChatOpenAICallOptions } from \"../../chat_models/index.js\";\nimport {\n OpenAIEndpointConfig,\n getEndpoint,\n normalizeHeaders,\n} from \"../../utils/azure.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport {\n BaseChatOpenAI,\n BaseChatOpenAIFields,\n} from \"../../chat_models/base.js\";\n\nexport const 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\nexport const AZURE_SECRETS = {\n azureOpenAIApiKey: \"AZURE_OPENAI_API_KEY\",\n};\n\nexport const AZURE_SERIALIZABLE_KEYS = [\n \"azureOpenAIApiKey\",\n \"azureOpenAIApiVersion\",\n \"azureOpenAIBasePath\",\n \"azureOpenAIEndpoint\",\n \"azureOpenAIApiInstanceName\",\n \"azureOpenAIApiDeploymentName\",\n \"deploymentName\",\n \"openAIApiKey\",\n \"openAIApiVersion\",\n];\n\nexport interface 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\nexport function _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\nexport function _getAzureClientOptions(\n this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>,\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 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\nexport function _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"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AzureOpenAIChatInput } from "../../types.cjs";
|
|
2
|
+
import { BaseChatOpenAIFields } from "../../chat_models/base.cjs";
|
|
3
|
+
import { Serialized } from "@langchain/core/load/serializable";
|
|
4
|
+
|
|
5
|
+
//#region src/azure/chat_models/common.d.ts
|
|
6
|
+
|
|
7
|
+
interface AzureChatOpenAIFields extends BaseChatOpenAIFields, Partial<AzureOpenAIChatInput> {
|
|
8
|
+
/**
|
|
9
|
+
* Whether to use the responses API for all requests. If `false` the responses API will be used
|
|
10
|
+
* only when required in order to fulfill the request.
|
|
11
|
+
*/
|
|
12
|
+
useResponsesApi?: boolean;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { AzureChatOpenAIFields };
|
|
16
|
+
//# sourceMappingURL=common.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.cts","names":["Serialized","ChatOpenAICallOptions","AzureOpenAIChatInput","OpenAICoreRequestOptions","BaseChatOpenAI","BaseChatOpenAIFields","AZURE_ALIASES","AZURE_SECRETS","AZURE_SERIALIZABLE_KEYS","AzureChatOpenAIFields","Partial","_constructAzureFields","_getAzureClientOptions","_serializeAzureChat"],"sources":["../../../src/azure/chat_models/common.d.ts"],"sourcesContent":["import type { Serialized } from \"@langchain/core/load/serializable\";\nimport { ChatOpenAICallOptions } from \"../../chat_models/index.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport { BaseChatOpenAI, BaseChatOpenAIFields } from \"../../chat_models/base.js\";\nexport declare const AZURE_ALIASES: {\n openAIApiKey: string;\n openAIApiVersion: string;\n openAIBasePath: string;\n deploymentName: string;\n azureOpenAIEndpoint: string;\n azureOpenAIApiVersion: string;\n azureOpenAIBasePath: string;\n azureOpenAIApiDeploymentName: string;\n};\nexport declare const AZURE_SECRETS: {\n azureOpenAIApiKey: string;\n};\nexport declare const AZURE_SERIALIZABLE_KEYS: string[];\nexport interface 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}\nexport declare function _constructAzureFields(this: Partial<AzureOpenAIChatInput>, fields?: AzureChatOpenAIFields): void;\nexport declare function _getAzureClientOptions(this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>, options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;\nexport declare function _serializeAzureChat(this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>, input: Serialized): Serialized;\n"],"mappings":";;;;;;UAkBiBS,qBAAAA,SAA8BJ,sBAAsBK,QAAQR"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AzureOpenAIChatInput } from "../../types.js";
|
|
2
|
+
import { BaseChatOpenAIFields } from "../../chat_models/base.js";
|
|
3
|
+
import { Serialized } from "@langchain/core/load/serializable";
|
|
4
|
+
|
|
5
|
+
//#region src/azure/chat_models/common.d.ts
|
|
6
|
+
|
|
7
|
+
interface AzureChatOpenAIFields extends BaseChatOpenAIFields, Partial<AzureOpenAIChatInput> {
|
|
8
|
+
/**
|
|
9
|
+
* Whether to use the responses API for all requests. If `false` the responses API will be used
|
|
10
|
+
* only when required in order to fulfill the request.
|
|
11
|
+
*/
|
|
12
|
+
useResponsesApi?: boolean;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { AzureChatOpenAIFields };
|
|
16
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","names":["Serialized","ChatOpenAICallOptions","AzureOpenAIChatInput","OpenAICoreRequestOptions","BaseChatOpenAI","BaseChatOpenAIFields","AZURE_ALIASES","AZURE_SECRETS","AZURE_SERIALIZABLE_KEYS","AzureChatOpenAIFields","Partial","_constructAzureFields","_getAzureClientOptions","_serializeAzureChat"],"sources":["../../../src/azure/chat_models/common.d.ts"],"sourcesContent":["import type { Serialized } from \"@langchain/core/load/serializable\";\nimport { ChatOpenAICallOptions } from \"../../chat_models/index.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport { BaseChatOpenAI, BaseChatOpenAIFields } from \"../../chat_models/base.js\";\nexport declare const AZURE_ALIASES: {\n openAIApiKey: string;\n openAIApiVersion: string;\n openAIBasePath: string;\n deploymentName: string;\n azureOpenAIEndpoint: string;\n azureOpenAIApiVersion: string;\n azureOpenAIBasePath: string;\n azureOpenAIApiDeploymentName: string;\n};\nexport declare const AZURE_SECRETS: {\n azureOpenAIApiKey: string;\n};\nexport declare const AZURE_SERIALIZABLE_KEYS: string[];\nexport interface 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}\nexport declare function _constructAzureFields(this: Partial<AzureOpenAIChatInput>, fields?: AzureChatOpenAIFields): void;\nexport declare function _getAzureClientOptions(this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>, options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;\nexport declare function _serializeAzureChat(this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>, input: Serialized): Serialized;\n"],"mappings":";;;;;;UAkBiBS,qBAAAA,SAA8BJ,sBAAsBK,QAAQR"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { getEndpoint, normalizeHeaders } from "../../utils/azure.js";
|
|
2
|
+
import { AzureOpenAI } from "openai";
|
|
3
|
+
import { getEnv, getEnvironmentVariable } from "@langchain/core/utils/env";
|
|
4
|
+
|
|
5
|
+
//#region src/azure/chat_models/common.ts
|
|
6
|
+
const AZURE_ALIASES = {
|
|
7
|
+
openAIApiKey: "openai_api_key",
|
|
8
|
+
openAIApiVersion: "openai_api_version",
|
|
9
|
+
openAIBasePath: "openai_api_base",
|
|
10
|
+
deploymentName: "deployment_name",
|
|
11
|
+
azureOpenAIEndpoint: "azure_endpoint",
|
|
12
|
+
azureOpenAIApiVersion: "openai_api_version",
|
|
13
|
+
azureOpenAIBasePath: "openai_api_base",
|
|
14
|
+
azureOpenAIApiDeploymentName: "deployment_name"
|
|
15
|
+
};
|
|
16
|
+
const AZURE_SECRETS = { azureOpenAIApiKey: "AZURE_OPENAI_API_KEY" };
|
|
17
|
+
const AZURE_SERIALIZABLE_KEYS = [
|
|
18
|
+
"azureOpenAIApiKey",
|
|
19
|
+
"azureOpenAIApiVersion",
|
|
20
|
+
"azureOpenAIBasePath",
|
|
21
|
+
"azureOpenAIEndpoint",
|
|
22
|
+
"azureOpenAIApiInstanceName",
|
|
23
|
+
"azureOpenAIApiDeploymentName",
|
|
24
|
+
"deploymentName",
|
|
25
|
+
"openAIApiKey",
|
|
26
|
+
"openAIApiVersion"
|
|
27
|
+
];
|
|
28
|
+
function _constructAzureFields(fields) {
|
|
29
|
+
this.azureOpenAIApiKey = fields?.azureOpenAIApiKey ?? fields?.openAIApiKey ?? fields?.apiKey ?? getEnvironmentVariable("AZURE_OPENAI_API_KEY");
|
|
30
|
+
this.azureOpenAIApiInstanceName = fields?.azureOpenAIApiInstanceName ?? getEnvironmentVariable("AZURE_OPENAI_API_INSTANCE_NAME");
|
|
31
|
+
this.azureOpenAIApiDeploymentName = fields?.azureOpenAIApiDeploymentName ?? fields?.deploymentName ?? getEnvironmentVariable("AZURE_OPENAI_API_DEPLOYMENT_NAME");
|
|
32
|
+
this.azureOpenAIApiVersion = fields?.azureOpenAIApiVersion ?? fields?.openAIApiVersion ?? getEnvironmentVariable("AZURE_OPENAI_API_VERSION");
|
|
33
|
+
this.azureOpenAIBasePath = fields?.azureOpenAIBasePath ?? getEnvironmentVariable("AZURE_OPENAI_BASE_PATH");
|
|
34
|
+
this.azureOpenAIEndpoint = fields?.azureOpenAIEndpoint ?? getEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
|
|
35
|
+
this.azureADTokenProvider = fields?.azureADTokenProvider;
|
|
36
|
+
if (!this.azureOpenAIApiKey && !this.apiKey && !this.azureADTokenProvider) throw new Error("Azure OpenAI API key or Token Provider not found");
|
|
37
|
+
}
|
|
38
|
+
function _getAzureClientOptions(options) {
|
|
39
|
+
if (!this.client) {
|
|
40
|
+
const openAIEndpointConfig = {
|
|
41
|
+
azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,
|
|
42
|
+
azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,
|
|
43
|
+
azureOpenAIApiKey: this.azureOpenAIApiKey,
|
|
44
|
+
azureOpenAIBasePath: this.azureOpenAIBasePath,
|
|
45
|
+
azureADTokenProvider: this.azureADTokenProvider,
|
|
46
|
+
baseURL: this.clientConfig.baseURL,
|
|
47
|
+
azureOpenAIEndpoint: this.azureOpenAIEndpoint
|
|
48
|
+
};
|
|
49
|
+
const endpoint = getEndpoint(openAIEndpointConfig);
|
|
50
|
+
const params = {
|
|
51
|
+
...this.clientConfig,
|
|
52
|
+
baseURL: endpoint,
|
|
53
|
+
timeout: this.timeout,
|
|
54
|
+
maxRetries: 0
|
|
55
|
+
};
|
|
56
|
+
if (!this.azureADTokenProvider) params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;
|
|
57
|
+
if (!params.baseURL) delete params.baseURL;
|
|
58
|
+
let env = getEnv();
|
|
59
|
+
if (env === "node" || env === "deno") env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;
|
|
60
|
+
const defaultHeaders = normalizeHeaders(params.defaultHeaders);
|
|
61
|
+
params.defaultHeaders = {
|
|
62
|
+
...params.defaultHeaders,
|
|
63
|
+
"User-Agent": defaultHeaders["User-Agent"] ? `langchainjs-azure-openai/2.0.0 (${env})${defaultHeaders["User-Agent"]}` : `langchainjs-azure-openai/2.0.0 (${env})`
|
|
64
|
+
};
|
|
65
|
+
this.client = new AzureOpenAI({
|
|
66
|
+
apiVersion: this.azureOpenAIApiVersion,
|
|
67
|
+
azureADTokenProvider: this.azureADTokenProvider,
|
|
68
|
+
deployment: this.azureOpenAIApiDeploymentName,
|
|
69
|
+
...params
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const requestOptions = {
|
|
73
|
+
...this.clientConfig,
|
|
74
|
+
...options
|
|
75
|
+
};
|
|
76
|
+
if (this.azureOpenAIApiKey) {
|
|
77
|
+
requestOptions.headers = {
|
|
78
|
+
"api-key": this.azureOpenAIApiKey,
|
|
79
|
+
...requestOptions.headers
|
|
80
|
+
};
|
|
81
|
+
requestOptions.query = {
|
|
82
|
+
"api-version": this.azureOpenAIApiVersion,
|
|
83
|
+
...requestOptions.query
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return requestOptions;
|
|
87
|
+
}
|
|
88
|
+
function _serializeAzureChat(input) {
|
|
89
|
+
const json = input;
|
|
90
|
+
function isRecord(obj) {
|
|
91
|
+
return typeof obj === "object" && obj != null;
|
|
92
|
+
}
|
|
93
|
+
if (isRecord(json) && isRecord(json.kwargs)) {
|
|
94
|
+
delete json.kwargs.azure_openai_base_path;
|
|
95
|
+
delete json.kwargs.azure_openai_api_deployment_name;
|
|
96
|
+
delete json.kwargs.azure_openai_api_key;
|
|
97
|
+
delete json.kwargs.azure_openai_api_version;
|
|
98
|
+
delete json.kwargs.azure_open_ai_base_path;
|
|
99
|
+
if (!json.kwargs.azure_endpoint && this.azureOpenAIEndpoint) json.kwargs.azure_endpoint = this.azureOpenAIEndpoint;
|
|
100
|
+
if (!json.kwargs.azure_endpoint && this.azureOpenAIBasePath) {
|
|
101
|
+
const parts = this.azureOpenAIBasePath.split("/openai/deployments/");
|
|
102
|
+
if (parts.length === 2 && parts[0].startsWith("http")) {
|
|
103
|
+
const [endpoint] = parts;
|
|
104
|
+
json.kwargs.azure_endpoint = endpoint;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (!json.kwargs.azure_endpoint && this.azureOpenAIApiInstanceName) json.kwargs.azure_endpoint = `https://${this.azureOpenAIApiInstanceName}.openai.azure.com/`;
|
|
108
|
+
if (!json.kwargs.deployment_name && this.azureOpenAIApiDeploymentName) json.kwargs.deployment_name = this.azureOpenAIApiDeploymentName;
|
|
109
|
+
if (!json.kwargs.deployment_name && this.azureOpenAIBasePath) {
|
|
110
|
+
const parts = this.azureOpenAIBasePath.split("/openai/deployments/");
|
|
111
|
+
if (parts.length === 2) {
|
|
112
|
+
const [, deployment] = parts;
|
|
113
|
+
json.kwargs.deployment_name = deployment;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (json.kwargs.azure_endpoint && json.kwargs.deployment_name && json.kwargs.openai_api_base) delete json.kwargs.openai_api_base;
|
|
117
|
+
if (json.kwargs.azure_openai_api_instance_name && json.kwargs.azure_endpoint) delete json.kwargs.azure_openai_api_instance_name;
|
|
118
|
+
}
|
|
119
|
+
return json;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
//#endregion
|
|
123
|
+
export { AZURE_ALIASES, AZURE_SECRETS, AZURE_SERIALIZABLE_KEYS, _constructAzureFields, _getAzureClientOptions, _serializeAzureChat };
|
|
124
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","names":["fields?: AzureChatOpenAIFields","options: OpenAICoreRequestOptions | undefined","openAIEndpointConfig: OpenAIEndpointConfig","AzureOpenAIClient","input: Serialized","obj: unknown"],"sources":["../../../src/azure/chat_models/common.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 { ChatOpenAICallOptions } from \"../../chat_models/index.js\";\nimport {\n OpenAIEndpointConfig,\n getEndpoint,\n normalizeHeaders,\n} from \"../../utils/azure.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport {\n BaseChatOpenAI,\n BaseChatOpenAIFields,\n} from \"../../chat_models/base.js\";\n\nexport const 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\nexport const AZURE_SECRETS = {\n azureOpenAIApiKey: \"AZURE_OPENAI_API_KEY\",\n};\n\nexport const AZURE_SERIALIZABLE_KEYS = [\n \"azureOpenAIApiKey\",\n \"azureOpenAIApiVersion\",\n \"azureOpenAIBasePath\",\n \"azureOpenAIEndpoint\",\n \"azureOpenAIApiInstanceName\",\n \"azureOpenAIApiDeploymentName\",\n \"deploymentName\",\n \"openAIApiKey\",\n \"openAIApiVersion\",\n];\n\nexport interface 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\nexport function _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\nexport function _getAzureClientOptions(\n this: BaseChatOpenAI<ChatOpenAICallOptions> & Partial<AzureOpenAIChatInput>,\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 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\nexport function _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"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const require_completions = require('../../chat_models/completions.cjs');
|
|
2
|
+
const require_common = require('./common.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/azure/chat_models/completions.ts
|
|
5
|
+
var AzureChatOpenAICompletions = class extends require_completions.ChatOpenAICompletions {
|
|
6
|
+
azureOpenAIApiVersion;
|
|
7
|
+
azureOpenAIApiKey;
|
|
8
|
+
azureADTokenProvider;
|
|
9
|
+
azureOpenAIApiInstanceName;
|
|
10
|
+
azureOpenAIApiDeploymentName;
|
|
11
|
+
azureOpenAIBasePath;
|
|
12
|
+
azureOpenAIEndpoint;
|
|
13
|
+
_llmType() {
|
|
14
|
+
return "azure_openai";
|
|
15
|
+
}
|
|
16
|
+
get lc_aliases() {
|
|
17
|
+
return {
|
|
18
|
+
...super.lc_aliases,
|
|
19
|
+
...require_common.AZURE_ALIASES
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
get lc_secrets() {
|
|
23
|
+
return {
|
|
24
|
+
...super.lc_secrets,
|
|
25
|
+
...require_common.AZURE_SECRETS
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
get lc_serializable_keys() {
|
|
29
|
+
return [...super.lc_serializable_keys, ...require_common.AZURE_SERIALIZABLE_KEYS];
|
|
30
|
+
}
|
|
31
|
+
getLsParams(options) {
|
|
32
|
+
const params = super.getLsParams(options);
|
|
33
|
+
params.ls_provider = "azure";
|
|
34
|
+
return params;
|
|
35
|
+
}
|
|
36
|
+
constructor(fields) {
|
|
37
|
+
super(fields);
|
|
38
|
+
require_common._constructAzureFields.call(this, fields);
|
|
39
|
+
}
|
|
40
|
+
_getClientOptions(options) {
|
|
41
|
+
return require_common._getAzureClientOptions.call(this, options);
|
|
42
|
+
}
|
|
43
|
+
toJSON() {
|
|
44
|
+
return require_common._serializeAzureChat.call(this, super.toJSON());
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
exports.AzureChatOpenAICompletions = AzureChatOpenAICompletions;
|
|
50
|
+
//# sourceMappingURL=completions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions.cjs","names":["ChatOpenAICompletions","AZURE_ALIASES","AZURE_SECRETS","AZURE_SERIALIZABLE_KEYS","options: this[\"ParsedCallOptions\"]","fields?: AzureChatOpenAIFields","_constructAzureFields","options: OpenAICoreRequestOptions | undefined","_getAzureClientOptions","_serializeAzureChat"],"sources":["../../../src/azure/chat_models/completions.ts"],"sourcesContent":["import { LangSmithParams } from \"@langchain/core/language_models/chat_models\";\nimport { Serialized } from \"@langchain/core/load/serializable\";\nimport {\n ChatOpenAICompletions,\n ChatOpenAICompletionsCallOptions,\n} from \"../../chat_models/completions.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport {\n _constructAzureFields,\n _getAzureClientOptions,\n _serializeAzureChat,\n AZURE_ALIASES,\n AZURE_SECRETS,\n AZURE_SERIALIZABLE_KEYS,\n AzureChatOpenAIFields,\n} from \"./common.js\";\n\nexport class 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"],"mappings":";;;;AAiBA,IAAa,6BAAb,cAGUA,0CAEV;CACE;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,WAAmB;AACjB,SAAO;CACR;CAED,IAAI,aAAqC;AACvC,SAAO;GACL,GAAG,MAAM;GACT,GAAGC;EACJ;CACF;CAED,IAAI,aAAoD;AACtD,SAAO;GACL,GAAG,MAAM;GACT,GAAGC;EACJ;CACF;CAED,IAAI,uBAAiC;AACnC,SAAO,CAAC,GAAG,MAAM,sBAAsB,GAAGC,sCAAwB;CACnE;CAED,YAAYC,SAAqD;EAC/D,MAAM,SAAS,MAAM,YAAY,QAAQ;EACzC,OAAO,cAAc;AACrB,SAAO;CACR;CAED,YAAYC,QAAgC;EAC1C,MAAM,OAAO;EACbC,qCAAsB,KAAK,MAAM,OAAO;CACzC;CAED,AAAS,kBACPC,SAC0B;AAC1B,SAAOC,sCAAuB,KAAK,MAAM,QAAQ;CAClD;CAED,AAAS,SAAqB;AAC5B,SAAOC,mCAAoB,KAAK,MAAM,MAAM,QAAQ,CAAC;CACtD;AACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AzureOpenAIChatInput, OpenAICoreRequestOptions } from "../../types.cjs";
|
|
2
|
+
import { ChatOpenAICompletions, ChatOpenAICompletionsCallOptions } from "../../chat_models/completions.cjs";
|
|
3
|
+
import { AzureChatOpenAIFields } from "./common.cjs";
|
|
4
|
+
import { LangSmithParams } from "@langchain/core/language_models/chat_models";
|
|
5
|
+
import { Serialized } from "@langchain/core/load/serializable";
|
|
6
|
+
|
|
7
|
+
//#region src/azure/chat_models/completions.d.ts
|
|
8
|
+
declare class AzureChatOpenAICompletions<CallOptions extends ChatOpenAICompletionsCallOptions = ChatOpenAICompletionsCallOptions> extends ChatOpenAICompletions<CallOptions> implements Partial<AzureOpenAIChatInput> {
|
|
9
|
+
azureOpenAIApiVersion?: string;
|
|
10
|
+
azureOpenAIApiKey?: string;
|
|
11
|
+
azureADTokenProvider?: () => Promise<string>;
|
|
12
|
+
azureOpenAIApiInstanceName?: string;
|
|
13
|
+
azureOpenAIApiDeploymentName?: string;
|
|
14
|
+
azureOpenAIBasePath?: string;
|
|
15
|
+
azureOpenAIEndpoint?: string;
|
|
16
|
+
_llmType(): string;
|
|
17
|
+
get lc_aliases(): Record<string, string>;
|
|
18
|
+
get lc_secrets(): {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
} | undefined;
|
|
21
|
+
get lc_serializable_keys(): string[];
|
|
22
|
+
getLsParams(options: this["ParsedCallOptions"]): LangSmithParams;
|
|
23
|
+
constructor(fields?: AzureChatOpenAIFields);
|
|
24
|
+
_getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
|
|
25
|
+
toJSON(): Serialized;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { AzureChatOpenAICompletions };
|
|
29
|
+
//# sourceMappingURL=completions.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions.d.cts","names":["LangSmithParams","Serialized","ChatOpenAICompletions","ChatOpenAICompletionsCallOptions","AzureOpenAIChatInput","OpenAICoreRequestOptions","AzureChatOpenAIFields","AzureChatOpenAICompletions","CallOptions","Promise","Record","Partial"],"sources":["../../../src/azure/chat_models/completions.d.ts"],"sourcesContent":["import { LangSmithParams } from \"@langchain/core/language_models/chat_models\";\nimport { Serialized } from \"@langchain/core/load/serializable\";\nimport { ChatOpenAICompletions, ChatOpenAICompletionsCallOptions } from \"../../chat_models/completions.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport { AzureChatOpenAIFields } from \"./common.js\";\nexport declare class AzureChatOpenAICompletions<CallOptions extends ChatOpenAICompletionsCallOptions = ChatOpenAICompletionsCallOptions> extends ChatOpenAICompletions<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 _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;\n toJSON(): Serialized;\n}\n"],"mappings":";;;;;;;cAKqBO,+CAA+CJ,mCAAmCA,0CAA0CD,sBAAsBM,wBAAwBG,QAAQP;;EAAlLG,iBAAAA,CAAAA,EAAAA,MAAAA;EAA0B,oBAAA,CAAA,EAAA,GAAA,GAGdE,OAHc,CAAA,MAAA,CAAA;EAAA,0BAAqBN,CAAAA,EAAAA,MAAAA;EAAgC,4BAAGA,CAAAA,EAAAA,MAAAA;EAAgC,mBAAgCK,CAAAA,EAAAA,MAAAA;EAAW,mBAAqBJ,CAAAA,EAAAA,MAAAA;EAAoB,QAG1LK,CAAAA,CAAAA,EAAAA,MAAAA;EAAO,IAMlBC,UAAAA,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;EAAM,IAKyBV,UAAAA,CAAAA,CAAAA,EAAAA;IAC5BM,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAAqB,CAAA,GACfD,SAAAA;EAAwB,IAAeA,oBAAAA,CAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAAwB,WAChFJ,CAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAHuCD,eAGvCC;EAAU,WAjByHC,CAAAA,MAAAA,CAAAA,EAexHI,qBAfwHJ;EAAqB,iBAAyBS,CAAAA,OAAAA,EAgBhKN,wBAhBgKM,GAAAA,SAAAA,CAAAA,EAgBzHN,wBAhByHM;EAAO,MAAA,CAAA,CAAA,EAiBxLV,UAjBwL"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AzureOpenAIChatInput, OpenAICoreRequestOptions } from "../../types.js";
|
|
2
|
+
import { ChatOpenAICompletions, ChatOpenAICompletionsCallOptions } from "../../chat_models/completions.js";
|
|
3
|
+
import { AzureChatOpenAIFields } from "./common.js";
|
|
4
|
+
import { LangSmithParams } from "@langchain/core/language_models/chat_models";
|
|
5
|
+
import { Serialized } from "@langchain/core/load/serializable";
|
|
6
|
+
|
|
7
|
+
//#region src/azure/chat_models/completions.d.ts
|
|
8
|
+
declare class AzureChatOpenAICompletions<CallOptions extends ChatOpenAICompletionsCallOptions = ChatOpenAICompletionsCallOptions> extends ChatOpenAICompletions<CallOptions> implements Partial<AzureOpenAIChatInput> {
|
|
9
|
+
azureOpenAIApiVersion?: string;
|
|
10
|
+
azureOpenAIApiKey?: string;
|
|
11
|
+
azureADTokenProvider?: () => Promise<string>;
|
|
12
|
+
azureOpenAIApiInstanceName?: string;
|
|
13
|
+
azureOpenAIApiDeploymentName?: string;
|
|
14
|
+
azureOpenAIBasePath?: string;
|
|
15
|
+
azureOpenAIEndpoint?: string;
|
|
16
|
+
_llmType(): string;
|
|
17
|
+
get lc_aliases(): Record<string, string>;
|
|
18
|
+
get lc_secrets(): {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
} | undefined;
|
|
21
|
+
get lc_serializable_keys(): string[];
|
|
22
|
+
getLsParams(options: this["ParsedCallOptions"]): LangSmithParams;
|
|
23
|
+
constructor(fields?: AzureChatOpenAIFields);
|
|
24
|
+
_getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
|
|
25
|
+
toJSON(): Serialized;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { AzureChatOpenAICompletions };
|
|
29
|
+
//# sourceMappingURL=completions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions.d.ts","names":["LangSmithParams","Serialized","ChatOpenAICompletions","ChatOpenAICompletionsCallOptions","AzureOpenAIChatInput","OpenAICoreRequestOptions","AzureChatOpenAIFields","AzureChatOpenAICompletions","CallOptions","Promise","Record","Partial"],"sources":["../../../src/azure/chat_models/completions.d.ts"],"sourcesContent":["import { LangSmithParams } from \"@langchain/core/language_models/chat_models\";\nimport { Serialized } from \"@langchain/core/load/serializable\";\nimport { ChatOpenAICompletions, ChatOpenAICompletionsCallOptions } from \"../../chat_models/completions.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport { AzureChatOpenAIFields } from \"./common.js\";\nexport declare class AzureChatOpenAICompletions<CallOptions extends ChatOpenAICompletionsCallOptions = ChatOpenAICompletionsCallOptions> extends ChatOpenAICompletions<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 _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;\n toJSON(): Serialized;\n}\n"],"mappings":";;;;;;;cAKqBO,+CAA+CJ,mCAAmCA,0CAA0CD,sBAAsBM,wBAAwBG,QAAQP;;EAAlLG,iBAAAA,CAAAA,EAAAA,MAAAA;EAA0B,oBAAA,CAAA,EAAA,GAAA,GAGdE,OAHc,CAAA,MAAA,CAAA;EAAA,0BAAqBN,CAAAA,EAAAA,MAAAA;EAAgC,4BAAGA,CAAAA,EAAAA,MAAAA;EAAgC,mBAAgCK,CAAAA,EAAAA,MAAAA;EAAW,mBAAqBJ,CAAAA,EAAAA,MAAAA;EAAoB,QAG1LK,CAAAA,CAAAA,EAAAA,MAAAA;EAAO,IAMlBC,UAAAA,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;EAAM,IAKyBV,UAAAA,CAAAA,CAAAA,EAAAA;IAC5BM,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAAqB,CAAA,GACfD,SAAAA;EAAwB,IAAeA,oBAAAA,CAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAAwB,WAChFJ,CAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAHuCD,eAGvCC;EAAU,WAjByHC,CAAAA,MAAAA,CAAAA,EAexHI,qBAfwHJ;EAAqB,iBAAyBS,CAAAA,OAAAA,EAgBhKN,wBAhBgKM,GAAAA,SAAAA,CAAAA,EAgBzHN,wBAhByHM;EAAO,MAAA,CAAA,CAAA,EAiBxLV,UAjBwL"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ChatOpenAICompletions } from "../../chat_models/completions.js";
|
|
2
|
+
import { AZURE_ALIASES, AZURE_SECRETS, AZURE_SERIALIZABLE_KEYS, _constructAzureFields, _getAzureClientOptions, _serializeAzureChat } from "./common.js";
|
|
3
|
+
|
|
4
|
+
//#region src/azure/chat_models/completions.ts
|
|
5
|
+
var AzureChatOpenAICompletions = class extends ChatOpenAICompletions {
|
|
6
|
+
azureOpenAIApiVersion;
|
|
7
|
+
azureOpenAIApiKey;
|
|
8
|
+
azureADTokenProvider;
|
|
9
|
+
azureOpenAIApiInstanceName;
|
|
10
|
+
azureOpenAIApiDeploymentName;
|
|
11
|
+
azureOpenAIBasePath;
|
|
12
|
+
azureOpenAIEndpoint;
|
|
13
|
+
_llmType() {
|
|
14
|
+
return "azure_openai";
|
|
15
|
+
}
|
|
16
|
+
get lc_aliases() {
|
|
17
|
+
return {
|
|
18
|
+
...super.lc_aliases,
|
|
19
|
+
...AZURE_ALIASES
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
get lc_secrets() {
|
|
23
|
+
return {
|
|
24
|
+
...super.lc_secrets,
|
|
25
|
+
...AZURE_SECRETS
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
get lc_serializable_keys() {
|
|
29
|
+
return [...super.lc_serializable_keys, ...AZURE_SERIALIZABLE_KEYS];
|
|
30
|
+
}
|
|
31
|
+
getLsParams(options) {
|
|
32
|
+
const params = super.getLsParams(options);
|
|
33
|
+
params.ls_provider = "azure";
|
|
34
|
+
return params;
|
|
35
|
+
}
|
|
36
|
+
constructor(fields) {
|
|
37
|
+
super(fields);
|
|
38
|
+
_constructAzureFields.call(this, fields);
|
|
39
|
+
}
|
|
40
|
+
_getClientOptions(options) {
|
|
41
|
+
return _getAzureClientOptions.call(this, options);
|
|
42
|
+
}
|
|
43
|
+
toJSON() {
|
|
44
|
+
return _serializeAzureChat.call(this, super.toJSON());
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { AzureChatOpenAICompletions };
|
|
50
|
+
//# sourceMappingURL=completions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions.js","names":["options: this[\"ParsedCallOptions\"]","fields?: AzureChatOpenAIFields","options: OpenAICoreRequestOptions | undefined"],"sources":["../../../src/azure/chat_models/completions.ts"],"sourcesContent":["import { LangSmithParams } from \"@langchain/core/language_models/chat_models\";\nimport { Serialized } from \"@langchain/core/load/serializable\";\nimport {\n ChatOpenAICompletions,\n ChatOpenAICompletionsCallOptions,\n} from \"../../chat_models/completions.js\";\nimport { AzureOpenAIChatInput, OpenAICoreRequestOptions } from \"../../types.js\";\nimport {\n _constructAzureFields,\n _getAzureClientOptions,\n _serializeAzureChat,\n AZURE_ALIASES,\n AZURE_SECRETS,\n AZURE_SERIALIZABLE_KEYS,\n AzureChatOpenAIFields,\n} from \"./common.js\";\n\nexport class 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"],"mappings":";;;;AAiBA,IAAa,6BAAb,cAGU,sBAEV;CACE;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,WAAmB;AACjB,SAAO;CACR;CAED,IAAI,aAAqC;AACvC,SAAO;GACL,GAAG,MAAM;GACT,GAAG;EACJ;CACF;CAED,IAAI,aAAoD;AACtD,SAAO;GACL,GAAG,MAAM;GACT,GAAG;EACJ;CACF;CAED,IAAI,uBAAiC;AACnC,SAAO,CAAC,GAAG,MAAM,sBAAsB,GAAG,uBAAwB;CACnE;CAED,YAAYA,SAAqD;EAC/D,MAAM,SAAS,MAAM,YAAY,QAAQ;EACzC,OAAO,cAAc;AACrB,SAAO;CACR;CAED,YAAYC,QAAgC;EAC1C,MAAM,OAAO;EACb,sBAAsB,KAAK,MAAM,OAAO;CACzC;CAED,AAAS,kBACPC,SAC0B;AAC1B,SAAO,uBAAuB,KAAK,MAAM,QAAQ;CAClD;CAED,AAAS,SAAqB;AAC5B,SAAO,oBAAoB,KAAK,MAAM,MAAM,QAAQ,CAAC;CACtD;AACF"}
|