@langchain/openai 0.5.12 → 0.5.14
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/dist/azure/chat_models.cjs +5 -2
- package/dist/azure/chat_models.d.ts +4 -4
- package/dist/azure/chat_models.js +5 -2
- package/dist/azure/embeddings.cjs +5 -8
- package/dist/azure/embeddings.d.ts +1 -1
- package/dist/azure/embeddings.js +5 -8
- package/dist/azure/llms.cjs +4 -2
- package/dist/azure/llms.js +4 -2
- package/dist/chat_models.cjs +209 -101
- package/dist/chat_models.d.ts +5 -5
- package/dist/chat_models.js +173 -98
- package/dist/embeddings.d.ts +7 -3
- package/dist/tools/dalle.d.ts +7 -2
- package/dist/types.d.ts +8 -5
- package/dist/utils/azure.cjs +1 -2
- package/dist/utils/errors.cjs +1 -2
- package/dist/utils/headers.cjs +39 -0
- package/dist/utils/headers.d.ts +8 -0
- package/dist/utils/headers.js +35 -0
- package/dist/utils/openai-format-fndef.cjs +1 -2
- package/dist/utils/openai.cjs +7 -7
- package/dist/utils/openai.js +4 -4
- package/dist/utils/prompts.cjs +1 -2
- package/dist/utils/tools.cjs +18 -3
- package/dist/utils/tools.js +17 -1
- package/package.json +10 -11
|
@@ -5,6 +5,7 @@ const openai_1 = require("openai");
|
|
|
5
5
|
const env_1 = require("@langchain/core/utils/env");
|
|
6
6
|
const chat_models_js_1 = require("../chat_models.cjs");
|
|
7
7
|
const azure_js_1 = require("../utils/azure.cjs");
|
|
8
|
+
const headers_js_1 = require("../utils/headers.cjs");
|
|
8
9
|
/**
|
|
9
10
|
* Azure OpenAI chat model integration.
|
|
10
11
|
*
|
|
@@ -558,10 +559,12 @@ class AzureChatOpenAI extends chat_models_js_1.ChatOpenAI {
|
|
|
558
559
|
if (env === "node" || env === "deno") {
|
|
559
560
|
env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;
|
|
560
561
|
}
|
|
561
|
-
const
|
|
562
|
+
const defaultHeaders = (0, headers_js_1.normalizeHeaders)(params.defaultHeaders);
|
|
562
563
|
params.defaultHeaders = {
|
|
563
564
|
...params.defaultHeaders,
|
|
564
|
-
"User-Agent":
|
|
565
|
+
"User-Agent": defaultHeaders["User-Agent"]
|
|
566
|
+
? `langchainjs-azure-openai/2.0.0 (${env})${defaultHeaders["User-Agent"]}`
|
|
567
|
+
: `langchainjs-azure-openai/2.0.0 (${env})`,
|
|
565
568
|
};
|
|
566
569
|
this.client = new openai_1.AzureOpenAI({
|
|
567
570
|
apiVersion: this.azureOpenAIApiVersion,
|
|
@@ -3,7 +3,7 @@ import { LangSmithParams, type BaseChatModelParams } from "@langchain/core/langu
|
|
|
3
3
|
import { BaseLanguageModelInput } from "@langchain/core/language_models/base";
|
|
4
4
|
import { BaseMessage } from "@langchain/core/messages";
|
|
5
5
|
import { Runnable } from "@langchain/core/runnables";
|
|
6
|
-
import {
|
|
6
|
+
import { InteropZodType } from "@langchain/core/utils/types";
|
|
7
7
|
import { ChatOpenAI, ChatOpenAIStructuredOutputMethodOptions } from "../chat_models.js";
|
|
8
8
|
import { AzureOpenAIInput, OpenAIChatInput, OpenAICoreRequestOptions } from "../types.js";
|
|
9
9
|
export type { AzureOpenAIInput };
|
|
@@ -444,12 +444,12 @@ export declare class AzureChatOpenAI extends ChatOpenAI {
|
|
|
444
444
|
getLsParams(options: this["ParsedCallOptions"]): LangSmithParams;
|
|
445
445
|
protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
|
|
446
446
|
toJSON(): any;
|
|
447
|
-
withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema:
|
|
448
|
-
withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema:
|
|
447
|
+
withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: InteropZodType<RunOutput> | Record<string, any>, config?: ChatOpenAIStructuredOutputMethodOptions<false>): Runnable<BaseLanguageModelInput, RunOutput>;
|
|
448
|
+
withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: InteropZodType<RunOutput> | Record<string, any>, config?: ChatOpenAIStructuredOutputMethodOptions<true>): Runnable<BaseLanguageModelInput, {
|
|
449
449
|
raw: BaseMessage;
|
|
450
450
|
parsed: RunOutput;
|
|
451
451
|
}>;
|
|
452
|
-
withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema:
|
|
452
|
+
withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: InteropZodType<RunOutput> | Record<string, any>, config?: ChatOpenAIStructuredOutputMethodOptions<boolean>): Runnable<BaseLanguageModelInput, RunOutput> | Runnable<BaseLanguageModelInput, {
|
|
453
453
|
raw: BaseMessage;
|
|
454
454
|
parsed: RunOutput;
|
|
455
455
|
}>;
|
|
@@ -2,6 +2,7 @@ import { AzureOpenAI as AzureOpenAIClient } from "openai";
|
|
|
2
2
|
import { getEnv, getEnvironmentVariable } from "@langchain/core/utils/env";
|
|
3
3
|
import { ChatOpenAI, } from "../chat_models.js";
|
|
4
4
|
import { getEndpoint } from "../utils/azure.js";
|
|
5
|
+
import { normalizeHeaders } from "../utils/headers.js";
|
|
5
6
|
/**
|
|
6
7
|
* Azure OpenAI chat model integration.
|
|
7
8
|
*
|
|
@@ -555,10 +556,12 @@ export class AzureChatOpenAI extends ChatOpenAI {
|
|
|
555
556
|
if (env === "node" || env === "deno") {
|
|
556
557
|
env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;
|
|
557
558
|
}
|
|
558
|
-
const
|
|
559
|
+
const defaultHeaders = normalizeHeaders(params.defaultHeaders);
|
|
559
560
|
params.defaultHeaders = {
|
|
560
561
|
...params.defaultHeaders,
|
|
561
|
-
"User-Agent":
|
|
562
|
+
"User-Agent": defaultHeaders["User-Agent"]
|
|
563
|
+
? `langchainjs-azure-openai/2.0.0 (${env})${defaultHeaders["User-Agent"]}`
|
|
564
|
+
: `langchainjs-azure-openai/2.0.0 (${env})`,
|
|
562
565
|
};
|
|
563
566
|
this.client = new AzureOpenAIClient({
|
|
564
567
|
apiVersion: this.azureOpenAIApiVersion,
|
|
@@ -6,6 +6,7 @@ const env_1 = require("@langchain/core/utils/env");
|
|
|
6
6
|
const embeddings_js_1 = require("../embeddings.cjs");
|
|
7
7
|
const azure_js_1 = require("../utils/azure.cjs");
|
|
8
8
|
const openai_js_1 = require("../utils/openai.cjs");
|
|
9
|
+
const headers_js_1 = require("../utils/headers.cjs");
|
|
9
10
|
class AzureOpenAIEmbeddings extends embeddings_js_1.OpenAIEmbeddings {
|
|
10
11
|
constructor(fields) {
|
|
11
12
|
super(fields);
|
|
@@ -90,10 +91,11 @@ class AzureOpenAIEmbeddings extends embeddings_js_1.OpenAIEmbeddings {
|
|
|
90
91
|
if (!params.baseURL) {
|
|
91
92
|
delete params.baseURL;
|
|
92
93
|
}
|
|
94
|
+
const defaultHeaders = (0, headers_js_1.normalizeHeaders)(params.defaultHeaders);
|
|
93
95
|
params.defaultHeaders = {
|
|
94
96
|
...params.defaultHeaders,
|
|
95
|
-
"User-Agent":
|
|
96
|
-
? `${
|
|
97
|
+
"User-Agent": defaultHeaders["User-Agent"]
|
|
98
|
+
? `${defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2`
|
|
97
99
|
: `langchainjs-azure-openai-v2`,
|
|
98
100
|
};
|
|
99
101
|
this.client = new openai_1.AzureOpenAI({
|
|
@@ -116,12 +118,7 @@ class AzureOpenAIEmbeddings extends embeddings_js_1.OpenAIEmbeddings {
|
|
|
116
118
|
}
|
|
117
119
|
return this.caller.call(async () => {
|
|
118
120
|
try {
|
|
119
|
-
const res = await this.client.embeddings.create(request,
|
|
120
|
-
// This unknown cast is required because OpenAI types seem to be incorrect here
|
|
121
|
-
// without it, we can't pass arbitrary keys via the `query` field in the options,
|
|
122
|
-
// which means we can't specify the `api-version` as required by Azure OpenAI.
|
|
123
|
-
// See https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning
|
|
124
|
-
requestOptions);
|
|
121
|
+
const res = await this.client.embeddings.create(request, requestOptions);
|
|
125
122
|
return res;
|
|
126
123
|
}
|
|
127
124
|
catch (e) {
|
|
@@ -17,6 +17,6 @@ export declare class AzureOpenAIEmbeddings extends OpenAIEmbeddings {
|
|
|
17
17
|
openAIApiVersion?: string;
|
|
18
18
|
});
|
|
19
19
|
protected embeddingWithRetry(request: OpenAIClient.EmbeddingCreateParams): Promise<OpenAIClient.Embeddings.CreateEmbeddingResponse & {
|
|
20
|
-
_request_id?: string | null
|
|
20
|
+
_request_id?: string | null;
|
|
21
21
|
}>;
|
|
22
22
|
}
|
package/dist/azure/embeddings.js
CHANGED
|
@@ -3,6 +3,7 @@ import { getEnvironmentVariable } from "@langchain/core/utils/env";
|
|
|
3
3
|
import { OpenAIEmbeddings } from "../embeddings.js";
|
|
4
4
|
import { getEndpoint } from "../utils/azure.js";
|
|
5
5
|
import { wrapOpenAIClientError } from "../utils/openai.js";
|
|
6
|
+
import { normalizeHeaders } from "../utils/headers.js";
|
|
6
7
|
export class AzureOpenAIEmbeddings extends OpenAIEmbeddings {
|
|
7
8
|
constructor(fields) {
|
|
8
9
|
super(fields);
|
|
@@ -87,10 +88,11 @@ export class AzureOpenAIEmbeddings extends OpenAIEmbeddings {
|
|
|
87
88
|
if (!params.baseURL) {
|
|
88
89
|
delete params.baseURL;
|
|
89
90
|
}
|
|
91
|
+
const defaultHeaders = normalizeHeaders(params.defaultHeaders);
|
|
90
92
|
params.defaultHeaders = {
|
|
91
93
|
...params.defaultHeaders,
|
|
92
|
-
"User-Agent":
|
|
93
|
-
? `${
|
|
94
|
+
"User-Agent": defaultHeaders["User-Agent"]
|
|
95
|
+
? `${defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2`
|
|
94
96
|
: `langchainjs-azure-openai-v2`,
|
|
95
97
|
};
|
|
96
98
|
this.client = new AzureOpenAIClient({
|
|
@@ -113,12 +115,7 @@ export class AzureOpenAIEmbeddings extends OpenAIEmbeddings {
|
|
|
113
115
|
}
|
|
114
116
|
return this.caller.call(async () => {
|
|
115
117
|
try {
|
|
116
|
-
const res = await this.client.embeddings.create(request,
|
|
117
|
-
// This unknown cast is required because OpenAI types seem to be incorrect here
|
|
118
|
-
// without it, we can't pass arbitrary keys via the `query` field in the options,
|
|
119
|
-
// which means we can't specify the `api-version` as required by Azure OpenAI.
|
|
120
|
-
// See https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning
|
|
121
|
-
requestOptions);
|
|
118
|
+
const res = await this.client.embeddings.create(request, requestOptions);
|
|
122
119
|
return res;
|
|
123
120
|
}
|
|
124
121
|
catch (e) {
|
package/dist/azure/llms.cjs
CHANGED
|
@@ -5,6 +5,7 @@ const openai_1 = require("openai");
|
|
|
5
5
|
const env_1 = require("@langchain/core/utils/env");
|
|
6
6
|
const llms_js_1 = require("../llms.cjs");
|
|
7
7
|
const azure_js_1 = require("../utils/azure.cjs");
|
|
8
|
+
const headers_js_1 = require("../utils/headers.cjs");
|
|
8
9
|
class AzureOpenAI extends llms_js_1.OpenAI {
|
|
9
10
|
get lc_aliases() {
|
|
10
11
|
return {
|
|
@@ -120,10 +121,11 @@ class AzureOpenAI extends llms_js_1.OpenAI {
|
|
|
120
121
|
if (!params.baseURL) {
|
|
121
122
|
delete params.baseURL;
|
|
122
123
|
}
|
|
124
|
+
const defaultHeaders = (0, headers_js_1.normalizeHeaders)(params.defaultHeaders);
|
|
123
125
|
params.defaultHeaders = {
|
|
124
126
|
...params.defaultHeaders,
|
|
125
|
-
"User-Agent":
|
|
126
|
-
? `${
|
|
127
|
+
"User-Agent": defaultHeaders["User-Agent"]
|
|
128
|
+
? `${defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2`
|
|
127
129
|
: `langchainjs-azure-openai-v2`,
|
|
128
130
|
};
|
|
129
131
|
this.client = new openai_1.AzureOpenAI({
|
package/dist/azure/llms.js
CHANGED
|
@@ -2,6 +2,7 @@ import { AzureOpenAI as AzureOpenAIClient } from "openai";
|
|
|
2
2
|
import { getEnvironmentVariable } from "@langchain/core/utils/env";
|
|
3
3
|
import { OpenAI } from "../llms.js";
|
|
4
4
|
import { getEndpoint } from "../utils/azure.js";
|
|
5
|
+
import { normalizeHeaders } from "../utils/headers.js";
|
|
5
6
|
export class AzureOpenAI extends OpenAI {
|
|
6
7
|
get lc_aliases() {
|
|
7
8
|
return {
|
|
@@ -117,10 +118,11 @@ export class AzureOpenAI extends OpenAI {
|
|
|
117
118
|
if (!params.baseURL) {
|
|
118
119
|
delete params.baseURL;
|
|
119
120
|
}
|
|
121
|
+
const defaultHeaders = normalizeHeaders(params.defaultHeaders);
|
|
120
122
|
params.defaultHeaders = {
|
|
121
123
|
...params.defaultHeaders,
|
|
122
|
-
"User-Agent":
|
|
123
|
-
? `${
|
|
124
|
+
"User-Agent": defaultHeaders["User-Agent"]
|
|
125
|
+
? `${defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2`
|
|
124
126
|
: `langchainjs-azure-openai-v2`,
|
|
125
127
|
};
|
|
126
128
|
this.client = new AzureOpenAIClient({
|