inference icon indicating copy to clipboard operation
inference copied to clipboard

使用xinfernece启动DeepSeek-R1-Distill-Qwen-14B时候,通过程序调用接口,发现缺少<think>起始符号,有</think>

Open web3aipro opened this issue 10 months ago • 41 comments

使用xinfernece启动DeepSeek-R1-Distill-Qwen-14B时候,通过程序调用接口,发现缺少起始符号,有. 代码如下: `from openai import OpenAI client = OpenAI(base_url="http://127.0.0.1:9997/v1", api_key="not used actually")

question2 = "2.8比2.18大吗?" messages = [{"role": "user", "content": f'{question2}'}] response = client.chat.completions.create( model="custom-llm-deepseek", messages=messages, temperature=0.6, max_tokens=32768, )

content = response.choices[0].message.content print(content) ` 运行截图

Image

web3aipro avatar Feb 06 '25 03:02 web3aipro

是不是模型参数小了的问题

948024326 avatar Feb 06 '25 03:02 948024326

这个估计是xinference的bug问题

web3aipro avatar Feb 06 '25 07:02 web3aipro

使用ollama的时候也有类似的问题,只有一个符号。感觉是模型的问题

Victor384 avatar Feb 06 '25 09:02 Victor384

有用量化吗?我跑非量化的几次没碰过

qinxuye avatar Feb 07 '25 03:02 qinxuye

用的是哪个版本?

rowan-fan avatar Feb 07 '25 14:02 rowan-fan

同样的问题,我直接用vllm0.7.2 ‘vllm sreve’ 跑deepseek-Qwen-Distill-32B无量化版是有完整标签的,但是用xinference里面用vllm0.7.2,就会缺标签。

Jimmy-L99 avatar Feb 19 '25 14:02 Jimmy-L99

有用量化吗?我跑非量化的几次没碰过

用的这个DeepSeek-R1-Distill-Qwen-32B也会出现,说是用参数chat-template可以解决。但是launch的时候无法识别这个参数,chat-template,chat_template都试过。

George-TQL avatar Feb 20 '25 03:02 George-TQL

有用量化吗?我跑非量化的几次没碰过

用的这个DeepSeek-R1-Distill-Qwen-32B也会出现,说是用参数chat-template可以解决。但是launch的时候无法识别这个参数,chat-template,chat_template都试过。

chat_template 可以解决的来源能分享下吗

qinxuye avatar Feb 20 '25 03:02 qinxuye

我看了下,deepseek 相关模型的 chat template 确实 11 天前更新过。见:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/commit/3865e12a1eb7cbd641ab3f9dfc28c588c6b0c1e9

目前 Xinference 会接管模型的 chat template。我们会看下是否需要更新 xinf 的部分。

qinxuye avatar Feb 20 '25 03:02 qinxuye

我看了下,deepseek 相关模型的 chat template 确实 11 天前更新过。见:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/commit/3865e12a1eb7cbd641ab3f9dfc28c588c6b0c1e9

目前 Xinference 会接管模型的 chat template。我们会看下是否需要更新 xinf 的部分。

现在有什么方式可以解决吗,缺少了导致加上reasoning_content True也没生效。

George-TQL avatar Feb 24 '25 08:02 George-TQL

我看了下,deepseek 相关模型的 chat template 确实 11 天前更新过。见:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/commit/3865e12a1eb7cbd641ab3f9dfc28c588c6b0c1e9 目前 Xinference 会接管模型的 chat template。我们会看下是否需要更新 xinf 的部分。

现在有什么方式可以解决吗,缺少了导致加上reasoning_content True也没生效。

@George-TQL 你好,请问这个解决了吗

kelliaao avatar Feb 27 '25 08:02 kelliaao

reasoning_content: True 的话,没有 应该不会影响的。这个确认吗?

qinxuye avatar Feb 27 '25 08:02 qinxuye

我看了下,deepseek 相关模型的 chat template 确实 11 天前更新过。见:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/commit/3865e12a1eb7cbd641ab3f9dfc28c588c6b0c1e9 目前 Xinference 会接管模型的 chat template。我们会看下是否需要更新 xinf 的部分。

现在有什么方式可以解决吗,缺少了导致加上reasoning_content True也没生效。

@George-TQL 你好,请问这个解决了吗

xinference升级到最新版,vllm升级到0.7.3,然后我这边是可以了。

George-TQL avatar Feb 27 '25 08:02 George-TQL

使用SGLang时有同样问题,缺少符号

frankSARU avatar Mar 03 '25 11:03 frankSARU

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。

这个要看下怎么处理更合适。

qinxuye avatar Mar 03 '25 12:03 qinxuye

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。

这个要看下怎么处理更合适。

https://github.com/sgl-project/sglang/issues/3620 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

frankSARU avatar Mar 03 '25 12:03 frankSARU

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。 这个要看下怎么处理更合适。

sgl-project/sglang#3668 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

所有人用新的聊天模板都有这个问题。这要看大家是在服务端做或者在客户端做。我看sgl建议客户端做。

