切换至Azure OpenAI时持续出现Deployment not found错误求助
解决Azure OpenAI部署名称未找到的错误
核心问题排查与修复
- 实例名称参数格式错误:你在
azureOpenAIApiInstanceName中填写了完整URL(https://my-instance-name.openai.azure.com/),但该参数仅需实例的纯名称,即my-instance-name,不需要前缀https://和后缀.openai.azure.com/。 - API版本格式不规范:
azureOpenAIApiVersion需要使用完整的日期格式,比如2023-06-13,而非简化的0613,LangChain的Azure SDK要求严格遵循Azure API的版本号规范。 - 部署名称大小写不匹配:Azure部署名称区分大小写,需确认代码中
GPT35turbo16k与Azure门户里显示的部署名称完全一致(比如实际可能是gpt-35-turbo-16k或其他大小写组合)。
修正后的代码示例
import { AzureChatOpenAI } from '@langchain/openai'; const llm = new AzureChatOpenAI({ temperature: 0, azureOpenAIApiDeploymentName: 'GPT35turbo16k', // 确保与Azure部署名称完全一致(含大小写) azureOpenAIApiVersion: '2023-06-13', // 使用完整的API版本号 azureOpenAIApiInstanceName: 'my-instance-name', // 仅填写实例名称,不要完整URL azureOpenAIApiKey: 'my-api-key', streaming: true, verbose: true, callbacks: [ { handleLLMNewToken(token: string) { res.write( JSON.stringify({ type: 'html', content: token, }), ); }, }, ], });
额外验证步骤
- 登录Azure门户进入你的OpenAI资源,在「部署」页面确认部署名称与代码中的
azureOpenAIApiDeploymentName完全一致。 - 检查API密钥是否属于当前实例,避免混用其他资源的密钥。
- 确认使用的API版本在Azure OpenAI支持的范围内(可在Azure门户的API文档中查看当前可用版本)。
内容的提问来源于stack exchange,提问作者Manoj ahirwar
相关产品推荐
相关产品推荐

