使用AzureChatOpenAI()时遇到问题

-1 投票
1 回答
151 浏览
提问于 2025-04-14 16:01

大家好。我正在尝试使用AzureChatOpenAI(),但是即使我输入了正确的参数,它还是不工作。这里是我的代码:

from langchain_core.messages import HumanMessage
from langchain_openai import AzureChatOpenAI
import os

os.environ['AZURE_OPENAI_DEPLOYMENT_NAME'] = "..."
os.environ["AZURE_OPENAI_API_KEY"] = "..."
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://xxx.openai.azure.com/"
os.environ["AZURE_OPENAI_API_VERSION"] = "2024-02-15-preview"

model = AzureChatOpenAI(
            temperature=0,
            deployment_name=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
            azure_endpoint="AZURE_OPENAI_ENDPOINT",
            api_version=os.environ["AZURE_OPENAI_API_VERSION"],
            openai_api_key=os.environ["AZURE_OPENAI_API_KEY"],
            streaming=True,
)

然后出现的错误是:

ValidationError: 1 validation error for AzureChatOpenAI
__root__
  As of openai>=1.0.0, Azure endpoints should be specified via the `azure_endpoint` param not `openai_api_base` (or alias `base_url`). (type=value_error)

有没有人遇到过同样的错误?你知道怎么解决这个问题吗?

即使我把azure_endpointopenai_api_base都填上,它还是给我同样的验证错误。我试了很多方法,但都没有效果。

1 个回答

0

我觉得你已经设置了 OPENAI_API_BASE 这个环境变量。它的值会被自动获取为 openai_api_base。这就是错误信息(加粗部分)想要表达的意思。

Azure endpoints should be specified via the `azure_endpoint` 
param not `openai_api_base` (or alias `base_url`). (type=value_error)

你可以选择删除这个环境变量(OPENAI_API_BASE),或者在

del os.environ["OPENAI_API_BASE"]

创建 AzureChatOpenAI 实例之前添加它。

撰写回答