LangBot icon indicating copy to clipboard operation
LangBot copied to clipboard

[Feature]: 是否能像现有的问答AI一样,提供流式回复用户,deepseek深度思考模型,体感用下来会很卡顿

Open leeAx opened this issue 1 year ago • 12 comments

这是一个?

新功能

详细描述

问题很简单,但是有深度思考,回复就很慢

Image

leeAx avatar Feb 09 '25 12:02 leeAx

希望有流式输出,用户使用体验就好很多

leeAx avatar Feb 09 '25 12:02 leeAx

+1

likeaturtle avatar Feb 09 '25 12:02 likeaturtle

目前飞书可以实现流式消息输出

leeAx avatar Feb 09 '25 13:02 leeAx

+1

wuwen635028360 avatar Feb 10 '25 02:02 wuwen635028360

或者 能不能把deepseek的think过程 做个可选项 做一个屏蔽 直接输出结果 不然输出的结果太多了

Yuai007 avatar Feb 17 '25 04:02 Yuai007

目前飞书可以实现流式消息输出

@leeAx 这个需要配置什么吗,现在默认应该不是流式的消息输出,感官上回复很慢

whtis avatar Feb 18 '25 08:02 whtis

+1

94lw avatar Feb 19 '25 01:02 94lw

飞书流式输出 +1

hiSober avatar Feb 19 '25 03:02 hiSober

1.这个功能不可能实现的 微信端限制 除非你不在微信上面用 自己开发程序,直接调流式输出的接口,流式接收就行了 2.还有think过程,过滤不掉除非不用deepseek_r1,或者自己中间加个代码处理一下,只不过这样回复时间就会变的很长了,体验更不好

zhangshaorui avatar Feb 21 '25 06:02 zhangshaorui

1.这个功能不可能实现的 微信端限制 除非你不在微信上面用 自己开发程序,直接调流式输出的接口,流式接收就行了 2.还有think过程,过滤不掉除非不用deepseek_r1,或者自己中间加个代码处理一下,只不过这样回复时间就会变的很长了,体验更不好

有没有这种可能,不使用流式输出的接口,当大模型开始输出时,缓存到 队列(Queue) 或 缓冲区(Buffer)中,再一段段的转发到消息端,实现类似流式输出的效果。

VipCrazyMaster avatar Mar 06 '25 16:03 VipCrazyMaster

类似这种方案应该可行,我查了下貌似这种方法 (缓存后再逐步转发,实现类流式输出) 是一种常见的 伪流式处理 技术,在 AI 生成内容、日志处理、网络传输等场景中都能用到。: import io import time

buffer = io.StringIO()

def model_output(): """大模型输出并存入缓冲区""" for word in ["Hello", "world!", "This", "is", "a", "test."]: time.sleep(1) # 模拟计算延迟 buffer.write(word + " ") # 缓存数据 buffer.flush() # 立即可读

def message_dispatcher(): """逐步读取缓冲区数据""" while True: content = buffer.getvalue() if content: print("\r" + content, end="", flush=True) # 模拟流式输出 time.sleep(0.5)

import threading threading.Thread(target=model_output).start() threading.Thread(target=message_dispatcher).start()

VipCrazyMaster avatar Mar 06 '25 16:03 VipCrazyMaster

如果使用这种方式应该也意味着可以突破某些消息平台,如企业微信等单条消息回复字数的限制。

VipCrazyMaster avatar Mar 06 '25 16:03 VipCrazyMaster

已有部分平台支持流式,可以更新一下。

RockChinQ avatar Nov 06 '25 12:11 RockChinQ