File tree 4 files changed +27
-1
lines changed
libs/langchain-openai/src
4 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,7 @@ export class AzureChatOpenAI extends ChatOpenAI {
50
50
azureOpenAIApiInstanceName : this . azureOpenAIApiInstanceName ,
51
51
azureOpenAIApiKey : this . azureOpenAIApiKey ,
52
52
azureOpenAIBasePath : this . azureOpenAIBasePath ,
53
+ azureADTokenProvider : this . azureADTokenProvider ,
53
54
baseURL : this . clientConfig . baseURL ,
54
55
} ;
55
56
@@ -70,6 +71,13 @@ export class AzureChatOpenAI extends ChatOpenAI {
70
71
delete params . baseURL ;
71
72
}
72
73
74
+ params . defaultHeaders = {
75
+ ...params . defaultHeaders ,
76
+ "User-Agent" : params . defaultHeaders ?. [ "User-Agent" ]
77
+ ? `${ params . defaultHeaders [ "User-Agent" ] } : langchainjs-azure-openai-v2`
78
+ : `langchainjs-azure-openai-v2` ,
79
+ } ;
80
+
73
81
this . client = new AzureOpenAIClient ( {
74
82
apiVersion : this . azureOpenAIApiVersion ,
75
83
azureADTokenProvider : this . azureADTokenProvider ,
Original file line number Diff line number Diff line change @@ -44,6 +44,7 @@ export class AzureOpenAIEmbeddings extends OpenAIEmbeddings {
44
44
azureOpenAIApiInstanceName : this . azureOpenAIApiInstanceName ,
45
45
azureOpenAIApiKey : this . azureOpenAIApiKey ,
46
46
azureOpenAIBasePath : this . azureOpenAIBasePath ,
47
+ azureADTokenProvider : this . azureADTokenProvider ,
47
48
baseURL : this . clientConfig . baseURL ,
48
49
} ;
49
50
@@ -64,6 +65,13 @@ export class AzureOpenAIEmbeddings extends OpenAIEmbeddings {
64
65
delete params . baseURL ;
65
66
}
66
67
68
+ params . defaultHeaders = {
69
+ ...params . defaultHeaders ,
70
+ "User-Agent" : params . defaultHeaders ?. [ "User-Agent" ]
71
+ ? `${ params . defaultHeaders [ "User-Agent" ] } : langchainjs-azure-openai-v2`
72
+ : `langchainjs-azure-openai-v2` ,
73
+ } ;
74
+
67
75
this . client = new AzureOpenAIClient ( {
68
76
apiVersion : this . azureOpenAIApiVersion ,
69
77
azureADTokenProvider : this . azureADTokenProvider ,
Original file line number Diff line number Diff line change @@ -46,6 +46,7 @@ export class AzureOpenAI extends OpenAI {
46
46
azureOpenAIApiInstanceName : this . azureOpenAIApiInstanceName ,
47
47
azureOpenAIApiKey : this . azureOpenAIApiKey ,
48
48
azureOpenAIBasePath : this . azureOpenAIBasePath ,
49
+ azureADTokenProvider : this . azureADTokenProvider ,
49
50
baseURL : this . clientConfig . baseURL ,
50
51
} ;
51
52
@@ -66,6 +67,13 @@ export class AzureOpenAI extends OpenAI {
66
67
delete params . baseURL ;
67
68
}
68
69
70
+ params . defaultHeaders = {
71
+ ...params . defaultHeaders ,
72
+ "User-Agent" : params . defaultHeaders ?. [ "User-Agent" ]
73
+ ? `${ params . defaultHeaders [ "User-Agent" ] } : langchainjs-azure-openai-v2`
74
+ : `langchainjs-azure-openai-v2` ,
75
+ } ;
76
+
69
77
this . client = new AzureOpenAIClient ( {
70
78
apiVersion : this . azureOpenAIApiVersion ,
71
79
azureADTokenProvider : this . azureADTokenProvider ,
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ export interface OpenAIEndpointConfig {
2
2
azureOpenAIApiDeploymentName ?: string ;
3
3
azureOpenAIApiInstanceName ?: string ;
4
4
azureOpenAIApiKey ?: string ;
5
+ azureADTokenProvider ?: ( ) => Promise < string > ;
5
6
azureOpenAIBasePath ?: string ;
6
7
baseURL ?: string | null ;
7
8
}
@@ -35,6 +36,7 @@ export function getEndpoint(config: OpenAIEndpointConfig) {
35
36
azureOpenAIApiKey,
36
37
azureOpenAIBasePath,
37
38
baseURL,
39
+ azureADTokenProvider,
38
40
} = config ;
39
41
40
42
if (
@@ -45,7 +47,7 @@ export function getEndpoint(config: OpenAIEndpointConfig) {
45
47
return `${ azureOpenAIBasePath } /${ azureOpenAIApiDeploymentName } ` ;
46
48
}
47
49
48
- if ( azureOpenAIApiKey ) {
50
+ if ( azureOpenAIApiKey || azureADTokenProvider ) {
49
51
if ( ! azureOpenAIApiInstanceName ) {
50
52
throw new Error (
51
53
"azureOpenAIApiInstanceName is required when using azureOpenAIApiKey"
You can’t perform that action at this time.
0 commit comments