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

使用Azure OpenAI Assistant API时遇资源未找到等错误求助

Azure OpenAI Assistant API调用错误问题分析与解决方案

问题根源

  1. API版本与SDK不兼容

    • 旧版API(如2024-02-01)不支持Assistant API,调用时直接返回"resource not found"。
    • 更换预览版API后出现"invalid URL",是因为旧版openai SDK会错误生成原生OpenAI的端点路径(/v1/assistants),而Azure的正确路径是/azure/v1/assistants,必须升级SDK才能修复这个路径构造问题。
  2. 模型参数使用错误
    Chat Completion API用部署名称作为model参数,但Azure Assistant API要求直接用模型的官方名称(比如gpt-4o、gpt-4-turbo),不能用部署名称,这是两者的核心区别。

  3. Azure资源限制
    你的Azure OpenAI资源必须部署在支持Assistant API的区域(比如美国东部、西欧),且资源已启用Assistant API功能(新资源默认启用,旧资源可能需要手动开启)。

正确使用步骤

  1. 升级openai Python SDK
    执行以下命令确保使用最新版SDK:

    pip install --upgrade openai
    
  2. 确认Azure资源配置

    • 检查资源所在区域是否支持Assistant API。
    • 在Azure门户的OpenAI资源页面,确认你有权限使用支持Assistant API的模型(如gpt-4o、gpt-4-turbo),无需单独部署这些模型给Assistant API,直接用名称即可。
  3. 修正代码
    使用支持的预览版API,替换模型参数为官方名称,修正后的代码如下:

import os
import dotenv
from openai import AzureOpenAI

dotenv.load_dotenv()
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",  # 采用支持Assistant API的预览版本
    azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
)

# Chat Completion 仍使用部署名称
deployment_name = os.getenv("AZURE_DEPLOYMENT_NAME")
response = client.chat.completions.create(
    model=deployment_name,
    messages=[{"role":"system", "content":'Write a tagline for an ice cream shop. '}]
)
print(response.choices[0].message.content)

# Assistant API 使用模型官方名称
assistant = client.beta.assistants.create(
    name="Test OpenAI Azure Assistant",
    instructions="You are a helpful assistant.",
    model="gpt-4o"  # 替换为你有权限使用的模型名称,例如gpt-4-turbo
)
print(f"创建的助手ID: {assistant.id}")

额外注意点

  • 确认你的API密钥拥有Assistant API的调用权限,可在Azure门户的"访问控制(IAM)"中检查角色分配。
  • 如果仍有问题,前往Azure OpenAI资源的"模型部署"页面,确认所选模型已开启Assistant API支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 17:25:18