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'})

功能实现后,感觉速度都快了

posted @ 2024-05-06 11:03  扬帆启航了  阅读(2139)  评论(0)    收藏  举报