指定前缀续写(Partial Mode)

更新时间: 2025-08-14 15:59:21

在代码补全等场景,需要模型从指定前缀续写内容。您可在调用通义千问 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 模型超时,我们会在响应体中将已生成的内容返回,不再报超时错误。目前支持的模型如下:

支持的模型

  • qwen-max-2024-09-19 及之后的模型

  • qwen-plus-2024-11-25 及之后的模型

  • qwen-flash-2025-07-28 及之后的模型

  • qwen-turbo-2024-11-01 及之后的模型

  • qwen-vl-max-2025-01-25 及之后的模型

  • qwen-vl-plus-2025-01-02 及之后的模型

  • qwen-long-2025-01-25 及之后的模型

  • qwen3 开源模型(qwen3-235b-a22b、qwen3-32b、qwen3-30b-a3b、qwen3-14b、qwen3-8b、qwen3-4b、qwen3-1.7b、qwen3-0.6b)

  • qwen2.5开源模型(qwen2.5-14b-instruct-1m、qwen2.5-7b-instruct-1m、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)

此时生成的内容是不完整的。您可以使用 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)

错误码

如果模型调用失败并返回报错信息,请参见错误信息进行解决。

上一篇: 结构化输出 下一篇: 用户指南(应用)