@langchain/openai 1.0.0-alpha.3 → 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/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/package.json +10 -7
- 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 -1967
- package/dist/chat_models.cjs.map +0 -1
- package/dist/chat_models.d.cts +0 -933
- package/dist/chat_models.d.cts.map +0 -1
- package/dist/chat_models.d.ts +0 -933
- package/dist/chat_models.d.ts.map +0 -1
- package/dist/chat_models.js +0 -1963
- 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
|
|
@@ -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"}
|