qinxuye avatar Mar 03 '25 14:03 qinxuye

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。 这个要看下怎么处理更合适。

sgl-project/sglang#3668 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

所有人用新的聊天模板都有这个问题。这要看大家是在服务端做或者在客户端做。我看sgl建议客户端做。

是的我希望能有一个选项,可以选择是否添加,因为目前已经部署的很多系统是不方便在客户端改的。其实我并不是很懂DS这么做的意义因为这造成了很普遍的问题。不在xinf使用vLLM时可以自己添加prefill解决,但是这不是一个优雅的方式。

frankSARU avatar Mar 04 '25 02:03 frankSARU

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。 这个要看下怎么处理更合适。

sgl-project/sglang#3668 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

所有人用新的聊天模板都有这个问题。这要看大家是在服务端做或者在客户端做。我看sgl建议客户端做。

是的我希望能有一个选项,可以选择是否添加,因为目前已经部署的很多系统是不方便在客户端改的。其实我并不是很懂DS这么做的意义因为这造成了很普遍的问题。不在xinf使用vLLM时可以自己添加prefill解决,但是这不是一个优雅的方式。

vllm 是什么选项?

qinxuye avatar Mar 04 '25 08:03 qinxuye

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。 这个要看下怎么处理更合适。

sgl-project/sglang#3668 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

所有人用新的聊天模板都有这个问题。这要看大家是在服务端做或者在客户端做。我看sgl建议客户端做。

是的我希望能有一个选项,可以选择是否添加,因为目前已经部署的很多系统是不方便在客户端改的。其实我并不是很懂DS这么做的意义因为这造成了很普遍的问题。不在xinf使用vLLM时可以自己添加prefill解决,但是这不是一个优雅的方式。

vllm 是什么选项?

https://github.com/sgl-project/sglang/issues/3668#issuecomment-2670371016 vllm的方式不是在启动命令里面加的选项,是一种prefill的方式,参照以上issue的评论

frankSARU avatar Mar 04 '25 08:03 frankSARU

把模型里tokenizer_config.json里<think>\\n删掉

sunchang272 avatar Mar 05 '25 00:03 sunchang272

把模型里tokenizer_config.json\n删掉

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。 这个要看下怎么处理更合适。

sgl-project/sglang#3620 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

我提到的这个issue就是你这个解决办法,相当于用以前的config替代更新的版本,试过了没有效果,因为xinf好像接管了模板设置

frankSARU avatar Mar 05 '25 00:03 frankSARU

把模型里tokenizer_config.json里\n删掉

现在 被加到输入模板了,因此正常来说,输出是一定不会输出这个标签的。 这个要看下怎么处理更合适。

sgl-project/sglang#3620 按照该issue改动config无效,猜测是平台接管template所致,因此今天升级大失败,决定回退到1.2.2版本 我会继续跟进你们的新版本

我提到的这个issue就是你这个解决办法,相当于用以前的config替代更新的版本,试过了没有效果,因为xinf好像接管了模板设置

要不注册个新模型,注册时好像自己可以配template

sunchang272 avatar Mar 10 '25 03:03 sunchang272

Image 在我自己的环境里测试时,QwQ也是一样的,而且我觉得吞掉的token不止是起始符号,还有开头的语气词之类的。我使用的前端会根据是否有符号对来添加思考过程折叠标签,不能单独使用一个符号。 1.3.1开启解析推理内容后,DeepSeek可以产生起始符号,但是起始字符是逗号,和上面的现象一致 另外最新版1.3.1部署SGLang版本QwQ 32B时,不能开启Parsing Reasoning开关,不然会报错NoneType,猜测是因为QwQ不接受reasoning content这个参数

frankSARU avatar Mar 10 '25 04:03 frankSARU

Image 1.3.1.post1版本,通过以下两处修订可以解决: 1.删除掉llm_family.json或llm_family_modelscope.json中对应模型的chat_template中的

Image

2.修改_get_first_chat_completion_chunk函数中的delta["content"] = ""为delta["content"] = choice["text"]

wyy007 avatar Mar 20 '25 06:03 wyy007

遇到了同样的问题

lwinhong avatar Mar 28 '25 09:03 lwinhong

遇到一样的问题,VLLM部署的deepseek模型,缺少think标签

yz1yang avatar Apr 08 '25 02:04 yz1yang

xinference换到1.2.2的版本就可以了;但是低版本的不支持最新的模型

yz1yang avatar Apr 08 '25 02:04 yz1yang

xinference换到1.2.2的版本就可以了;但是低版本的不支持最新的模型

最新版本中,在启动推理模型时需要手动打开 解析推理内容 开关,可以解决这个问题。命令行启动添加--reasoning-content true参数。

frankSARU avatar Apr 08 '25 02:04 frankSARU

xinference换到1.2.2的版本就可以了;但是低版本的不支持最新的模型

最新版本中,在启动推理模型时需要手动打开 解析推理内容 开关,可以解决这个问题。命令行启动添加--reasoning-content true参数。

打开了这个,推理的结果think那一部分全是none

yz1yang avatar Apr 08 '25 03:04 yz1yang