DeepSeek思考模式接入后,界面一直显示推理却没有最终答案,应检查是否只读取了reasoning_content。推理与最终回答是两个并列字段,最终回答读取content,不能把推理流当成已经完成的业务结果。
把两类文本分别接收
非流式请求从返回消息中分别取值;流式请求则从delta中分别累积reasoning_content与content。两者都应处理空值,不能因为某个片段没有最终文本,就直接结束读取。
建议界面将推理显示与答案区域分开,保存结果时记录结束状态。更多字段用法可在DeepSeek接口使用教程中查阅。若把两个字段混成一个字符串,下游摘要或JSON解析也可能读到不该处理的内容。
确认开关传到了请求中
采用OpenAI SDK的聊天补全方式时,thinking配置需要通过extra_body传入,可设置type为enabled或disabled。不要只在自定义配置对象里改值,却没有把它传给实际请求。调试时保留脱敏后的请求结构。
思考模式下,temperature等部分采样参数不会生效。反复调整这些值无法代替正确配置思考开关,也不应把“没有报错”视为参数已起作用。
按是否携带tools保存历史
不带tools时,历史推理内容无需回传,传入后也会被忽略;携带tools时,后续请求需要完整回传此前推理内容,包括没有实际调用工具的轮次。省略可能导致400。对接多种AI接口时,应分别保存必要字段。测试中同时覆盖带工具与不带工具的连续追问,检查序列化过程有没有删掉推理内容。
原创文章,作者:eastbtc,如若转载,请注明出处:https://www.eastbtc.com/ai/deepseek/29829.html