逐字返回的内容如何做关键词屏蔽

查看 232|回复 22
作者:brader   
用过 chatgpt 产品的都知道,返回内容都是那种打字机效果,逐字返回显示的。
那么问题来了,这种如何做关键词屏蔽呢?
好像服务端做比较困难,因为关键词有多个字的,如果服务端等整句话检测完再返回内容给前端的话,体验就太糟糕了。
我目前能想到的兼顾原有用户体验的方式是放在客户端来检测屏蔽关键字,客户端每次接收到服务端的返回的字,就拼接之前接收到的内容,检测关键字,检测到了,就把展示的内容屏蔽替换。这样就还是有打字机的实时效果。
不知道各位有没有更好的实现想法,欢迎讨论

屏蔽, 打字机, 返回, 检测

yolee599   
整段接收完,检测完,再逐字返回给客户端。至于延迟,都做检测了还考虑啥延迟
brader
OP
  
@yolee599 这样就太糟糕了啊,你知道一篇长回答的话,chatgpt 多久返回完吗,有超过 1 分钟的,如果用户每问个问题,都要等几十秒甚至 1 分钟以上,那完全没用户体验可言了
yougg   
那依靠文字排版的藏头藏尾你怎么流式处理?
brader
OP
  
@yougg 什么?没听懂你表达的意思,返回给用户的答案,是 chatgpt 的回答啊,chatgpt 又不是人,不会主动搞事情、搞伪装的,只是你知道国情的,有时候有些问题比较敏感,不允许用户问,和给用户展示答案的。
ChefIsAwesome   
你自己控制每收 n 个字,审查下,不就完事了。
InDom   
反过来,把接收到的字(尾)去关键词列表匹配(头)。
如果有匹配到,保留到缓冲区,继续接收下一个字,如果没匹配到,输出到客户端,清空缓冲区。
需要处理的是这样的情况,
文字流是:锄禾日当午
而黑名单列表有:禾日苗,日当午
时,因为匹配到一部分“禾日” 最后没有命中而导致没有去匹配“日当午”
JiangZeYi   
chatgpt 加一句只回答符合 XX 国情的答案
dobelee   
比较难啊,后面的内容还没计算完,你不可能知道是否有 g 点。
非要做只能加一个代理层,每接收到一段文字就检查并替换 g 点,然后再流式丢出去。缺点就是性能会大幅降低,很多算法优化派不上用场。
感概一下墙锅现状。
putyy   
1.你说的这种也可以在服务端做检查
2.先逐字返回客户端,等 chatgpt 返回完,服务端做好检查,然后在返给客户端覆盖已有内容
您需要登录后才可以回帖 登录 | 立即注册

返回顶部