LC1332 / Chat-Haruhi-Suzumiya

Chat凉宫春日, An open sourced Role-Playing chatbot Cheng Li, Ziang Leng, and others.
Apache License 2.0
1.83k stars 161 forks source link

Future Research Direction Exploring 未来研究方向探讨 #33

Open Neph0s opened 1 year ago

Neph0s commented 1 year ago

As a big fan of anime, I would like to make some academic contribution to the field of character cosplay, and I am currently in search of a suitable research topic related. Could you please provide offer some recommendation? I believe that the development of Chat-Haruhi has likely presented numerous challenges. I would greatly appreciate any insights or advice you might be willing to share.

LC1332 commented 1 year ago

Oh, 我之前想在ChatHaruhi的讨论环节去多添加这样的讨论。不过很多感觉不适合在正文中出现,我来列一下:

Here is the English translation:

Oh, I had previously thought about adding more discussions like this in the discussion section of arxiv paper. However, many felt it was not suitable to appear in the main text, so let me list them here:

Neph0s commented 1 year ago

感谢您的回答。关于您提到的这些挑战,我有以下问题和粗浅的想法想和您探讨一下:

关于小说-电影 alignment这块我没有什么想法,就不讨论了。

Here is the English translation:

Thank you for your response. I have some questions and preliminary thoughts on the challenges you mentioned, and I'd like to discuss them with you:

LC1332 commented 1 year ago

32K的token长度可以部分解决一些问题。为更长周期的对话任务的benchmark设计感觉还挺难的。比如要做个人助理的时候就很复杂。

对话的拆分我最近做了一个基于摘要的新版本。我感觉不是特别大的问题。但是key搜索的噪音很多,特别是连续小说中,其实相邻片段的向量都是非常相近的

角色的记忆变化可以给每个片段一个故事发生时间点,或者有树状的组织结构。这个不知道能产生什么特别的应用。

如何不泄密主要是用来做剧本杀一类的应用。

Here is the English translation:

The 32K token length can partially solve some problems. It feels quite difficult to design benchmarks for longer conversational tasks.

I recently made a new version of dialog segmentation based on summaries. I don't feel it's a particularly big problem. But there is a lot of noise in vector search, especially in continuous paragraph, where the vectors of adjacent segments are actually very similar.

Character memory changes can give each segment a story timeline, or have a tree-like organizational structure. I'm not sure if this can generate any particular applications.

Not leaking secrets is mainly used for scripted murder mystery party-type applications.

Neph0s commented 1 year ago

将用户对话数据存入db是否是一种长期记忆的有效方案?我看了下代码,似乎目前没有把用户对话数据存入db。

关于角色记忆变化,是否能将角色相关语料/事件按时间切分成n段,每段训练一个lora?如果用户想与角色在1.5段的记忆位置进行对话,则使用第1个lora与前1.5段的对话语料库?

剧本杀上可能也可以使用类似的,只要让该角色checkpoint自己也不知道这个秘密就好了(笑)

Here is the English version:

Is storing user dialogue data in a database an effective long-term memory solution? I looked at the code, and it seems that user dialogue data is not currently being stored in a database.

Regarding changes in role memory, would it be possible to split role-related language data/events into n segments based on time and train a separate LoRA model for each segment? If a user wants to have a conversation with the role at the 1.5 segment of memory, would they use the first LoRA with the dialogue corpus from the first 1.5 segments?

For murder mystery games, a similar approach could be used, as long as the character's checkpoint is unaware of the secret, right? (laughs)

dinghuanghao commented 1 year ago

关于“如何不泄露秘密”我在最近的游戏中的方法和楼上的思路很像,让Chat LLM自己也不知道”秘密“就好了。通过额外的Decision LLM/ Program 来控制秘密信息的Retrieval:

  1. 好感度,给每次聊天设置一个Emotion的增减,超过一定好感度才会解锁私密数据
  2. 需要额外的一个KeyWord->Secret的召回机制,当用户说到了某些特定的话,会触发私密数据的召回
LC1332 commented 1 year ago

这是个不错的想法,或者存在一个关键词的库 攒满足够的关键词才会触发