跳转到内容

文档

文档为 TomoriBot 提供了一个她在回复时可以搜索的知识库:游戏规则手册、服务器常见问题解答、wiki 导出内容或剧情笔记。它们用于保存篇幅过长而不适合存为长期记忆的资料。

生效中的长期记忆在每次回复时都会完整发送,因此无论对话是否需要,每条记忆都会占用提示词空间。文档则采用搜索的方式。每次回复最多只会接收 10 个与对话匹配的段落,因此即便是长达 40 页的规则手册,也只会为每次回复增加最多约三页的文本量,且无人问津的章节不会产生任何消耗。

对于她应该时刻知晓的简短事实,请使用长期记忆。对于只在提及对应话题时供她查阅的参考资料,请使用文档。

当你添加一份文档时,TomoriBot 会将其拆分为由若干个自然段组成的小段落,称为分块(chunk)。随后,嵌入模型会将每个分块转换成表示其含义的一组数字。关于类似主题的分块即使使用了不同的措辞,也会得到相似的数字。

每当收到一条消息时,她会以同样的方式将最新消息转换为数字,并挑选含义最接近的分块。她还会检查是否包含完全相同的词语,从而捕捉嵌入模型可能不了解的专有名称和自创术语。最佳匹配项会放入她该次回复的提示词中。这项技术被称为检索增强生成(RAG)。

例如,文档中写着「公会成员每周五在码头聚会」。提问「公会什么时候碰头?」能够匹配到该分块,即使提问中从未出现「聚会」或「周五」等字眼。

因为她只能看到匹配的分块,所以她无法概括整份文档或统计跨文档的内容。针对具体细节的提问效果最好。Markdown 标题非常有用:每个分块都会保留其所属的小节标题,因此组织良好的文档可以带来更清晰的匹配结果。

文档需要嵌入模型。请在 Embeddings 槽位中选择一个模型;请参阅提供方与模型。

在 /memories > 文档 下管理文档。选择 新增文档 可以上传 .txt、.md 或 .pdf 文件。文档可以归属于单个人格,也可以跨所有人格共享,并且可以限制在选定的频道及其子区中。你可以阅读已存储的分块,并编辑或移除其中任何一个分块。若要将一条较长的服务器记忆转为文档,请在 /memories 中打开它并选择 向量化。

在新服务器中,文档管理默认仅限于拥有 管理服务器 权限的成员;管理员可以通过 /moderation > 成员访问 授予访问权限。

默认情况下,文件大小上限为 4 MB,文本长度上限为 120,000 个字符(约合 20,000 个英文单词),最多可拆分为 150 个分块。每个人格的文档集以及共享文档集最多可容纳 20 份文档和 1,000 个分块。自部署者可以通过 MAX_DOCUMENT_SIZE_MB、MAX_DOCUMENT_TEXT_LENGTH、MAX_DOCUMENT_CHUNKS、MAX_DOCUMENTS_PER_SERVER 和 MAX_DOCUMENT_CHUNKS_PER_SERVER 修改这些限制。

/learn history 会读取当前频道中最多 100 条消息,提取其中的事实,并将这些事实保存为文档。该功能需要 管理服务器 权限,以及支持结构化输出的模型。

历史导入提供了针对日常对话、角色扮演以及人格视角等场景的提示词。你可以在导入前查看并调整提示词。通过 learner 选项选择谁来学习这些结果:单个人格(留空则为主人格)、发过言的每个人格,或者所有人格共同学习。