赞
踩
在使用yi-34B进行问答的时候,出现了模型重复输出内容的情况,如下图所示。
上图系群友【悟】提供。
几天之后,又有群友反馈出现了这个情况。
破案了同志们,用vllm直接推理yi模型确实会重复刷屏,但是用官方给的web_demo推理是没问题的。
使用vllm推理yi模型的时候,发送消息中需要加入"stop_token_ids": [7],就可以解决重复刷屏的问题。
例如:
import asyncio
from vllm import AsyncEngineArgs, AsyncLLMEngine, SamplingParams
engine = AsyncLLMEngine.from_engine_args(AsyncEngineArgs("01-ai/Yi-6B-Chat"))
param = SamplingParams(max_tokens=50, stop_token_ids=[7])
generator = engine.generate("<|im_start|>user\nhi<|im_end|>\n<|im_start|>assistant\n", param, "req_test")
async def test():
answer = None
async for result in generator:
print(result.finished, "-", result.outputs[0].text)
answer = result.outputs[0].text
print("Answer:", answer)
asyncio.get_event_loop().run_until_complete(test())
在这个代码块中,param参数写入了该配置,就可以正常输出了。在实际的使用中,你需要根据你自己的代码合理调整。
代码引用自群友【Yw zheng】。
一个可能会有用的链接:
https://scisharp.github.io/LLamaSharp/0.5/Tricks/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。