使用Azure OpenAI API开发Python脚本时遇‘资源未找到’错误
解决Azure OpenAI调用DALL-E-3时出现"Resource not found"错误
以下是针对你遇到问题的具体排查和解决步骤:
1. 补充API类型配置
如果你使用的是旧版OpenAI SDK(v0.x),调用Azure OpenAI必须显式设置api_type="azure",否则会默认调用OpenAI原生API,导致找不到Azure的资源。即使GPT-35-turbo之前能正常运行,也可能是之前的代码中遗漏了这一配置。在代码中添加该行:
openai.api_type = "azure"
2. 替换为DALL-E-3的部署名称
Azure OpenAI中调用模型需要使用部署名称,而非模型的官方名称(如dall-e-3)。登录Azure门户,找到你的OpenAI资源,进入「部署」页面,查看DALL-E-3的实际部署名称,替换代码中的model参数:
model="你的DALL-E-3部署名称"
3. 核对API版本兼容性
DALL-E-3在Azure OpenAI中需要特定的API版本支持,建议使用Azure官方推荐的版本(如2023-12-01-preview或2024-02-01)。你当前使用的2024-08-20如果是最新版本,需确认该版本在你的资源区域是否支持DALL-E-3调用。
4. 适配OpenAI SDK v1.x版本(若已升级)
如果你的OpenAI SDK是v1.x版本,旧版的openai.Image.create写法已不再适用,需改用AzureOpenAI客户端:
from openai import AzureOpenAI client = AzureOpenAI( api_key="你的API密钥", api_version="2024-08-20", azure_endpoint="你的API_BASE地址" ) response = client.images.generate( model="你的DALL-E-3部署名称", prompt="A dog in rain image", n=1, size="1024x1024" ) print(response.model_dump_json(indent=2))
内容的提问来源于stack exchange,提问作者Bandaru Prudhvi
相关产品推荐
相关产品推荐

