资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

对话前缀续写

​1. 使用场景

对话前缀续写场景中,用户提供 assistant 开头的消息,来让模型补全其余的消息。

​2. 使用方式

在messages请求的role=assistant中,添加"prefix": True,如下所示

messages = [
    {"role": "user", "content": "Please write quick sort code"},
    {"role": "assistant", "content": "```python\n", "prefix": True}
]

注意事项

  1. 使用对话前缀续写时,用户需确保 messages 列表里最后一条消息的 roleassistant,并设置最后一条消息的 prefix 参数为 True

​3. 支持模型列表

  • deepseek-v3
  • deepseek-r1

​4. 使用示例

下面给出了对话前缀续写的兼容OpenAI规范的完整 Python 代码样例。在这个例子中,我们设置 assistant 开头的消息为 "```python\n" 来强制模型输出 python 代码,并设置 stop 参数为 ['```'] 来避免模型的额外解释。

请求

client = OpenAI(
    api_key="您的 APIKEY", 
    base_url="https://qianfan.baidubce.com/v2"
)
 
messages = [
    {"role": "user", "content": "Please write quick sort code"},
]

response = client.chat.completions.create(
    model="deepseek-v3",
    messages=messages,
    extra_body={"prefix":"```python\n"}
)

print(response.choices[0].message.content)

返回

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)

# Example usage:
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print(sorted_arr)  # Output: [1, 1, 2, 3, 6, 8, 10]

在vscode当中指向上述大模型生成的代码,执行结果如下:

image.png