AI大模型流式输出效果(打字效果)
最近在研究transformers下的LLM,一开始可以根据AutoTokenizer和AutoModel等实现模型对话,但都是一次性返回结果,虽然可以达到效果,但与市面上的来说,感觉是缺少了点灵魂。于是就开始加入流式输出效果(打字效果)。
在前端,可以使用EventSource,如:
const eventSource = new EventSource('http://'+url+'/'+params);
eventSource.onmessage = function(event) {
console.log("event.data是获取到的返回值")
}
eventSource.onerror = function (event){
console.log("出错处理")
}
在python中:
def event_stream():
for response in chatglm.stream_chat(tokenizer,......
yield f"data: {data}\n\n"
return StreamingHttpResponse(event_stream(), content_type='text/event-stream',
headers={'Cache-Control': 'no-cache'})
功能实现后,感觉速度都快了

浙公网安备 33010602011771号