对话前缀续写
更新时间:2025-04-18
1. 使用场景
对话前缀续写场景中,用户提供 assistant 开头的消息,来让模型补全其余的消息。
2. 使用方式
在messages请求的role=assistant中,添加"prefix": True
,如下所示
messages = [
{"role": "user", "content": "Please write quick sort code"},
{"role": "assistant", "content": "```python\n", "prefix": True}
]
注意事项
- 使用对话前缀续写时,用户需确保
messages
列表里最后一条消息的role
为assistant
,并设置最后一条消息的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当中指向上述大模型生成的代码,执行结果如下: