You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用AzureOpenAI生成Embeddings时遇DeploymentNotFound错误求助

解决Azure OpenAI Embeddings的DeploymentNotFound错误

问题原因

你遇到的404错误是因为代码中model参数填的是基础模型ID(text-embedding-ada-002),但Azure OpenAI要求此处填写你在Azure门户中创建的对应模型的部署名,而非原生模型ID。即使环境变量里配置了部署名,原代码也没有引用这个变量。

修复步骤

1. 确认部署信息

登录Azure门户,检查你的OpenAI资源下的部署列表,确保存在text-embedding-ada-002模型的部署,且部署名与环境变量AZURE_OPENAI_API_DEPLOYMENT_NAME的值完全一致(大小写敏感)。

2. 修改代码

将embeddings.create中的model参数替换为环境变量中的部署名,修改后的代码如下:

import os
from openai import AzureOpenAI

client = AzureOpenAI(
  api_key = os.getenv("AZURE_OPENAI_API_KEY"),  
  api_version = "2023-05-15",
  azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") 
)

# 从环境变量获取部署名
deployment_name = os.getenv("AZURE_OPENAI_API_DEPLOYMENT_NAME")

response = client.embeddings.create(
    input = "Your text string goes here",
    model= deployment_name  # 替换为部署名而非模型ID
)

print(response.model_dump_json(indent=2))

额外说明

  • OpenAI Python SDK v1.x中,Azure环境下的model参数始终对应Azure门户中的部署名,这和OpenAI原生平台直接用模型ID的逻辑不同。
  • 你在langchain中能正常使用,是因为langchain_openai.AzureChatOpenAI会自动读取AZURE_OPENAI_API_DEPLOYMENT_NAME环境变量作为部署名,而原生OpenAI SDK不会自动读取这个变量,需要手动传入。

内容的提问来源于stack exchange,提问作者luanpo1234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:34:58