跳转到主要内容
工具包与框架

OpenAI 兼容接口

只需修改 base_url、api_key 和 model 三个参数,即可从 OpenAI 迁移到千问云。

千问云提供 OpenAI 兼容的 API。如果您已有使用 OpenAI SDK 或 REST API 的代码,只需修改 base_urlapi_keymodel 三个参数即可切换到 Qwen 模型。

快速迁移

  • Python
  • Node.js
  • curl
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.getenv("DASHSCOPE_API_KEY"),
  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
  model="qwen3.7-plus",
  messages=[{"role": "user", "content": "Hello!"}],
)
print(completion.choices[0].message.content)
开始前,请先获取 API Key设置为环境变量。如使用 OpenAI SDK,请先安装 SDK

支持的 API

APIBase URL(SDK 使用)说明
Chat Completionshttps://dashscope.aliyuncs.com/compatible-mode/v1文本生成、视觉理解、函数调用
Responseshttps://dashscope.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1内置工具、简化多轮对话
Embeddinghttps://dashscope.aliyuncs.com/compatible-mode/v1文本向量化
Filehttps://dashscope.aliyuncs.com/compatible-mode/v1文件上传与管理
Batchhttps://dashscope.aliyuncs.com/compatible-mode/v1异步批量处理,成本降低 50%
Conversationshttps://dashscope.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1自动管理多轮对话上下文
Responses API 和 Conversations API 的 base_url 与其他四个 API 不同,请确保使用正确的 base_url

Chat Completions

Chat Completions API(/v1/chat/completions)与 OpenAI 的 Chat API 基本兼容,主要差异如下。

Qwen 扩展参数

以下参数不属于 OpenAI 标准。在 OpenAI SDK 中通过 extra_body 传入。
参数类型说明
enable_thinkingBoolean启用深度推理模式。部分模型需要开启流式输出。参见深度思考
thinking_budgetInteger思考过程的最大 token 数。流式输出要求与 enable_thinking 相同。
enable_searchBoolean启用联网搜索,替代 OpenAI 的 web_search_options
search_optionsObject配置搜索行为(策略、强制搜索等)。
top_kInteger采样候选集大小。取值范围:(0, 100]。
vl_high_resolution_imagesBoolean为视觉模型启用高分辨率模式。
enable_code_interpreterBoolean启用代码解释器。需要开启流式输出(Responses API 除外)。

行为差异

  • response_format 支持 json_objectjson_schema
  • tool_choice 支持 autononerequired 和指定函数对象({"type": "function", "function": {"name": "..."}})。
  • tools 仅支持 function 类型。
  • parallel_tool_calls 默认为 true(与 OpenAI 一致)。
  • n 支持 1-4,仅限部分模型(qwen-plus、qwen-plus-character)。
  • web_search_options 不支持,请改用 extra_body.enable_searchextra_body.search_options

不支持的参数

以下参数会被静默忽略:frequency_penaltylogit_biasmax_completion_tokensmetadatapredictionprompt_cache_keyreasoning_effortservice_tierstoreverbosity 完整 API 参考和代码示例,参见 Chat Completions

Responses API

Responses API 使用不同的 base_urlhttps://dashscope.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1 相比 Chat Completions,Responses API 提供:
  • 内置工具web_searchcode_interpreterweb_extractorimage_search,无需额外配置。
  • 简化多轮对话:传入 previous_response_id 即可,无需手动构建完整消息历史。
  • 对话集成:配合 Conversations API 实现自动上下文管理。
  • 会话缓存:自动缓存跨轮次上下文,降低延迟和成本。通过 x-dashscope-session-cache: enable 请求头启用。参见会话缓存

从 Chat Completions 迁移

从 Chat Completions 切换到 Responses API:
  1. base_url 修改为 https://dashscope.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1,接口路径从 /v1/chat/completions 改为 /v1/responses
  2. output_text 替代 choices[0].message.content 读取响应。
  3. 多轮对话时传入 previous_response_id,无需手动追加消息。
完整参考和代码示例,参见 Responses

Embedding

Embedding API(/v1/embeddings)与 OpenAI 的 Embedding API 兼容,主要差异:
  • encoding_format:支持 float(默认)和 base64
  • user:不支持(静默忽略)。
  • dimensions:可选值取决于模型。例如 text-embedding-v4 支持 2,048、1,536、1,024(默认)、768、512、256、128 和 64。
支持的模型和代码示例,参见 Embedding

File API

File API(/v1/files)与 OpenAI 的 Files API 兼容,主要差异:
  • purpose 仅支持 file-extract(用于 Qwen-Long/Qwen-Doc 文档分析)和 batch(用于批量处理)。不支持 OpenAI 的 fine-tuneassistants 等值。
  • 文件内容获取GET /v1/files/{file_id}/content)不支持。
  • 列表过滤GET /v1/filespurposeorder 参数不支持。
  • 存储限制:最多 10,000 个文件,总容量 100 GB,文件永不过期。
完整参考,参见 File

Batch API

Batch API(/v1/batches)与 OpenAI 的 Batch API 兼容,主要差异:
  • 成本降低 50%:相比实时调用价格。
  • completion_window:支持 24h 到 336h(14 天),接受 "h"(小时)和 "d"(天)为单位的整数值。OpenAI 固定为 24h。
  • 扩展元数据metadata.ds_name(任务名称)和 metadata.ds_description(任务描述)。
  • 扩展列表过滤:支持 ds_nameinput_file_idsstatuscreate_aftercreate_before
  • 输入文件限制:每个文件最多 50,000 条请求,单个文件大小不超过 500 MB,单行不超过 6 MB。同一文件中的所有请求必须使用相同模型。
完整使用指南,参见 Batch API

Conversations API

Conversations API 是 Qwen 特有的功能,在 OpenAI 中没有对应接口。它可以跨设备和会话自动管理多轮对话上下文,base_url 与 Responses API 相同:https://dashscope.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1 配合 Responses API 使用,可自动注入历史上下文,无需手动同步消息。 完整参考,参见 Conversations