指定前缀续写(Partial Mode)
在代码补全等场景,需要模型从指定前缀续写内容。您可在调用通义千问 API 时启用 Partial Mode,确保模型严格基于您的起始文本进行生成。
支持的模型
qwen-max 系列
qwen-max-2024-09-19及之后的模型
qwen-plus 系列(非思考模式)
qwen-plus-2024-09-19及之后的模型
qwen-flash 系列(非思考模式)
qwen-flash-2025-07-28及之后的模型
qwen-turbo 系列(非思考模式)
qwen-turbo-2024-09-19及之后的模型
qwen-math 系列
qwen-math-plus、qwen-math-plus-latest、qwen-math-plus-0919、qwen-math-turbo、qwen-math-turbo-latest、qwen-math-turbo-0919、qwen2.5-math-72b-instruct、qwen2.5-math-7b-instruct、qwen2.5-math-1.5b-instruct
qwen-coder 系列
qwen-coder-plus、qwen-coder-plus-latest、qwen-coder-plus-2024-11-06、qwen-coder-turbo、qwen-coder-turbo-latest、qwen-coder-turbo-2024-09-19、qwen2.5-coder-32b-instruct、qwen2.5-coder-14b-instruct、qwen2.5-coder-7b-instruct、qwen2.5-coder-3b-instruct、qwen2.5-coder-1.5b-instruct、qwen2.5-coder-0.5b-instruct
qwen-开源系列
Qwen3 开源模型(非思考模式)、qwen2.5-72b-instruct、qwen2.5-32b-instruct、qwen2.5-14b-instruct、qwen2.5-7b-instruct、qwen2.5-3b-instruct、qwen2.5-1.5b-instruct、qwen2.5-0.5b-instruct
qwen-vl-max 系列
qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-2024-11-19、qwen-vl-max-2025-01-25及之后的模型
qwen-vl-plus 系列
qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-2025-05-07、qwen-vl-plus-0809
开始使用
前提条件
您需要已 获取API Key并 配置API Key到环境变量。如果通过 OpenAI SDK 或 DashScope SDK 进行调用,需要安装SDK。如果您是子业务空间的成员,请确保超级管理员已为该业务空间进行 模型授权操作。
暂时不支持 DashScope Java SDK。
使用方法
您需要在 messages 数组的最后一条 Assistant Message 中指定前缀内容,并设置 partial
参数为true
。
一般来说,发出请求时的 messages 数组中的最后一条 Message 是 User Message;但 Partial Mode 最后一条 Message 需要是您指定了前缀信息的 Assistant Message。
文生文模型
qwen-max 系列、qwen-plus 系列、qwen-turbo 系列、qwen-开源系列、qwen-math 系列、qwen-coder 系列。
OpenAI兼容
Python
示例代码
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"), # 如果您没有配置环境变量,请在此处用您的API Key进行替换
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 填写DashScope服务的base_url
)
completion = client.chat.completions.create(
model="qwen-plus",
messages=[{
"role": "user",
"content": "请对“春天来了,大地”这句话进行续写,来表达春天的美好和作者的喜悦之情"
},
{
"role": "assistant",
"content": "春天来了,大地",
"partial": True
}]
)
print(completion.choices[0].message.content)
返回结果
披上了一袭翠绿的新装,万物复苏,生机盎然。阳光温柔地洒在每一寸土地上,仿佛是大自然最温暖的拥抱。花儿争先恐后地绽放,红的、黄的、紫的……如同调色盘上最绚烂的颜色,点缀着这幅春日画卷。微风轻拂,带来阵阵花香与泥土的清新气息,令人心旷神怡。小溪边,柳树抽出嫩芽,随风摇曳生姿;田野里,农民伯伯开始忙碌起来,播下希望的种子。在这充满活力与美好的季节里,我感受到了生命的力量,心中充满了无限的喜悦与期待。
Node.js
示例代码
import OpenAI from "openai";
const openai = new OpenAI(
{
// 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:apiKey: "sk-xxx",
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
);
const completion = await openai.chat.completions.create({
model: "qwen-plus", //模型列表:https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "请对“春天来了,大地”这句话进行续写,来表达春天的美好和作者的喜悦之情" },
{ role: "assistant", content: "春天来了,大地", partial: true}
],
});
console.log(completion.choices[0].message.content)
curl
示例代码
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [{
"role": "user",
"content": "请对“春天来了,大地”这句话进行续写,来表达春天的美好和作者的喜悦之情"
},
{
"role": "assistant",
"content": "春天来了,大地",
"partial": true
}]
}'
返回结果
{
"choices": [
{
"message": {
"role": "assistant",
"content": "换上了翠绿的新装,万物复苏,生机勃勃。阳光透过轻柔的云层,洒在刚刚探出头的小草上,仿佛给它们披上了一层金色的纱衣。花儿们也不甘落后,争先恐后地绽放着自己的美丽,红的、黄的、紫的……五彩斑斓,像是大自然精心布置的一幅绚丽画卷。微风中夹杂着泥土的芬芳与花香,让人心旷神怡。漫步在这春意盎然的世界里,我的心情也跟着明媚起来,感受到了生命的力量和希望的美好。"
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 34,
"completion_tokens": 125,
"total_tokens": 159
},
"created": 1731898325,
"system_fingerprint": null,
"model": "qwen-plus",
"id": "chatcmpl-244c5496-6a84-9380-951d-49d4691f252a"
}
DashScope
暂时不支持 Java SDK。
Python
示例代码
import os
import dashscope
messages = [{
"role": "user",
"content": "请对“春天来了,大地”这句话进行续写,来表达春天的美好和作者的喜悦之情"
},
{
"role": "assistant",
"content": "春天来了,大地",
"partial": True
}]
response = dashscope.Generation.call(
# 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model='qwen-plus',
messages=messages,
result_format='message',
)
print(response.output.choices[0].message.content)
返回结果
仿佛从漫长的冬眠中苏醒,披上了一袭翠绿的新装。万物复苏,生机勃勃,小草偷偷地探出了头,花朵也争先恐后地绽放着自己的美丽,散发出阵阵芳香。树木抽出嫩芽,一片片叶子在阳光下闪烁着生命的光泽。河流解冻,潺潺流水声如同大自然最美妙的乐章,唤醒了沉睡的山川。在这温暖的季节里,不仅自然界充满了活力与希望,人们的心灵也随之变得轻盈而愉悦,仿佛所有的烦恼都随着春风飘散而去。我走在这样的景色之中,心中满是欢喜与感激,感谢这美好的春日时光,让生活更加多彩多姿。
curl
示例代码
curl -X POST "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"input":{
"messages":[{
"role": "user",
"content": "请对“春天来了,大地”这句话进行续写,来表达春天的美好和作者的喜悦之情"
},
{
"role": "assistant",
"content": "春天来了,大地",
"partial": true
}]
},
"parameters": {
"result_format": "message"
}
}'
返回结果
{
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "换上了嫩绿的新装,万物复苏,生机盎然。阳光透过轻盈的云层,温柔地抚摸着每一寸土地,仿佛是大自然最温暖的拥抱。花朵竞相开放,散发出阵阵芬芳,吸引着蜜蜂与蝴蝶前来探访,它们忙碌的身影在花间穿梭,构成了一幅生动活泼的画面。小溪解冻,潺潺流水声如同天籁之音,唤醒了沉睡一冬的小动物们,它们欢快地在林间跳跃、嬉戏。这一切美好景象,让人心情愉悦,仿佛连空气中都弥漫着幸福的味道。我走在这样的季节里,心中充满了对生活的热爱和对未来无限美好的憧憬。"
}
}
]
},
"usage": {
"total_tokens": 177,
"output_tokens": 143,
"input_tokens": 34
},
"request_id": "bb4dab4a-aba1-9786-9857-d0743bab11e8"
}
视觉理解模型
qwen-vl-max 系列、qwen-vl-plus 系列。
OpenAI兼容
Python
示例代码
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="qwen-vl-max-latest",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url":
{
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
}
},
{
"type": "text",
"text": "请你根据这幅图像描绘的场景,以“海边的女孩”为开头进行续写,来表达对美好事物的向往。"
}]
},
{
"role": "assistant",
"content": "海边的女孩",
"partial": True
}],
)
print(completion.choices[0].message.content)
返回结果
,与她的金毛犬共享着夕阳的温柔。沙滩上,她们的手掌轻轻相触,仿佛在传递无言的默契与爱意。海风轻拂,带来阵阵咸湿的气息,女孩的笑容如花般绽放,映衬着金色的余晖。这一刻,时间仿佛静止,唯有美好与宁静在空气中弥漫,让人不禁向往这般纯粹而温馨的时光。
Node.js
示例代码
import OpenAI from "openai";
const openai = new OpenAI({
// 若没有配置环境变量,请用百炼API Key将下行替换为:apiKey: "sk-xxx"
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const response = await openai.chat.completions.create({
model: "qwen-vl-max-latest", // 此处以qwen-vl-max-latest为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/models
messages: [{
role: "system",
content: "You are a helpful assistant."},
{
role: "user",
content: [{
type: "image_url",
image_url: {
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
}
},
{
type: "text",
text: "请你根据这幅图像描绘的场景,以“海边的女孩”为开头进行续写,来表达对美好事物的向往。"
}
]
},
{
role: "assistant",
content: "海边的女孩",
"partial": true
}
]
});
console.log(response.choices[0].message.content);
}
main()
curl
示例代码
curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen-vl-max-latest",
"messages": [
{"role":"system",
"content": "You are a helpful assistant."},
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"}},
{"type": "text", "text": "请你根据这幅图像描绘的场景,以“海边的女孩”为开头进行续写,来表达对美好事物的向往。"}
]
},
{"role":"assistant",
"content": "海边的女孩",
"partial": true}
]
}'
返回结果
{
"choices": [
{
"message": {
"content": ",与一只金毛犬共享着夕阳的温柔。她坐在柔软的沙滩上,微笑着与狗狗击掌,仿佛在庆祝这美好的时光。海风轻拂,带来阵阵清凉,金色的阳光洒在她们身上,勾勒出一幅和谐的画面。这一刻,所有的烦恼都随风而去,只剩下对美好事物的向往和内心的宁静。这样的场景,让人不禁憧憬起简单而纯粹的幸福生活。",
"role": "assistant"
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 1304,
"completion_tokens": 91,
"total_tokens": 1395
},
"created": 1753241713,
"system_fingerprint": null,
"model": "qwen-vl-max-latest",
"id": "chatcmpl-f2b1a0b7-a0ed-9685-91c9-0fc418a6c513"
}
DashScope
暂时不支持 Java SDK。
Python
示例代码
import os
import dashscope
messages = [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": [
{"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"},
{"text": "请你根据这幅图像描绘的场景,以“海边的女孩”为开头进行续写,来表达对美好事物的向往。"}]
},
{
"role": "assistant",
"content": "海边的女孩",
"partial": True
}
]
response = dashscope.MultiModalConversation.call(
#若没有配置环境变量, 请用百炼API Key将下行替换为: api_key ="sk-xxx"
api_key = os.getenv('DASHSCOPE_API_KEY'),
model = 'qwen-vl-max-latest',
messages = messages
)
print(response.output.choices[0].message.content[0]["text"])
返回结果
仿佛从漫长的冬眠中苏醒,披上了一袭翠绿的新装。万物复苏,生机勃勃,小草偷偷地探出了头,花朵也争先恐后地绽放着自己的美丽,散发出阵阵芳香。树木抽出嫩芽,一片片叶子在阳光下闪烁着生命的光泽。河流解冻,潺潺流水声如同大自然最美妙的乐章,唤醒了沉睡的山川。在这温暖的季节里,不仅自然界充满了活力与希望,人们的心灵也随之变得轻盈而愉悦,仿佛所有的烦恼都随着春风飘散而去。我走在这样的景色之中,心中满是欢喜与感激,感谢这美好的春日时光,让生活更加多彩多姿。
curl
示例代码
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-vl-max-latest",
"input":{
"messages":[
{"role": "system",
"content": "You are a helpful assistant."},
{"role": "user",
"content": [
{"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"},
{"text": "请你根据这幅图像描绘的场景,以“海边的女孩”为开头进行续写,来表达对美好事物的向往。"}]
},
{"role": "assistant",
"content": "海边的女孩",
"partial": true
}
]
}
}'
返回结果
{
"output": {
"choices": [
{
"message": {
"content": [
{
"text": ",沐浴在金色的夕阳中,与她的金毛犬共享这片刻的宁静。女孩微笑着,轻抚着狗狗的前爪,仿佛在诉说着无尽的温柔与爱意。海浪轻轻拍打着沙滩,带来阵阵清新的海风,空气中弥漫着自由与幸福的气息。这一刻,人与自然和谐共处,展现了生活中最纯粹的美好,让人不禁向往这种简单而温馨的时光。"
}
],
"role": "assistant"
},
"finish_reason": "stop"
}
]
},
"usage": {
"total_tokens": 1395,
"input_tokens_details": {
"image_tokens": 1249,
"text_tokens": 55
},
"output_tokens": 91,
"input_tokens": 1304,
"output_tokens_details": {
"text_tokens": 91
},
"image_tokens": 1249
},
"request_id": "8d445bef-0ac1-9a45-8ef7-1643eb58e810"
}
大模型返回的内容并不包含您指定的前缀内容,您需要手动将前缀内容与返回结果拼接。
基于超时返回的内容继续生成
通常情况下,使用非流式输出方式调用模型服务会有 180 秒的超时报错机制。如果您使用 DashScope 的接口调用 qwen-plus 模型超时,我们会在响应体中将已生成的内容返回,不再报超时错误。目前支持的模型如下:
此时生成的内容是不完整的。您可以使用 Partial Mode 对不完整的内容进行续写。
import os
from dashscope import Generation
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "请你写一篇论述中国家庭亲子关系的文章,不少于8000字"},
]
def get_messages_call(messages):
response = Generation.call(
# 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key = "sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen-plus",
messages=messages,
result_format="message",
)
return response
response = get_messages_call(messages=messages)
assistant_message = response.output.choices[0].message
if response.output.finish_reason != "null":
# 此时响应内容完整
print(assistant_message)
else:
# 此时响应内容不完整
print("响应超时,开始续写......")
assistant_message["partial"] = True
messages.append(assistant_message)
continue_response = get_messages_call(messages=messages)
print(assistant_message.content+continue_response.output.choices[0].message.content)
错误码
如果模型调用失败并返回报错信息,请参见错误信息进行解决。