Skip to main content
Open on GitHub

Zep

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

Zep 是一个为AI助手应用程序提供的长期记忆服务。 通过Zep,您可以让AI助手具备回忆过去对话的能力,无论这些对话有多久远, 同时还能减少幻觉、延迟和成本。

Zep 的工作原理

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

Zep 还提供了一个简单易用的文档向量搜索抽象,称为文档集合。 这是为了补充 Zep 的核心记忆功能而设计的,但并不打算成为一个通用的向量数据库。

Zep 允许你更有意识地构建你的提示:

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

什么是Zep Cloud?

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

  • 事实提取: 自动从对话中构建事实表,无需预先定义数据模式。
  • 对话分类: 即时且准确地分类聊天对话。理解用户意图和情绪,细分用户群体等。基于语义上下文路由链,并触发事件。
  • 结构化数据提取:使用您定义的架构快速从聊天对话中提取业务数据。了解您的助手接下来应该询问什么以完成任务。

Zep 开源

Zep 提供了一个带有自托管选项的开源版本。 请参考 Zep 开源 仓库以获取更多信息。 您还可以找到与 Zep 开源兼容的 RetrieverVector StoreMemory 示例

Zep云安装与设置

Zep Cloud 文档

  1. 安装Zep Cloud SDK:
pip install zep_cloud

poetry add zep_cloud

内存

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

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

永久记忆

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

摘要检索器内存

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

消息窗口缓冲内存

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

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

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

ZepCloudChatMessageHistoryZepCloudMemory 类可以导入以与 Zep Cloud API 进行交互。

ZepCloudChatMessageHistoryRunnableWithMessageHistory 兼容。

from langchain_community.chat_message_histories import ZepCloudChatMessageHistory

查看永久记忆示例

你可以将ZepCloudMemory与支持Memory的代理一起使用。

from langchain_community.memory import ZepCloudMemory

查看Memory RAG 示例

检索器

Zep的记忆检索器是一个LangChain检索器,它使您能够从Zep会话中检索消息,并使用它们来构建您的提示。

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

Zep的记忆检索器支持相似性搜索和最大边际相关性(MMR)重新排序。MMR搜索有助于确保检索到的消息多样化且彼此之间不太相似。

查看使用示例

from langchain_community.retrievers import ZepCloudRetriever
API Reference:ZepCloudRetriever

向量存储

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

Zep 支持相似性搜索和最大边际相关性 (MMR) 重排序。 MMR 搜索有助于确保检索到的文档具有多样性,并且彼此之间不会过于相似。

from langchain_community.vectorstores import ZepCloudVectorStore
API Reference:ZepCloudVectorStore

查看使用示例


这个页面有帮助吗?