Zep
回忆、理解并提取聊天记录中的数据。为个性化的 AI 体验提供动力。
Zep 是一种长期记忆服务,适用于 AI 助手应用程序。
有了 Zep,您可以让 AI 助手具备回忆过去对话的能力,无论过去多久,
同时还能减少幻觉、延迟和成本。
Zep 的工作原理
Zep 持久保存和回忆聊天记录,并自动生成摘要和其他文档。
它还嵌入消息和摘要,使您能够从过去的对话中搜索与之相关的上下文。
Zep 所有这些操作都是异步进行的,确保这些操作不会影响用户的聊天体验。
数据被持久保存到数据库中,使您能够根据增长需求进行扩展。
Zep 还提供了一种名为文档集合(Document Collections)的简单易用的文档向量搜索抽象。
这旨在补充 Zep 的核心记忆功能,但并非旨在成为通用的向量数据库。
Zep 允许您更有意识地构建您的提示:
自动添加一些最近的消息,数量可根据您的应用程序进行定制;
最近对话的摘要;
和/或从整个聊天会话中浮出的具有上下文相关性的摘要或消息;
和/或来自 Zep 文档集合的相关业务数据。
什么是 Zep Cloud?
Zep Cloud 是一个托管服务,其核心是 Zep 开源。
除了 Zep 开源的记忆管理功能外,Zep Cloud 还提供:
事实提取:无需事先定义数据架构,即可自动从对话中构建事实表。
对话分类:即时准确地对聊天对话进行分类。了解用户意图和情感,分割用户等。基于语义上下文路由链,并触发事件。
结构化数据提取:使用您定义的模式,快速从聊天对话中提取业务数据。了解您的助手接下来应该询问什么以完成其任务。
对 Zep Cloud 感兴趣?请参阅Zep Cloud 安装指南,Zep Cloud 消息历史示例,Zep Cloud 向量存储示例。
开源安装和设置
Zep 开源项目:https://github.com/getzep/zep
Zep 开源文档:https://docs.getzep.com/
安装 Zep 服务。请参阅Zep 快速入门指南。
安装 Zep Python SDK:
pip install zep_python
记忆
Zep 的记忆 API将您的应用程序的聊天记录和元数据持久保存到一个会话中,丰富记忆,自动生成摘要,并使您能够在历史聊天消息和摘要上进行向量相似性搜索。
有两种方法可以用来填充您的提示与聊天历史:
检索最近的 N 条消息(可能还有摘要)从一个会话中,并使用它们来构建您的提示。
在会话的聊天历史中搜索相关消息,并使用它们来构建您的提示。
这两种方法都可能有用,第一种方法为 LLM 提供了关于最近与人类互动的上下文。第二种方法使您能够在聊天历史中进一步回溯,并以一种高效的方式检索与当前对话相关的消息。
from langchain.memory import ZepMemory
在这里查看RAG 应用示例。
检索器
Zep 的记忆检索器是 LangChain 检索器,它使您能够从 Zep 会话中检索消息并使用它们来构建您的提示。
该检索器支持对单个消息和对话摘要进行搜索。后者对于向 LLM 提供丰富但简洁的上下文至关重要,以便了解相关的过去对话。
Zep 的记忆检索器支持相似性搜索和最大边际相关性(MMR)重新排序。MMR 搜索对于确保检索到的消息是多样化且彼此不太相似非常有用。
在这里查看使用示例。
from langchain_community.retrievers import ZepRetriever
向量存储
Zep 的文档向量存储 API使您能够使用向量相似性搜索存储和检索文档。Zep 不要求您了解距离函数、嵌入类型或索引最佳实践。您只需传入您的分块文档,Zep 将处理其余部分。
Zep支持相似性搜索和最大边际相关性(MMR)重新排序。MMR搜索有助于确保检索到的文档具有多样性,彼此之间不太相似。
from langchain_community.vectorstores import ZepVectorStore
查看使用示例。