Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(openai): update azure user agent #7543

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions libs/langchain-openai/src/azure/chat_models.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import process from "node:process";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh hmm actually this will break non-node environments - can we use this instead? https://github.com/langchain-ai/langchainjs/blob/main/langchain-core/src/utils/env.ts#L40

import { type ClientOptions, AzureOpenAI as AzureOpenAIClient } from "openai";
import {
LangSmithParams,
Expand Down Expand Up @@ -504,9 +505,7 @@ export class AzureChatOpenAI extends ChatOpenAI {

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 (node.js/${process.version}; ${process.platform}; ${process.arch}) ${params.defaultHeaders?.["User-Agent"] || ""}`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the version be pulled from a variable, so this doesnt have to be reset on future releases? @sinedied ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately we don't have a way to do this at the moment 😞

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@johnpapa the 2.0.0 is just to distinguish from the previous (deprecated) package implementation, it's not really a proper versioning as it won't change. It would be nice to send along the @langchain/openai package version though as Jacob mentioned it doesn't seem to be possible currently: from what I understand, we can't pull the version from package.json as the lib can also be ran from the browser where there's no FS access like with Node.js.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah we would need to manually some process to bump a statically specified version on release. We do it here:

https://github.com/langchain-ai/langsmith-sdk/blob/main/js/src/index.ts#L21

I just haven't had time to set it up

};

this.client = new AzureOpenAIClient({
Expand Down