Community/Partner: Adding Azure community and partner user agent to better track usage in Python (#29561)

- This pull request includes various changes to add a `user_agent`
parameter to Azure OpenAI, Azure Search and Whisper in the Community and
Partner packages. This helps in identifying the source of API requests
so we can better track usage and help support the community better. I
will also be adding the user_agent to the new `langchain-azure` repo as
well.

- No issue connected or  updated dependencies. 
- Utilises existing tests and docs

---------

Co-authored-by: Erick Friis <erick@langchain.dev>
This commit is contained in:
Marlene 2025-02-07 23:28:30 +00:00 committed by GitHub
parent c401254770
commit 4fa3ef0d55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 25 additions and 7 deletions

View File

@ -209,7 +209,10 @@ class AzureChatOpenAI(ChatOpenAI):
"base_url": values["openai_api_base"],
"timeout": values["request_timeout"],
"max_retries": values["max_retries"],
"default_headers": values["default_headers"],
"default_headers": {
**(values["default_headers"] or {}),
"User-Agent": "langchain-comm-python-azure-openai",
},
"default_query": values["default_query"],
"http_client": values["http_client"],
}

View File

@ -163,7 +163,10 @@ class AzureOpenAIEmbeddings(OpenAIEmbeddings): # type: ignore[override]
"base_url": self.openai_api_base,
"timeout": self.request_timeout,
"max_retries": self.max_retries,
"default_headers": self.default_headers,
"default_headers": {
**(self.default_headers or {}),
"User-Agent": "langchain-comm-python-azure-openai",
},
"default_query": self.default_query,
"http_client": self.http_client,
}

View File

@ -924,7 +924,10 @@ class AzureOpenAI(BaseOpenAI):
"base_url": values["openai_api_base"],
"timeout": values["request_timeout"],
"max_retries": values["max_retries"],
"default_headers": values["default_headers"],
"default_headers": {
**(values["default_headers"] or {}),
"User-Agent": "langchain-comm-python-azure-openai",
},
"default_query": values["default_query"],
"http_client": values["http_client"],
}

View File

@ -94,7 +94,7 @@ def _get_search_client(
scoring_profiles: Optional[List[ScoringProfile]] = None,
default_scoring_profile: Optional[str] = None,
default_fields: Optional[List[SearchField]] = None,
user_agent: Optional[str] = "langchain",
user_agent: Optional[str] = "langchain-comm-python-azure-search",
cors_options: Optional[CorsOptions] = None,
async_: bool = False,
additional_search_client_options: Optional[Dict[str, Any]] = None,

View File

@ -643,7 +643,10 @@ class AzureChatOpenAI(BaseChatOpenAI):
"organization": self.openai_organization,
"base_url": self.openai_api_base,
"timeout": self.request_timeout,
"default_headers": self.default_headers,
"default_headers": {
**(self.default_headers or {}),
"User-Agent": "langchain-partner-python-azure-openai",
},
"default_query": self.default_query,
}
if self.max_retries is not None:

View File

@ -198,7 +198,10 @@ class AzureOpenAIEmbeddings(OpenAIEmbeddings): # type: ignore[override]
"base_url": self.openai_api_base,
"timeout": self.request_timeout,
"max_retries": self.max_retries,
"default_headers": self.default_headers,
"default_headers": {
**(self.default_headers or {}),
"User-Agent": "langchain-partner-python-azure-openai",
},
"default_query": self.default_query,
}
if not self.client:

View File

@ -153,7 +153,10 @@ class AzureOpenAI(BaseOpenAI):
"base_url": self.openai_api_base,
"timeout": self.request_timeout,
"max_retries": self.max_retries,
"default_headers": self.default_headers,
"default_headers": {
**(self.default_headers or {}),
"User-Agent": "langchain-partner-python-azure-openai",
},
"default_query": self.default_query,
}
if not self.client: