位置:首页 > 热点资讯 > 千问AI兼容OpenAI SDK调用方法详细步骤与完整代码示例

千问AI兼容OpenAI SDK调用方法详细步骤与完整代码示例

时间:2026-07-25  |  作者:318050  |  阅读:0

你想在现有项目里直接复用 OpenAI SDK 的代码来调用通义千问?不改业务逻辑、不换工具链,只改几行配置就能跑通——这完全可行。

阿里云 DashScope 已经提供了稳定兼容的 v1 接口端点。主流模型如 qwen-turbo、qwen-plus、qwen-max 都支持。

千问AI兼容OpenAI SDK怎么调用

安装与版本锁定

执行 pip install openai==1.12.0

注意:新版 openai 库(1.30+)已移除了对非 OpenAI 最新 base_url 的宽松适配。因此,必须锁定 1.12.0 版本,否则 client 初始化会静默失败,或直接抛出 UnknownEndpointError

装完后,运行 python -c "import openai; print(openai.__version__)" 确认版本准确无误。这一步别省。

环境变量安全配置

在项目根目录新建一个 .env 文件,写入以下内容:

OPENAI_API_KEY=sk-xxx-your-dashscope-key
OPENAI_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1

重要:不要把密钥硬编码进 Python 文件。.env 文件记得加入 .gitignore,防止意外提交到代码仓库。

初始化客户端并发起请求

第一步:导入并加载环境变量

from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()

第二步:创建 client 实例

base_url 必须指向兼容模式端点。

client = OpenAI(
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_API_BASE")
)

第三步:调用 chat.completions.create

model 参数填 qwen-turboqwen-max

response = client.chat.completions.create(
    model="qwen-turbo",
    messages=[{"role": "user", "content": "你好,请用中文简单介绍你自己"}]
)

第四步:提取返回文本

print(response.choices[0].message.content.strip())

常见错误速查与绕过方案

  • 方法一:报错 “InvalidRequestError: model does not exist”

    说明你传了 dashscope 原生模型名(比如 qwen-vl-chat)。兼容接口只认 qwen-turbo / qwen-plus / qwen-max,不支持 qwen-vlqwen-audio 等多模态变体。

  • 方法二:返回空 content 或 status_code=401

    检查 OPENAI_API_KEY 是否复制完整——开头是 sk-,长度约 48 位。同时去 DashScope 控制台确认该 key 已启用、是否绑定正确项目。

  • 方法三:timeout 或 connection refused

    确认 base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1,不是 /api/v1/v1/services——后者是原生接口路径,不兼容 OpenAI SDK。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多