diff --git a/libs/langchain-openai/src/azure/chat_models.ts b/libs/langchain-openai/src/azure/chat_models.ts index 8ce4ea5bd23e..691781af78b4 100644 --- a/libs/langchain-openai/src/azure/chat_models.ts +++ b/libs/langchain-openai/src/azure/chat_models.ts @@ -3,7 +3,7 @@ import { LangSmithParams, type BaseChatModelParams, } from "@langchain/core/language_models/chat_models"; -import { getEnvironmentVariable } from "@langchain/core/utils/env"; +import { getEnv, getEnvironmentVariable } from "@langchain/core/utils/env"; import { BaseLanguageModelInput } from "@langchain/core/language_models/base"; import { BaseMessage } from "@langchain/core/messages"; import { Runnable } from "@langchain/core/runnables"; @@ -570,11 +570,17 @@ export class AzureChatOpenAI extends ChatOpenAI { delete params.baseURL; } + let env = getEnv(); + if (env === "node" || env === "deno") { + env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`; + } + + const specifiedUserAgent = params.defaultHeaders?.["User-Agent"]; params.defaultHeaders = { ...params.defaultHeaders, - "User-Agent": params.defaultHeaders?.["User-Agent"] - ? `${params.defaultHeaders["User-Agent"]}: langchainjs-azure-openai-v2` - : `langchainjs-azure-openai-v2`, + "User-Agent": `langchainjs-azure-openai/2.0.0 (${env})${ + specifiedUserAgent ? ` ${specifiedUserAgent}` : "" + }`, }; this.client = new AzureOpenAIClient({