本文介绍通义千问 API 的输入输出参数。
模型介绍、选型建议和使用方法,请参考文本生成。
您可以通过 OpenAI 兼容或 DashScope 的方式调用通义千问 API。
OpenAI 兼容
使用SDK调用时需配置的base_url:https://dashscope.aliyuncs.com/compatible-mode/v1
使用HTTP方式调用时需配置的endpoint:POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
使用SDK调用时需配置的base_url:https://dashscope-finance.aliyuncs.com/compatible-mode/v1
使用HTTP方式调用时需配置的endpoint:POST https://dashscope-finance.aliyuncs.com/compatible-mode/v1/chat/completions
您需要已获取API Key并配置API Key到环境变量。如果通过OpenAI SDK进行调用,还需要安装SDK。
请求体 | 文本输入 流式输出 图像输入 视频输入 工具调用 联网搜索 异步调用 文档理解 文字提取 此处以单轮对话作为示例,您也可以进行多轮对话。 Python Java Node.js Go C#(HTTP) PHP(HTTP) curl
更多用法请参见流式输出。 Python Node.js curl
关于大模型分析图像的更多用法,请参见视觉理解。 Python Node.js curl
关于大模型分析视频的更多用法,请参见视觉理解。 Python Node.js curl
完整的Function Calling流程代码请参见工具调用(Function Call)。 QwQ 模型的 Function Calling 代码请参见QwQ 的工具调用。 Python Node.js curl
Python Node.js curl
当前仅qwen-long模型支持对文档进行分析,详细用法请参见长上下文。 Python Node.js curl
qwen-vl-ocr是OCR专用模型。为保证模型效果,目前模型内部会采用固定的文本作为输入文本,用户自定义的文本不会生效。关于qwen-vl-ocr的更多用法,请参见文字提取(OCR)。 Python Node.js curl
|
model 模型名称。 支持的模型:通义千问大语言模型(商业版、开源版、Qwen-Long)、通义千问VL、通义千问Omni、数学模型、代码模型 通义千问Audio暂不支持OpenAI兼容模式,仅支持DashScope方式。 具体模型名称和计费,请参见模型列表。 | |
messages 由历史对话组成的消息列表。 | |
stream 是否流式输出回复。参数值:
| |
stream_options 当启用流式输出时,可通过将本参数设置为 如果设置为false,则最后一行不显示使用的Token数。 本参数仅在设置stream为true时生效。 | |
modalities 输出数据的模态,仅支持 Qwen-Omni 模型指定。可选值:
| |
temperature 采样温度,控制模型生成文本的多样性。 temperature越高,生成的文本更多样,反之,生成的文本更确定。 取值范围: [0, 2) 由于temperature与top_p均可以控制生成文本的多样性,因此建议您只设置其中一个值。更多说明,请参见Temperature 和 top_p。 | |
top_p 核采样的概率阈值,控制模型生成文本的多样性。 top_p越高,生成的文本更多样。反之,生成的文本更确定。 取值范围:(0,1.0] 由于temperature与top_p均可以控制生成文本的多样性,因此建议您只设置其中一个值。更多说明,请参见Temperature 和 top_p。 | |
presence_penalty 控制模型生成文本时的内容重复度。 取值范围:[-2.0, 2.0]。正数会减少重复度,负数会增加重复度。 适用场景: 较高的presence_penalty适用于要求多样性、趣味性或创造性的场景,如创意写作或头脑风暴。 较低的presence_penalty适用于要求一致性或专业术语的场景,如技术文档或其他正式文档。 | |
response_format 返回内容的格式。可选值: 如果指定该参数为
| |
max_tokens 本次请求返回的最大 Token 数。
默认值和最大值都是模型的最大输出长度。关于各模型的最大输出长度,请参见模型列表。 max_tokens参数适用于需要限制字数(如生成摘要、关键词)、控制成本或减少响应时间的场景。 | |
n 生成响应的个数,取值范围是 当前仅支持 qwen-plus 模型,且在传入 tools 参数时固定为1。 设置较大的 n 值不会增加输入 Token 消耗,会增加输出 Token 的消耗。 | |
seed 设置seed参数会使文本生成过程更具有确定性,通常用于使模型每次运行的结果一致。 在每次模型调用时传入相同的seed值(由您指定),并保持其他参数不变,模型将尽可能返回相同的结果。 取值范围:0到231−1。 | |
stop 使用stop参数后,当模型生成的文本即将包含指定的字符串或token_id时,将自动停止生成。 您可以在stop参数中传入敏感词来控制模型的输出。 stop为array类型时,不可以将token_id和字符串同时作为元素输入,比如不可以指定stop为 | |
tools 可供模型调用的工具数组,可以包含一个或多个工具对象。一次Function Calling流程模型会从中选择一个工具。 目前不支持通义千问VL/Audio,也不建议用于数学和代码模型。 | |
tool_choice 如果您希望对于某一类问题,大模型能够采取制定好的工具选择策略(如强制使用某个工具、强制使用至少一个工具、强制不使用工具等),可以通过修改
| |
parallel_tool_calls 是否开启并行工具调用。参数为 | |
translation_options 当您使用翻译模型时需要配置的翻译参数。 若您通过Python SDK调用,请通过extra_body配置。配置方式为: | |
enable_search 模型在生成文本时是否使用互联网搜索结果进行参考。取值如下:
启用互联网搜索功能可能会增加 Token 的消耗。 若您通过 Python SDK调用,请通过 | |
search_options 联网搜索的策略。仅当 若您通过 Python SDK调用,请通过 | |
X-DashScope-DataInspection 在通义千问 API 的内容安全能力基础上,是否进一步识别输入输出内容的违规信息。取值如下:
通过 HTTP 调用时请放入请求头: 通过 Python SDK 调用时请通过 详细使用方法请参见内容安全。 不支持通过 Node.js SDK设置。 不适用于 Qwen-VL 系列模型。 |
chat响应对象(非流式输出) |
|
id 本次调用的唯一标识符。 | |
choices 模型生成内容的数组,可以包含一个或多个choices对象。 | |
created 本次chat请求被创建时的时间戳。 | |
model 本次chat请求使用的模型名称。 | |
object 始终为 | |
service_tier 该参数当前固定为 | |
system_fingerprint 该参数当前固定为 | |
usage 本次chat请求使用的 Token 信息。 |
chat响应chunk对象(流式输出) |
|
id 本次调用的唯一标识符。每个chunk对象有相同的 id。 | |
choices 模型生成内容的数组,可包含一个或多个choices对象。如果设置 | |
created 本次chat请求被创建时的时间戳。每个chunk对象有相同的时间戳。 | |
model 本次chat请求使用的模型名称。 | |
object 始终为 | |
service_tier 该参数当前固定为 | |
system_fingerprint 该参数当前固定为 | |
usage 本次chat请求使用的Token信息。只在 |
DashScope
通过HTTP调用时需配置的endpoint:
使用通义千问大语言模型:POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
使用通义千问VL或通义千问Audio模型:POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
通过HTTP调用时需配置的endpoint:
使用通义千问大语言模型:
POST https://dashscope-finance.aliyuncs.com/api/v1/services/aigc/text-generation/generation
通过SDK调用时需配置的base_url:
https://dashscope-finance.aliyuncs.com/api/v1
Python:在导入模块之后,添加以下代码:
dashscope.base_http_api_url = 'https://dashscope-finance.aliyuncs.com/api/v1'
Java :将
Generation gen = new Generation();
修改为Generation gen = new Generation("http", "https://dashscope-finance.aliyuncs.com/api/v1");
您需要已获取API Key并配置API Key到环境变量。如果通过DashScope SDK进行调用,还需要安装DashScope SDK。
请求体 | 文本输入 流式输出 图像输入 视频输入 音频输入 联网搜索 工具调用 异步调用 文字提取 此处以单轮对话作为示例,您也可以进行多轮对话。 Python Java PHP(HTTP) Node.js(HTTP) C#(HTTP) Go(HTTP) curl
DashScope 未提供 Node.js 环境的 SDK。如需通过 OpenAI Node.js SDK调用,请参考本文的OpenAI章节。
DashScope 未提供 Go 的 SDK。如需通过 OpenAI Go SDK调用,请参考本文的OpenAI-Go章节。
更多用法请参见流式输出。 Python Java curl
关于大模型分析图像的更多用法,请参见视觉理解。 Python Java curl
关于大模型分析视频的更多用法,请参见视觉理解。 Python Java curl
关于大模型分析音频的更多用法,请参见音频理解。 Python Java curl
Python Java curl
完整的Function Calling 流程代码请参见完整代码。 Python Java curl
qwen-vl-ocr是OCR专用模型。为保证模型效果,目前模型内部会采用固定的文本作为输入文本,用户自定义的文本不会生效。关于qwen-vl-ocr的更多用法,请参见文字提取(OCR)。 Python Java curl
|
model 模型名称。 支持的模型:通义千问大语言模型(商业版、开源版、Qwen-Long)、通义千问VL、通义千问Audio、数学模型、代码模型 具体模型名称和计费,请参见模型列表。 | |
messages 由历史对话组成的消息列表。 通过HTTP调用时,请将messages 放入 input 对象中。 | |
temperature 采样温度,控制模型生成文本的多样性。 temperature越高,生成的文本更多样,反之,生成的文本更确定。 取值范围: [0, 2) 通过HTTP调用时,请将 temperature 放入 parameters 对象中。 | |
top_p 核采样的概率阈值,控制模型生成文本的多样性。 top_p越高,生成的文本更多样。反之,生成的文本更确定。 取值范围:(0,1.0]。 Java SDK中为topP。通过HTTP调用时,请将 top_p 放入 parameters 对象中。 | |
top_k 生成过程中采样候选集的大小。例如,取值为50时,仅将单次生成中得分最高的50个Token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。取值为None或当top_k大于100时,表示不启用top_k策略,此时仅有top_p策略生效。 取值需要大于或等于0。 qwen-math 系列、qwen-vl 系列默认值为1,其余均为20。 Java SDK中为topK。通过HTTP调用时,请将 top_k 放入 parameters 对象中。 | |
repetition_penalty 模型生成时连续序列中的重复度。提高repetition_penalty时可以降低模型生成的重复度,1.0表示不做惩罚。没有严格的取值范围,只要大于0即可。 Java SDK中为repetitionPenalty。通过HTTP调用时,请将 repetition_penalty 放入 parameters 对象中。 对于qwen-vl-ocr模型,repetition_penalty 的默认值为1.05,该参数对模型效果影响较大,请勿随意修改。 | |
vl_high_resolution_images 是否提高输入图片的默认Token上限。输入图片的默认Token上限为1280,配置为true时输入图片的Token上限为16384。 Java SDK不支持设置该参数。通过HTTP调用时,请将 vl_high_resolution_images 放入 parameters 对象中。 | |
presence_penalty 控制模型生成文本时的内容重复度。 取值范围:[-2.0, 2.0]。正数会减少重复度,负数会增加重复度。 适用场景: 较高的presence_penalty适用于要求多样性、趣味性或创造性的场景,如创意写作或头脑风暴。 较低的presence_penalty适用于要求一致性或专业术语的场景,如技术文档或其他正式文档。 Java SDK不支持设置该参数。通过HTTP调用时,请将 presence_penalty 放入 parameters 对象中。 | |
max_tokens 本次请求返回的最大 Token 数。
默认值和最大值都是模型的最大输出长度。关于各模型的最大输出长度,请参见模型列表。 max_tokens参数适用于需要限制字数(如生成摘要、关键词)、控制成本或减少响应时间的场景。 Java SDK中为maxTokens(模型为通义千问VL/OCR/Audio/ASR时,Java SDK中为maxLength,在 2.18.4 版本之后支持也设置为 maxTokens)。通过HTTP调用时,请将 max_tokens 放入 parameters 对象中。 | |
seed 设置seed参数会使文本生成过程更具有确定性,通常用于使模型每次运行的结果一致。 在每次模型调用时传入相同的seed值(由您指定),并保持其他参数不变,模型将尽可能返回相同的结果。 取值范围:0到231−1。 通过HTTP调用时,请将 seed 放入 parameters 对象中。 | |
stream 是否流式输出回复。参数值:
该参数仅支持Python SDK。通过Java SDK实现流式输出请通过 | |
incremental_output 在流式输出模式下是否开启增量输出。参数值:
Java SDK中为incrementalOutput。通过HTTP调用时,请将 incremental_output 放入 parameters 对象中。 | |
response_format 返回内容的格式。可选值: 如果指定该参数为 不支持通过 Java SDK 设置该参数。通过HTTP调用时,请将 response_format 放入 parameters 对象中。 | |
result_format 返回数据的格式。推荐您优先设置为 Java SDK中为resultFormat。通过HTTP调用时,请将 result_format 放入 parameters 对象中。 | |
stop 使用stop参数后,当模型生成的文本即将包含指定的字符串或token_id时,将自动停止生成。 您可以在stop参数中传入敏感词来控制模型的输出。 stop为array类型时,不可以将token_id和字符串同时作为元素输入,比如不可以指定stop为 | |
tools 可供模型调用的工具数组,可以包含一个或多个工具对象。一次 Function Calling 流程模型会从中选择其中一个工具。使用 tools 时需要同时指定 目前不支持通义千问VL/Audio,也不建议用于数学和代码模型。 通过HTTP调用时,请将 tools 放入 parameters JSON 对象中。暂时不支持qwen-vl与qwen-audio系列模型。 | |
tool_choice 在使用tools参数时,用于控制模型调用指定工具。有三种取值:
Java SDK中为toolChoice。通过HTTP调用时,请将 tool_choice 放入 parameters 对象中。 | |
translation_options 当您使用翻译模型时需要配置的翻译参数。 Java SDK 暂不支持配置该参数。通过HTTP调用时,请将 translation_options 放入 parameters 对象中。 | |
enable_search 模型在生成文本时是否使用互联网搜索结果进行参考。取值如下:
Java SDK中为enableSearch。通过HTTP调用时,请将 enable_search 放入 parameters 对象中。 启用互联网搜索功能可能会增加 Token 的消耗。 | |
search_options 联网搜索的策略。仅当 通过HTTP调用时,请将 search_options 放入 parameters 对象中。Java SDK中为searchOptions。 | |
X-DashScope-DataInspection 在通义千问 API 的内容安全能力基础上,是否进一步识别输入输出内容的违规信息。取值如下:
通过 HTTP 调用时请放入请求头: 通过 Python SDK 调用时请通过 详细使用方法请参见内容安全。 不支持通过 Java SDK 设置。 不适用于 Qwen-VL、Qwen-Audio 系列模型。 |
chat响应对象(流式与非流式输出格式一致) |
|
status_code 本次请求的状态码。200 表示请求成功,否则表示请求失败。 Java SDK不会返回该参数。调用失败会抛出异常,异常信息为status_code和message的内容。 | |
request_id 本次调用的唯一标识符。 Java SDK返回参数为requestId。 | |
code 错误码,调用成功时为空值。 只有Python SDK返回该参数。 | |
output 调用结果信息。 | |
usage 本次chat请求使用的token信息。 |
错误码
如果模型调用失败并返回报错信息,请参见错误信息进行解决。
- 本页导读 (1)
- OpenAI 兼容
- 请求体
- chat响应对象(非流式输出)
- chat响应chunk对象(流式输出)
- DashScope
- 请求体
- chat响应对象(流式与非流式输出格式一致)
- 错误码