跳到主要内容
Open on GitHub

Zep

回忆、理解并从聊天记录中提取数据。提供个性化的 AI 体验。

Zep 是一款面向 AI 助手应用的长期记忆服务。通过 Zep,您可以让 AI 助手回忆起过去的对话,无论它们相隔多久,同时还能减少幻觉、延迟和成本。

Zep 的工作原理

Zep 持久化并回忆聊天历史,并自动从这些聊天历史中生成摘要和其他工件。它还会嵌入消息和摘要,使您能够搜索 Zep 以获取过去对话中的相关上下文。Zep 异步完成所有这些操作,确保这些操作不会影响用户的聊天体验。数据被持久化到数据库中,允许您在增长需要时进行横向扩展。

Zep 还提供了一个简单易用的文档向量搜索抽象,称为文档集合 (Document Collections)。这旨在补充 Zep 的核心内存功能,但并非通用向量数据库。

Zep 允许您更有目的地构建提示

  • 自动添加最近的几条消息,数量可根据您的应用自定义;
  • 上述消息之前最近对话的摘要;
  • 和/或从整个聊天会话中浮现的上下文相关摘要或消息。
  • 和/或来自 Zep 文档集合的相关业务数据。

什么是 Zep 云?

Zep 云 是一个以 Zep 开源版为核心的托管服务。除了 Zep 开源版的内存管理功能外,Zep 云还提供:

  • 事实提取:自动从对话中构建事实表,无需预先定义数据 schema。
  • 对话分类:即时准确地对聊天对话进行分类。了解用户意图和情感,对用户进行细分等等。根据语义上下文路由链,并触发事件。
  • 结构化数据提取:使用您定义的 schema 快速从聊天对话中提取业务数据。了解您的助手下一步应该请求什么才能完成其任务。

Zep 开源版

Zep 提供了一个开源版本,支持自托管选项。有关更多信息,请参阅 Zep 开源版 仓库。您还可以找到与 Zep 开源版兼容的 检索器向量存储内存 示例。

Zep 云安装与设置

Zep 云文档

  1. 安装 Zep 云 SDK
pip install zep_cloud

poetry add zep_cloud

内存

Zep 的内存 API 将您的用户聊天历史和元数据持久化到 会话 (Session) 中,丰富内存,并支持对历史聊天消息和对话摘要进行向量相似性搜索。

Zep 提供了几种方法,可以用历史对话中的上下文填充提示。

持久内存

这是默认的内存类型。从对话中提取显著事实并存储在事实表中。随着新消息添加到会话中,该表会实时更新。每次您调用内存 API 获取内存时,Zep 会返回事实表、最近的消息(根据您的消息窗口设置),以及消息窗口之前最近消息的摘要。事实表、摘要和提示中最近消息的组合为 LLM 提供了事实上下文和细微差别。

摘要检索器内存

返回最近的消息和与当前对话相关的过去消息摘要,使您能够为助手提供过去对话中有用的上下文。

消息窗口缓冲内存

返回当前对话中最近的 N 条消息。

此外,Zep 支持对其系统中存储的消息或摘要进行向量相似性搜索。

此功能允许您使用与特定查询上下文相似的过去对话来填充提示,并按相似度分数组织结果。

可以导入 ZepCloudChatMessageHistoryZepCloudMemory 类以与 Zep 云 API 交互。

ZepCloudChatMessageHistoryRunnableWithMessageHistory 兼容。

from langchain_community.chat_message_histories import ZepCloudChatMessageHistory

在此处查看 持久内存示例

您可以将 ZepCloudMemory 与支持内存的代理一起使用。

from langchain_community.memory import ZepCloudMemory

在此处查看 内存 RAG 示例

检索器

Zep 的内存检索器 (Memory Retriever) 是 LangChain 检索器,它允许您从 Zep 会话中检索消息并使用它们来构建提示。

该检索器支持对单个消息和对话摘要进行搜索。后者对于向 LLM 提供丰富而简洁的相关过去对话上下文非常有用。

Zep 的内存检索器支持相似性搜索和 最大边际相关性 (MMR) 重新排序。MMR 搜索对于确保检索到的消息多样且彼此不相似非常有用。

查看 使用示例

from langchain_community.retrievers import ZepCloudRetriever
API 参考:ZepCloudRetriever

向量存储

Zep 的 文档向量存储 API 使您能够使用向量相似性搜索来存储和检索文档。Zep 不需要您了解距离函数、嵌入类型或索引最佳实践。您只需传入分块文档,Zep 会处理其余部分。

Zep 支持相似性搜索和 最大边际相关性 (MMR) 重新排序。MMR 搜索对于确保检索到的文档多样且彼此不相似非常有用。

from langchain_community.vectorstores import ZepCloudVectorStore
API 参考:ZepCloudVectorStore

查看 使用示例