openai.AzureOpenAI 和 langchain_openai.AzureOpenAI 之间的区别

问题描述 投票:0回答:1

此代码片段成功实例化了一个可用的 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>"
langchain azure-openai
1个回答
0
投票

根据 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"
)

© www.soinside.com 2019 - 2024. All rights reserved.