需通过API请求体的stop参数传入字符串数组作为停止标识符,模型在输出中首次完整匹配任一数组元素时终止生成,支持多字节Unicode符号但须确保UTF-8编码一致。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜
如果您在调用DeepSeek API时希望模型在生成文本过程中遇到特定字符串时立即终止输出,需通过请求体中的stop参数传入自定义停止标识符。以下是实现该功能的具体操作步骤:
一、在JSON请求体中正确配置stop字段
stop参数必须为字符串数组类型,每个元素为一个用于中断生成的完整子串;模型将在输出中首次匹配到任一数组元素的**完整出现位置**时停止,不支持正则或前缀匹配。
1、构造标准JSON请求体,确保stop字段位于顶层键中,且值为字符串数组。
2、将目标停止符(如"###"、"\n\n"、"[END]")作为独立字符串写入数组,例如:"stop": ["###", "[END]"]。
3、确认数组内所有字符串均未包含不可见控制字符(如零宽空格、BOM),避免因编码差异导致匹配失败。
二、使用curl命令行发送含stop参数的请求
通过curl可直接验证stop行为,需确保Content-Type为application/json且Authorization头有效。
1、编写完整curl命令,将stop数组嵌入data部分,注意双引号转义:
2、执行命令:curl -X POST "https://api.deepseek.com/v1/chat/completions" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"请生成一段以###结束的文本"}],"stop":["###"]}'。
3、观察响应中choices[0].message.content末尾是否严格截断于###之前,且无后续字符。
三、在Python代码中动态注入stop标识符
使用requests库构建请求时,stop数组应作为字典键值传入,由Python自动序列化为合法JSON数组,规避手动拼接引号错误。
1、导入requests模块并定义API端点与密钥。