使用openai.ChatCompletion.create调用Azure OpenAI端点失败求助
排查Azure OpenAI「部署不存在」错误的建议
1. 核对部署名称准确性
- 确认
.env中的AZURE_OAI_MODEL值是部署名称,而非模型本身的名称。Azure OpenAI需手动创建部署,部署名称可自定义,不一定与gpt-35-turbo这类模型名一致。 - 登录Azure门户,进入目标OpenAI资源的「部署」页面,复制正确的部署名称,确保与
.env中的值完全匹配(区分大小写)。
2. 验证API版本兼容性
- 代码中使用的
api_version为2023-03-15-preview,需确认你的部署支持该版本。可在Azure门户的部署详情页查看支持的API版本,或尝试更换为更稳定的版本(如2024-02-15-preview)。
3. 检查端点与密钥有效性
- 确认
.env中的AZURE_OAI_ENDPOINT格式正确,建议去掉末尾斜杠(如https://xxxx.openai.azure.com),避免路径解析问题。 - 重新从Azure门户「密钥和终结点」页面复制密钥,确保无空格或字符遗漏,且使用的是当前资源的有效密钥。
4. 确认资源权限与状态
- 检查当前使用的Azure订阅是否包含目标OpenAI资源,且你拥有该资源的「认知服务OpenAI用户」及以上权限。
- 确认资源状态为「正常」,无创建中、暂停或故障等异常状态。
5. 测试网络连通性
- 在终端用
curl直接测试端点,验证网络是否能正常访问Azure OpenAI服务:
若返回404,说明部署名称或端点有误;若返回网络错误,排查是否存在防火墙、代理或VPN限制。curl -v -H "api-key: 你的密钥" https://你的端点/openai/deployments/你的部署名称/chat/completions?api-version=2023-03-15-preview
6. 代码调试验证配置加载
- 在代码中添加打印语句,确认
.env配置是否正确读取:print(f"加载的端点: {azure_oai_endpoint}") print(f"加载的部署名称: {azure_oai_model}") - 确保
dotenv正确加载文件,若.env不在脚本同一目录,需指定路径:load_dotenv(dotenv_path="/你的路径/.env")。
内容的提问来源于stack exchange,提问作者LocoMoco10
相关产品推荐
相关产品推荐

