此代码片段成功实例化了一个可用的 openai.AzureOpenAI 类,我想对其进行调整以使用 langchain.AzureOpenAI 接口。按原样使用它会返回 404 错误。我需要做出哪些改变?
#from openai import AzureOpenAI
from langchain_openai import AzureOpenAI
llm = AzureOpenAI(
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_KEY"),
api_version="2024-02-15-preview"
)
# openai use case works:
# llm.chat.completions.create(model="gpt-35-turbo", messages=[{"role": "user", "content": "Tell me a joke"}])
# langchain use case fails:
llm.invoke("Tell me a joke")
llm.invoke 返回
openai.NotFoundError: Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
我的
.env
文件进行了适当的替换:
AZURE_OPENAI_ENDPOINT="https://<endpoint-name>.openai.azure.com/"
AZURE_OPENAI_API_KEY="<api-key>"
根据 Gaurav Mantri 的评论,解决方案是将
azure_deployment=
添加到 langchain 构造函数调用中,作为 openai model="gpt-35-turbo"
调用中的 chat.completions.create
参数的替换:
llm = AzureOpenAI(
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_KEY"),
api_version="2024-02-15-preview",
azure_deployment="gpt-35-turbo"
)