用过 chatgpt 产品的都知道,返回内容都是那种打字机效果,逐字返回显示的。 那么问题来了,这种如何做关键词屏蔽呢? 好像服务端做比较困难,因为关键词有多个字的,如果服务端等整句话检测完再返回内容给前端的话,体验就太糟糕了。 我目前能想到的兼顾原有用户体验的方式是放在客户端来检测屏蔽关键字,客户端每次接收到服务端的返回的字,就拼接之前接收到的内容,检测关键字,检测到了,就把展示的内容屏蔽替换。这样就还是有打字机的实时效果。 不知道各位有没有更好的实现想法,欢迎讨论 屏蔽, 打字机, 返回, 检测
@yougg 什么?没听懂你表达的意思,返回给用户的答案,是 chatgpt 的回答啊,chatgpt 又不是人,不会主动搞事情、搞伪装的,只是你知道国情的,有时候有些问题比较敏感,不允许用户问,和给用户展示答案的。
反过来,把接收到的字(尾)去关键词列表匹配(头)。 如果有匹配到,保留到缓冲区,继续接收下一个字,如果没匹配到,输出到客户端,清空缓冲区。 需要处理的是这样的情况, 文字流是:锄禾日当午 而黑名单列表有:禾日苗,日当午 时,因为匹配到一部分“禾日” 最后没有命中而导致没有去匹配“日当午”
比较难啊,后面的内容还没计算完,你不可能知道是否有 g 点。 非要做只能加一个代理层,每接收到一段文字就检查并替换 g 点,然后再流式丢出去。缺点就是性能会大幅降低,很多算法优化派不上用场。 感概一下墙锅现状。