适配langchain_openai.AzureOpenAI遇404错误:需做哪些修改?
问题解决步骤
核心原因
langchain_openai的AzureOpenAI类对应OpenAI的文本补全接口(/completions),而你使用的gpt-35-turbo是聊天模型,需要调用聊天补全接口(/chat/completions),对应langchain的AzureChatOpenAI类。同时存在环境变量名不匹配、未指定模型的问题,导致404错误。
修改方案
- 替换导入的类:将
AzureOpenAI替换为AzureChatOpenAI,适配聊天模型的接口调用逻辑。 - 统一环境变量名:代码中使用的
AZURE_OPENAI_KEY与.env里的AZURE_OPENAI_API_KEY不一致,修正为一致的变量名。 - 显式指定模型名称:初始化时必须传入
model参数,明确指定要使用的gpt-35-turbo模型。
修改后的完整代码
import os from langchain_openai import AzureChatOpenAI # 加载环境变量(需先安装python-dotenv) from dotenv import load_dotenv load_dotenv() llm = AzureChatOpenAI( azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"), api_key=os.getenv("AZURE_OPENAI_API_KEY"), api_version="2024-02-15-preview", model="gpt-35-turbo" ) # 测试调用 response = llm.invoke("Tell me a joke") print(response.content)
额外注意事项
- 执行
pip install python-dotenv安装环境变量加载依赖。 - 确认Azure OpenAI资源中已部署
gpt-35-turbo模型,且部署名称与代码中model参数完全一致(区分大小写)。
内容的提问来源于stack exchange,提问作者Robert Sim
相关产品推荐
相关产品推荐

