From e68a1d73d0c84503702a2bf66b52d7ae2336eb67 Mon Sep 17 00:00:00 2001 From: Vasileios Mansolas <89460641+vmansolas@users.noreply.github.com> Date: Fri, 4 Aug 2023 04:21:41 +0100 Subject: [PATCH] Fix Issue #6650: Enable Azure Active Directory token-based auth access for AzureChatOpenAI (#8622) When using AzureChatOpenAI the openai_api_type defaults to "azure". The utils' get_from_dict_or_env() function triggered by the root validator does not look for user provided values from environment variables OPENAI_API_TYPE, so other values like "azure_ad" are replaced with "azure". This does not allow the use of token-based auth. By removing the "default" value, this allows environment variables to be pulled at runtime for the openai_api_type and thus enables the other api_types which are expected to work. This fixes #6650 --------- Co-authored-by: Bagatur --- libs/langchain/langchain/chat_models/azure_openai.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libs/langchain/langchain/chat_models/azure_openai.py b/libs/langchain/langchain/chat_models/azure_openai.py index cf841d68e3..69e34646e3 100644 --- a/libs/langchain/langchain/chat_models/azure_openai.py +++ b/libs/langchain/langchain/chat_models/azure_openai.py @@ -45,7 +45,7 @@ class AzureChatOpenAI(ChatOpenAI): """ deployment_name: str = "" - openai_api_type: str = "azure" + openai_api_type: str = "" openai_api_base: str = "" openai_api_version: str = "" openai_api_key: str = "" @@ -71,9 +71,7 @@ class AzureChatOpenAI(ChatOpenAI): "OPENAI_API_VERSION", ) values["openai_api_type"] = get_from_dict_or_env( - values, - "openai_api_type", - "OPENAI_API_TYPE", + values, "openai_api_type", "OPENAI_API_TYPE", default="azure" ) values["openai_organization"] = get_from_dict_or_env( values,