通义千问 API
  1. 结构化输出(Json Mode)
通义千问 API
  • 首次调用通义千问API
  • 文本生成
    • 深度思考(QwQ)
      • 深度思考(QwQ)概括
      • 快速开始
      • 多轮对话
    • 长上下文
      • 通过file-id传入文档信息
        • 简单示例
        • 传入多文档
        • 追加文档
      • 通过纯文本传入信息
        • 简单示例
        • 传入多文档
        • 追加文档
      • 通过JSON字符串传入文档信息
        • 简单示例
        • 传入多文档
        • 追加文档
    • 翻译能力
      • Qwen-MT模型
      • 支持的语言
      • 简单示例
      • 流式输出
      • 术语干预翻译
      • 使用翻译记忆
      • 领域提示
    • 数学能力
      • 模型概览
      • 示例代码
    • 代码能力
      • 模型概览
      • 简单示例
      • 代码补全
      • 根据前缀和后缀生成中间内容
    • 多轮对话
      • 开始使用
    • 流式输出(Stream)
      • 概述
      • 开始使用
    • 工具调用(Function Calling)
      • 概述
    • 结构化输出(Json Mode)
      • 支持的模型
      • 开始使用
        POST
    • 前缀续写(Partial Mode)
      • 支持的模型
      • 开始使用
    • 批量推理(Batch)
      • 概述
    • 上下文缓存(Context Cache)
      • 概述
  • 视觉理解
    • 全模态(Qwen-Omni )
      • 概述
      • 开始使用
      • 图片+文本输入
      • 音频+文本输入
      • 视频+文本输入
      • 多轮对话
  1. 结构化输出(Json Mode)

开始使用

POST
https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

前提条件#

您需要已获取API Key并配置API Key到环境变量。如果通过 OpenAI SDK 或 DashScope SDK 进行调用,需要安装SDK。

使用方法#

您的请求需要满足两个条件:
设置参数
您需要设置请求参数response_format为{"type": "json_object"}。
提示词指引
您需要在提示词中指引模型输出 JSON 字符串,否则会报错:'messages' must contain the word 'json' in some form, to use 'response_format' of type 'json_object'.
建议您在提示词中说明每个属性的数据类型,并提供样例给大模型参考。
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header 'Authorization: Bearer {{DASHSCOPE_API_KEY}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "你需要提取出name(名字,为string类型)、age(年龄,为string类型)与email(邮箱,为string类型),请输出JSON 字符串,不要输出其它无关内容。\n示例:\nQ:我叫张三,今年25岁,邮箱是zhangsan@example.com\nA:{\"name\":\"张三\",\"age\":\"25岁\",\"email\":\"zhangsan@example.com\"}\nQ:我叫李四,今年30岁,我的邮箱是lisi@example.com\nA:{\"name\":\"李四\",\"age\":\"30岁\",\"email\":\"lisi@example.com\"}\nQ:我叫王五,我的邮箱是wangwu@example.com,今年40岁\nA:{\"name\":\"王五\",\"age\":\"40岁\",\"email\":\"wangwu@example.com\""
        },
        {
            "role": "user", 
            "content": "大家好,我叫刘五,今年34岁,邮箱是liuwu@example.com"
        }
    ],
    "response_format": {
        "type": "json_object"
    }
}'
响应示例响应示例
{
    "choices": [
        {
            "message": {
                "role": "string",
                "content": "string"
            },
            "finish_reason": "string",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "string",
    "usage": {
        "prompt_tokens": 0,
        "completion_tokens": 0,
        "total_tokens": 0,
        "prompt_tokens_details": {
            "cached_tokens": 0
        }
    },
    "created": 0,
    "system_fingerprint": null,
    "model": "string",
    "id": "string"
}

请求参数

Header 参数
Authorization
string 
必需
示例值:
Bearer {{DASHSCOPE_API_KEY}}
Content-Type
string 
必需
示例值:
application/json
Body 参数application/json
model
string 
必需
messages
array [object {2}] 
必需
role
string 
必需
content
string 
必需
response_format
object 
必需
type
string 
必需
示例

返回响应

🟢200成功
application/json
Body
choices
array [object {4}] 
必需
message
object 
可选
finish_reason
string 
可选
index
integer 
可选
logprobs
null 
可选
object
string 
必需
usage
object 
必需
prompt_tokens
integer 
必需
completion_tokens
integer 
必需
total_tokens
integer 
必需
prompt_tokens_details
object 
必需
created
integer 
必需
system_fingerprint
null 
必需
model
string 
必需
id
string 
必需
上一页
支持的模型
下一页
支持的模型
Built with