[THUDM/ChatGLM-6B]ChatGLM-6B如何实现上下午关联?

2024-05-20 265 views
3

使用response, history = model.chat(tokenizer, prompt, history=history) 并没有实现上下文关联。这个功能太重要了。目前每个问题都是独立的。

上下文关联,这样可以根据回答内容,继续追问。

回答

6

你的history里要有内容啊。

7

你的history里要有内容啊。

history只是看到之前问的内容。最后回答的内容几乎和之前问的问题没有关联。

4

我测试过的,是可以的。比如 我先问它 3+2=? ,他回答了,后面我再问,我上一个问题是什么,他能说,上一个问题是 3+2=?

1

你的history里要有内容啊。

history只是看到之前问的内容。最后回答的内容几乎和之前问的问题没有关联。

我没 print 过 history。如果你 print history 看到里面都是问题,可以把生成的回答添加进去,但是这样做是有风险的。因为 chatglm 最大 context length 应该是 2048,把回答塞进去很容易就超出模型处理限制了。换言之,会忘。根据一些实践经验,你可以先使用 chatglm 对回答进行总结,然后再把它塞进 history 里面,这样会省不少空间(GPT-4 API 省钱版也是这样实现的。

2

我测试过的,是可以的。比如 我先问它 3+2=? ,他回答了,后面我再问,我上一个问题是什么,他能说,上一个问题是 3+2=?

为什么我这个不可以?没有联系上下文,是不是因为我用的chatglm-6b-int4?

2
Is your feature request related to a problem? Please describe.

使用response, history = model.chat(tokenizer, prompt, history=history) 并没有实现上下文关联。这个功能太重要了。目前每个问题都是独立的。

Solutions

上下文关联,这样可以根据回答内容,继续追问。

Additional context

No response

我的也是,没有记忆功能,我问他问题,把答案也传过去了,再问他问题他也说不知道,是不是要把上下文拼接保存数据库,提取的时候再找出来发给她还是?