指定前缀续写(Partial Mode)

更新时间:2025-02-27 01:56:53

在解答数学考试的应用题时,我们需要以“解:”开头,否则可能会扣除格式分。类似地,在某些场景中,您可能需要大模型基于特定前缀来续写内容。为了实现这一功能,您可以在使用通义千问 API 时开启 Partial Mode,这将使大模型能够从您提供的起始文本继续生成内容。

支持的模型

  • qwen-max 系列

    qwen-max、qwen-max-0125、qwen-max-0919、qwen-max-latest

  • qwen-plus 系列

    qwen-plus、qwen-plus-0125、qwen-plus-0112、qwen-plus-1220、qwen-plus-1127、qwen-plus-1125、qwen-plus-0919、qwen-plus-latest

  • qwen-turbo 系列

    qwen-turbo、qwen-turbo-1101、qwen-turbo-0919、qwen-turbo-latest

  • 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-开源系列

    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

开始使用

前提条件

您需要已 获取API Key配置API Key到环境变量。如果通过 OpenAI SDK 或 DashScope SDK 进行调用,需要安装SDK。如果您是子业务空间的成员,请确保超级管理员已为该业务空间进行 模型授权操作

使用方法

您需要在 messages 数组的最后一条 Assistant Message 中指定前缀内容,并设置 partial参数为true

一般来说,发出请求时的 messages 数组中的最后一条 Message 是 User Message;但 Partial Mode 最后一条 Message 需要是您指定了前缀信息的 Assistant Message。
OpenAI兼容
DashScope
Python
Node.js
curl

示例代码

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)

返回结果

披上了一袭翠绿的新装,万物复苏,生机盎然。阳光温柔地洒在每一寸土地上,仿佛是大自然最温暖的拥抱。花儿争先恐后地绽放,红的、黄的、紫的……如同调色盘上最绚烂的颜色,点缀着这幅春日画卷。微风轻拂,带来阵阵花香与泥土的清新气息,令人心旷神怡。小溪边,柳树抽出嫩芽,随风摇曳生姿;田野里,农民伯伯开始忙碌起来,播下希望的种子。在这充满活力与美好的季节里,我感受到了生命的力量,心中充满了无限的喜悦与期待。

示例代码

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 -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"
}
暂时不支持 Java SDK。
Python
curl

示例代码

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 -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"
}

大模型返回的内容并不包含您指定的前缀内容,您需要手动将前缀内容与返回结果拼接。

错误码

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

  • 本页导读 (1)
  • 支持的模型
  • 开始使用
  • 前提条件
  • 使用方法
  • 错误码