通义千问 Qwen-LLM 大模型 API 接口
通义千问 Qwen-LLM 大模型 API 接口服务为开发者提供基于通义大模型的自然语言处理和人工智能技术支持,为企业打造强大的智能化解决方案。无论是文本生成、语义理解还是智能问答,Qwen-LLM API 都能高效满足多样化需求,助力提升业务效率,推动创新发展。
接口地址
POST https://wcode.net/api/gpt/v1/chat/completions
✅️ 此 API 接口兼容 OpenAI 的接口规范,也就是可以直接使用 OpenAI 的 SDK 来调用大模型。仅需要将
BASE_URL
替换为https://wcode.net/api/gpt/v1
即可使用 OpenAI SDK 进行调用。
请求方法
POST
快速开始(请求示例)
(注:以下请求示例中的 API_KEY
需要替换后再发起请求。 获取 API_KEY
入口:https://wcode.net/get-apikey)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen2.5-14b-instruct",
"messages": [
{
"role": "user",
"content": "你好,请介绍一下你自己"
}
]
}'
请求头(Request Headers)
Header | 值 | 备注 | 示例 | 相关链接 |
---|---|---|---|---|
Authorization | Bearer API_KEY |
格式:Bearer + 空格 + API_KEY | Bearer sk-..... |
获取 API_KEY 入口:https://wcode.net/get-apikey |
Content-Type | application/json |
固定为 application/json |
请求参数
🚀 model
| ✅️必填 | string
| 模型ID,可选 model 模型列表(部分):
模型ID | 模型名称 | 每 1000 tokens 费用 | 更新日期 |
---|---|---|---|
qvq-72b-preview |
通义千问-QvQ-72B-Preview | 0.046 | 2024-12-30 ❇️最近更新 |
qwen-mt-turbo |
通义千问-MT-Turbo | 0.0385 | 2024-12-26 ❇️最近更新 |
qwen-mt-plus |
通义千问-MT-Plus | 0.0765 | 2024-12-26 ❇️最近更新 |
qwen-vl-max |
通义千问VL-Max | 0.0115 | 2024-12-20 ❇️最近更新 |
qwen-turbo |
通义千问-Turbo | 0.0008 | 2024-12-20 ❇️最近更新 |
qwen-plus |
通义千问-Plus | 0.0025 | 2024-12-20 ❇️最近更新 |
qwq-32b-preview |
通义千问-QwQ-32B-Preview | 0.009 | 2024-11-28 |
qwen-vl-max-latest |
通义千问VL-Max-Latest | 0.0115 | 2024-11-21 |
qwen-vl-ocr |
通义千问VL-OCR | 0.0065 | 2024-11-14 |
qwen2.5-coder-14b-instruct |
通义千问2.5-Coder-14B | 0.008 | 2024-11-12 |
qwen2.5-coder-32b-instruct |
通义千问2.5-Coder-32B | 0.009 | 2024-11-12 |
qwen-coder-plus |
通义千问-Coder-Plus | 0.009 | 2024-11-12 |
qwen2-vl-7b-instruct |
通义千问2-VL-开源版-7B | 0.006 | 2024-10-23 |
qwen-max |
通义千问-Max | 0.0765 | 2024-10-15 |
qwen2.5-math-7b-instruct |
通义千问2.5-Math-7B | 0.0025 | 2024-09-19 |
qwen-coder-turbo |
通义千问-Coder-Turbo | 0.008 | 2024-09-19 |
qwen2.5-coder-7b-instruct |
通义千问2.5-Coder-7B | 0.0025 | 2024-09-19 |
qwen2.5-math-72b-instruct |
通义千问2.5-Math-72B | 0.0155 | 2024-09-19 |
qwen2.5-7b-instruct |
通义千问2.5-7B | 0.0025 | 2024-09-19 |
qwen2.5-72b-instruct |
通义千问2.5-72B | 0.0155 | 2024-09-19 |
qwen2.5-32b-instruct |
通义千问2.5-32B | 0.009 | 2024-09-19 |
qwen-math-turbo |
通义千问-Math-Turbo | 0.008 | 2024-09-19 |
qwen2.5-14b-instruct |
通义千问2.5-14B | 0.008 | 2024-09-19 |
qwen-vl-plus |
通义千问VL-Plus | 0.006 | 2024-09-13 |
qwen-math-plus |
通义千问-Math-Plus | 0.0155 | 2024-09-13 |
qwen2-math-72b-instruct |
通义千问2-Math-72B | 0.0155 | 2024-08-21 |
qwen2-math-7b-instruct |
通义千问2-Math-7B | 0.0025 | 2024-08-21 |
qwen2-57b-a14b-instruct |
通义千问2-开源版-57B | 0.009 | 2024-08-19 |
qwen2-72b-instruct |
通义千问2-开源版-72B | 0.0155 | 2024-08-19 |
text-embedding-v3 |
通用文本向量-v3 | 0.0009 | 2024-07-12 |
qwen2-7b-instruct |
通义千问2-开源版-7B | 0.0025 | 2024-06-07 |
qwen-long |
Qwen-Long | 0.0029 | 2024-05-20 |
farui-plus |
通义法睿-Plus-32K | 0.027 | 2024-05-14 |
qwen1.5-110b-chat |
通义千问1.5-开源版-110B | 0.018 | 2024-04-28 |
qwen1.5-7b-chat |
通义千问1.5-开源版-7B | 0.0025 | 2024-04-09 |
qwen1.5-72b-chat |
通义千问1.5-开源版-72B | 0.013 | 2024-04-09 |
qwen1.5-32b-chat |
通义千问1.5-开源版-32B | 0.009 | 2024-04-09 |
qwen1.5-14b-chat |
通义千问1.5-开源版-14B | 0.0055 | 2024-04-09 |
qwen-72b-chat |
通义千问-开源版-72B | 0.0255 | 2024-02-04 |
qwen-14b-chat |
通义千问-开源版-14B | 0.0105 | 2024-02-04 |
🚀 messages
| ✅️必填 | array
| 由历史对话组成的消息列表。array 中的每个元素形式通常为 {"role": 角色, "content": 内容}
。角色当前可选值为:system
,user
,assistant
。
仅
messages[0]
中支持role
为system
。一般情况下,
user
和assistant
需要交替出现,且messages
中最后一个元素的role
为user
。
🚀 stream
| 选填 | boolean
| 默认值 false
| 是否流式输出。
false
(默认值):模型生成完所有内容后一次性返回结果。
true
:返回符合 SSE 协议的响应,边生成边输出,即每生成一部分内容就立即输出一个片段(chunk),最后以一条data: [DONE]
消息结束。
🚀 enable_search
| 选填 | boolean
| 默认值 false
| 用于控制模型在生成文本时是否使用互联网搜索结果进行参考。qwen-vl 系列、qwen 开源系列与 qwen-long 模型暂时不支持配置该参数。
false
(默认值):关闭互联网搜索。
true
(启用互联网搜索功能可能会增加 tokens 消耗):启用互联网搜索,模型会将搜索结果作为文本生成过程中的参考信息,但模型会基于其内部逻辑判断是否使用互联网搜索结果。如果模型没有搜索互联网,建议优化 Prompt。部分 SDK 调用需通过
extra_body
配置。配置示例:extra_body: {"enable_search": true}
。
🚀 max_tokens
| 选填 | int
| 允许模型生成的最大 tokens 数。默认值和最大值都是模型的最大输出长度。
应用场景:max_tokens 参数适用于需要限制字数(如生成摘要、关键词)、控制成本或减少响应时间的场景。
🚀 temperature
| 选填 | float
| 采样温度,用于控制模型生成文本的多样性。取值范围: [0, 2)
。temperature 越高,生成的文本更多样,反之,生成的文本更确定。
🚀 top_p
| 选填 | float
| 核采样概率阈值,用于控制模型生成文本的多样性。取值范围:(0, 1.0]
。top_p 越高,生成的文本更多样。反之,生成的文本更确定。
由于 temperature 与 top_p 均可以控制生成文本的多样性,因此建议您只设置其中一个值。
🚀 seed
| 选填 | int
| 设置 seed 参数会使文本生成过程更具有确定性,通常用于使模型每次运行的结果一致。取值范围:无符号 64 位整数,即 0 到 2^64−1。
在每次模型调用时传入相同的 seed 值,并保持其他参数不变,模型将很可能返回相同的结果。
🚀 presence_penalty
| 选填 | float
| 控制模型生成文本时的内容重复度。取值范围:[-2.0, 2.0]
。正数会减少重复度,负数会增加重复度。
适用场景:
较高的 presence_penalty 适用于要求多样性、趣味性或创造性的场景,如创意写作或头脑风暴。
较低的 presence_penalty 适用于要求一致性或专业术语的场景,如技术文档或其他正式文档。
🚀 stop
| 选填 | string 或 array
| 使用 stop 参数后,当模型生成的文本即将包含指定的字符串或 token_id 时,将自动停止生成。
适用场景:可以在 stop 参数中传入敏感词来控制模型的输出。
注意事项:stop 为 array 类型时,不可以将 token_id 和字符串同时作为元素输入,比如不可以指定 stop 为
["你好", 123456]
。
返回参数
不同模型返回参数可能存在差异,请以实际返回为准。
返回参数 | 数据类型 | 说明 |
---|---|---|
id | string | 系统生成的标识本次调用的id。 |
model | string | 本次调用的模型名。 |
choices | array | 模型生成内容的详情。 |
choices[i].finish_reason | string | 结束标志。 |
choices[i].message | object | 模型生成的消息。 |
choices[i].message.role | string | 生成消息的角色。 |
choices[i].message.content | string | 生成消息的内容。 |
choices[i].index | int | 生成的结果序列编号。 |
created | int | 请求被创建时的时间戳。 |
usage | object | 请求所消耗的 tokens 数据。 |
usage.prompt_tokens | int | 用户输入转换成 token 后的数量。 |
usage.completion_tokens | int | 模型生成回复转换为 token 后的数量。 |
usage.total_tokens | int | prompt_tokens 与 completion_tokens 的总和。 |
响应头(Response Headers)
Header | 说明 | 示例 | 相关链接 |
---|---|---|---|
X-Account-Balance | API_KEY 余额(元) | 123.0165 |
API_KEY 费用充值入口:https://wcode.net/apikey-recharge |
Python 代码示例(Requests,qwen2.5-14b-instruct)
import requests
import json
url = "https://wcode.net/api/gpt/v1/chat/completions"
payload = json.dumps({
"model": "qwen2.5-14b-instruct",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你好"
}
]
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY' # TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Java 代码示例(OkHttp,qwen2.5-14b-instruct)
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"model\":\"qwen2.5-14b-instruct\",\"messages\":[{\"role\":\"system\",\"content\":\"You are a helpful assistant.\"},{\"role\":\"user\",\"content\":\"你好\"}]}");
Request request = new Request.Builder()
.url("https://wcode.net/api/gpt/v1/chat/completions")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer API_KEY") // TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
.build();
Response response = client.newCall(request).execute();
PHP 代码示例(Guzzle,qwen2.5-14b-instruct)
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY' // TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
];
$body = '{
"model": "qwen2.5-14b-instruct",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你好"
}
]
}';
$request = new Request('POST', 'https://wcode.net/api/gpt/v1/chat/completions', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
...其他编程语言可参考下方 curl http 请求示例进行调用
请求示例 1(qwen2.5-14b-instruct)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen2.5-14b-instruct",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你好"
}
]
}'
响应示例 1
{
"id": "chatcmpl-ffdb4232-88c8-9d4d-a220-f2cfb1a098e9",
"object": "chat.completion",
"created": 1734513252,
"model": "qwen2.5-14b-instruct",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!有什么我可以帮助你的吗?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 8,
"total_tokens": 28
}
}
请求示例 1.1(多轮对话,qwen2.5-14b-instruct)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen2.5-14b-instruct",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你好"
},
{
"role": "assistant",
"content": "你好!有什么可以帮助你的吗?"
},
{
"role": "user",
"content": "什么是AGI?"
}
]
}'
响应示例 1.1
{
"id": "chatcmpl-17797934-a40a-9f8f-adb3-b2052b4c2649",
"object": "chat.completion",
"created": 1734526811,
"model": "qwen2.5-14b-instruct",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "AGI是“Artificial General Intelligence”(通用人工智能)的缩写。与专门针对特定任务的人工智能不同,AGI指的是能够执行任何智力任务的能力,类似于人类的智能。这意味着一个具备AGI的系统能够理解、学习和应用知识到各种不同的领域,而不仅仅是在它被编程或训练去完成的任务上。\n\n实现AGI的目标包括让机器能够进行推理、解决问题、规划、学习新信息、适应环境变化以及使用自然语言等,这些都是当前许多AI系统尚无法完全做到的。目前,我们还没有达到AGI的水平,但这一领域的研究正在不断进步中。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 41,
"completion_tokens": 132,
"total_tokens": 173
}
}
请求示例 2(qwen2.5-14b-instruct,流式输出)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen2.5-14b-instruct",
"stream": true,
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你好"
}
]
}'
响应示例 2
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[{"index":0,"delta":{"content":"你好"},"finish_reason":null}]}
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[{"index":0,"delta":{"content":"有什么"},"finish_reason":null}]}
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[{"index":0,"delta":{"content":"可以帮助你的吗?"},"finish_reason":null}]}
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[{"index":0,"delta":{"content":""},"finish_reason":"stop"}]}
data: {"id":"chatcmpl-de564ea0-e018-920c-8481-b95dda73bfec","object":"chat.completion.chunk","created":1734513335,"model":"qwen2.5-14b-instruct","choices":[],"usage":{"prompt_tokens":20,"completion_tokens":7,"total_tokens":27}}
data: [DONE]
请求示例 3(图片理解,qwen-vl-plus)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen-vl-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "这张图片展示的画面是什么?"
},
{
"type": "image_url",
"image_url": {
"url": "https://zdkjdemo.oss-cn-shanghai.aliyuncs.com/dog_playing_with_sticks.jpg"
}
}
]
}
]
}'
响应示例 3
{
"id": "chatcmpl-b6193d25-c969-9105-9bd3-613e213ca03b",
"object": "chat.completion",
"created": 1728354278,
"model": "qwen-vl-plus",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "这是一张户外照片,一只狗正在草地上咬着一根木棍。这只狗看起来很放松,并且在享受它的时光。背景中有一些树木和草地的模糊图像,给人一种宁静的感觉。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 896,
"completion_tokens": 44,
"total_tokens": 940
}
}
请求示例 4(普通模式视频理解,暂不支持流式输出,qwen-vl-max)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen-vl-max-latest",
"input": {
"messages": [
{
"role": "system",
"content": [
{
"text": "You are a helpful assistant."
}
]
},
{
"role": "user",
"content": [
{
"video": "https://cloud.video.taobao.com/vod/S8T54f_w1rkdfLdYjL3S5zKN9CrhkzuhRwOhF313tIQ.mp4"
},
{
"text": "这段视频介绍的是什么?"
}
]
}
]
}
}'
响应示例 4
{
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"text": "这段视频展示的是一个中文界面的在线平台,该平台提供了一个模型调试的功能。用户可以在这个平台上选择不同的模型进行调试,并且可以通过输入框输入信息来进行交互。此外,还可以调整一些参数,如top_p、temperature等,以优化模型的表现。\n\n从界面上看,这个平台可能是一个人工智能或机器学习相关的服务提供商,例如阿里云百炼(见左上角的标志)。用户在这里可以体验和测试各种预训练好的模型,并根据需要对其进行微调以适应特定的应用场景。"
}
]
}
}
]
},
"usage": {
"output_tokens": 110,
"video_tokens": 5182,
"input_tokens": 5207
},
"request_id": "7cb1f695-d0b5-963e-a5ed-93c07ed810be"
}
请求示例 5(视频帧截图模式视频理解,支持流式输出,qwen-vl-max)
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "qwen-vl-max-latest",
"messages": [
{
"role": "user",
"content": [
{
"type": "video",
"video": [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
]
},
{
"type": "text",
"text": "描述这个视频的具体过程"
}
]
}
]
}'
响应示例 5
{
"id": "chatcmpl-c6b0ad15-509a-9ae2-bb5b-b566bfb731c6",
"object": "chat.completion",
"created": 1734521008,
"model": "qwen-vl-max-latest",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "这段视频展示了一场足球比赛中的一个瞬间。以下是具体过程的描述:\n\n1. **背景**:视频是在一个大型体育场拍摄的,观众席上坐满了观众。球场上有两支队伍,一支穿着蓝色球衣,另一支穿着红色球衣。\n\n2. **场景**:镜头从球门后面拍摄,可以看到球门网和守门员。守门员穿着绿色球衣,站在球门前准备应对对方的进攻。\n\n3. **动作**:\n - 一名身穿蓝色球衣的球员在中场附近控球。\n - 这名球员将球传给了另一名队友,这名队友迅速带球向前推进。\n - 穿着红色球衣的防守球员试图拦截,但未能成功。\n - 蓝色球衣的球员继续带球,并在接近球门时选择射门。\n\n4. **射门**:蓝色球衣的球员踢出一脚有力的射门,球飞向球门。\n\n5. **守门员反应**:守门员迅速做出反应,向球的方向扑去,试图阻止进球。\n\n6. **结果**:尽管守门员尽力扑救,但球还是飞进了球门,得分成功。\n\n整个过程展示了足球比赛中的一次精彩的进攻和进球瞬间,充满了紧张和激动的气氛。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1466,
"completion_tokens": 278,
"total_tokens": 1744
}
}
异常响应示例
{
"error": {
"message": "Invalid API-KEY",
"type": "invalid_request_error",
"param": null,
"code": null
}
}