cherry-studio icon indicating copy to clipboard operation
cherry-studio copied to clipboard

需求:让模型继续回复未完的答复以及数据安全。

Open Sucorde opened this issue 1 year ago • 6 comments

有的时候LLM回复的时候文本有点太长了,所以内容总被截断,是否有什么办法可以让他继续? 以前使用官方的网页版就有一个插件可以实现这个功能。 image 还有一个就是有的时候用的是共享API,或者一些慈善API,免费API这一类的。 这样的API提供者是可以看到信息的。所以能否加一个这个。 image 或者可以自定义替换字符也挺好的。

Sucorde avatar Sep 29 '24 13:09 Sucorde

回复一个继续是不是就可以了

kangfenmao avatar Sep 29 '24 15:09 kangfenmao

确实应该回复一个 继续 或许就可以,不清楚大多这种客户端是如何实现的续写功能,也可能是直接拿当前上下文进行请求?

不过我因此想到一个功能点,是否可以添加用户自定义按钮的功能,自定义按钮位于输入框下方的工具栏内,用户可以自定义一串操作,包括发送用户信息、发送助手信息、请求响应等等。当然还没想到比较多的应用场景,只是突然想到的一个潜在功能需求😂

Yizhouuu avatar Sep 30 '24 04:09 Yizhouuu

回复一个继续是不是就可以了

并不是啊,有的时候你回复了继续,他会从头回答,然后到那个位置又断了。 数据安全这个很需要。

Sucorde avatar Sep 30 '24 06:09 Sucorde

对于继续的一些讨论:

ChatGPT 网页版可能有两种途径实现“继续”

  1. 只是隐式的向模型发出“继续”指令,甚至直接拿当前上下文请求
  2. 控制底层的 chat template,实现直接在上次生成的结尾处继续而不是新开一个 assistant

方法 2 显然无法通过 API 实现,方案 1 和直接说“继续”很可能无显著区别。

有一些 LLM 的 API 例如 claude,支持 prefill assistant 的回复,可能可以用于实现更可靠的继续(如下所示)

user: XXXX
assistant: YYYYYYYYYYYYZZZ # ZZZ 指的是取的回复最后的一个片段
user: 继续 # 程序完成此步骤
assistant: (API 调用 prefill ZZZ) HHHHHH

然而目前应该只有 Claude 和 DeepSeek 支持 prefill

neteroster avatar Sep 30 '24 15:09 neteroster

这么看,claude 和 deepseek 好多相似的地方😂例如都是为数不多的支持缓存的 LLM

继续这个功能,我记得 sillytavern,也就是酒馆,有自带,或许可以研究看看它是如何实现的

Yizhouuu avatar Sep 30 '24 15:09 Yizhouuu

简单看了一下,他们应该是采用的自动插入继续的消息,不过有几个可能可以借鉴点

  1. 在 assistant 后用 system 角色要求继续(可能只有部分模型能用,比如 Claude 只能有一个 system)
  2. 发送的内容不止「继续」两字,还有上条回复的最后一部分,相当于做了个虚拟的 prefill

理论上感觉确实可以提高继续成功率。

参考 https://github.com/SillyTavern/SillyTavern/issues/2379

neteroster avatar Sep 30 '24 16:09 neteroster

回复一个继续是不是就可以了

@kangfenmao 回复继续是可以往下输出,但是输出被用户拆分了,如果输出的是一个html,那么就没法预览了

Image

我这个场景,本来想可以直接预览html的,但是现在被用户的回复打断了,如果带一个按钮内置继续不分割llm的回答就好了。

Image

showthesunli avatar Feb 26 '25 17:02 showthesunli

This issue has been inactive for a prolonged period and will be closed automatically in 30 days. 该问题已长时间处于闲置状态,30 天后将自动关闭。

github-actions[bot] avatar Apr 19 '25 00:04 github-actions[bot]