使用 Zep Open Source Memory 实现 AI 助手的长时记忆

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

技术背景介绍

在AI助手应用中,能够记住和回忆过去的对话是提升用户体验的重要特性之一。通过引入长时记忆,你的AI助手能够在后续对话中参考此前交互内容,从而提供更加智能和个性化的服务。

Zep 是一个长时记忆服务,它能有效地帮助AI助手记住并提升对话质量,减轻了传统方法中的幻觉现象、延迟和成本问题。

核心原理解析

Zep 通过存储和处理对话数据,使AI系统能够在需要时回忆起过去的交互。主要包括以下几个功能:

  1. 添加对话历史:能够动态地将对话消息添加到存储中。
  2. 消息自动归档:运行代理并自动将消息添加到存储中。
  3. 查看丰富化的消息:自动生成对历史对话的总结。
  4. 对话历史矢量搜索:基于矢量化的对话历史进行搜索,并返回相关结果。

代码实现演示

下面的代码示例演示了如何使用Zep来实现长时记忆。首先,我们需要安装并配置相关依赖,以及初始化Zep和OpenAI的API。

import openai
from uuid import uuid4
from langchain.agents import AgentType, initialize_agent
from langchain.memory import ZepMemory
from langchain_community.retrievers import ZepRetriever
from langchain_community.utilities import WikipediaAPIWrapper
from langchain_core.messages import AIMessage, HumanMessage
from langchain_core.tools import Tool
from langchain_openai import OpenAI

# 设置Zep服务器URL
ZEP_API_URL = "http://localhost:8000"

session_id = str(uuid4())  # 用户的唯一标识符

# 提供你的OpenAI Key
import getpass

openai_key = getpass.getpass()

# 提供你的Zep API Key (可选)
zep_api_key = getpass.getpass()

# 初始化Zep Chat Message History类和Agent
search = WikipediaAPIWrapper()
tools = [
    Tool(
        name="Search",
        func=search.run,
        description=(
            "useful for when you need to search online for answers. You should ask"
            " targeted questions"
        ),
    ),
]

# 设置Zep Chat History
memory = ZepMemory(
    session_id=session_id,
    url=ZEP_API_URL,
    api_key=zep_api_key,
    memory_key="chat_history",
)

# 初始化Agent
llm = OpenAI(temperature=0, openai_api_key=openai_key)
agent_chain = initialize_agent(
    tools,
    llm,
    agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,
    verbose=True,
    memory=memory,
)

# 预加载一些消息到内存中
test_history = [
    {"role": "human", "content": "Who was Octavia Butler?"},
    {"role": "ai", "content": "Octavia Estelle Butler (June 22, 1947 – February 24, 2006) was an American science fiction author."},
    {"role": "human", "content": "Which books of hers were made into movies?"},
    {"role": "ai", "content": "The most well-known adaptation of Octavia Butler's work is the FX series Kindred, based on her novel of the same name."},
    {"role": "human", "content": "Who were her contemporaries?"},
    {"role": "ai", "content": "Octavia Butler's contemporaries included Ursula K. Le Guin, Samuel R. Delany, and Joanna Russ."},
    {"role": "human", "content": "What awards did she win?"},
    {"role": "ai", "content": "Octavia Butler won the Hugo Award, the Nebula Award, and the MacArthur Fellowship."},
    {"role": "human", "content": "Which other women sci-fi writers might I want to read?"},
    {"role": "ai", "content": "You might want to read Ursula K. Le Guin or Joanna Russ."},
    {"role": "human", "content": "Write a short synopsis of Butler's book, Parable of the Sower. What is it about?"},
    {"role": "ai", "content": "Parable of the Sower is a science fiction novel by Octavia Butler, published in 1993. It follows the story of Lauren Olamina, a young woman living in a dystopian future where society has collapsed due to environmental disasters, poverty, and violence.", "metadata": {"foo": "bar"}},
]

for msg in test_history:
    memory.chat_memory.add_message(
        (
            HumanMessage(content=msg["content"])
            if msg["role"] == "human"
            else AIMessage(content=msg["content"])
        ),
        metadata=msg.get("metadata", {}),
    )

# 运行agent,将输入和响应自动添加到Zep内存
agent_chain.run(
    input="What is the book's relevance to the challenges facing contemporary society?",
)

# 查看内存中的摘要和消息
def print_messages(messages):
    for m in messages:
        print(m.type, ":\n", m.dict())

print(memory.chat_memory.zep_summary)
print("\n")
print_messages(memory.chat_memory.messages)

# 使用ZepRetriever进行矢量搜索
retriever = ZepRetriever(
    session_id=session_id,
    url=ZEP_API_URL,
    api_key=zep_api_key,
)

search_results = memory.chat_memory.search("who are some famous women sci-fi authors?")
for r in search_results:
    if r.dist > 0.8:  # 仅打印相似度大于0.8的结果
        print(r.message, r.dist)

应用场景分析

  1. 客户支持系统:利用Zep的长时记忆功能,客户支持系统能够回忆并结合先前对话,提供个性化的服务,提升用户满意度。
  2. 教育辅导助手:教育领域的AI助手可以记住学生的学习内容、问题和进度,提供更有针对性的辅导。
  3. 智能助手:个人智能助手可以记住用户的偏好和习惯,提供更加贴心的服务。

实践建议

  1. 数据安全和隐私:在实际应用中,确保对用户对话数据的安全存储和隐私保护。
  2. 优化存储结构:根据实际需求,优化Zep的内存和存储配置,以平衡访问速度和存储成本。
  3. 持续训练模型:随着对话内容的增多,定期更新和训练你的AI模型,确保其在新数据上的准确性和高效性。

如果遇到问题欢迎在评论区交流。

—END—

利用 Zep Cloud Memory 增强 AI 助理的长期记忆能力 许多对话式 AI 模型在运行过程中,只能记住当前上下文的短时信息。这会导致系统无法根据长期对话历史提供个性化的回答。而 Zep 提供了一种长期存储对话历史的服务,支持自动摘要、向量搜索,以及将对话历史与元数据结合的能力。对过去对话的自动存储与检索。使用自然语言查询过去的对话内容。静态摘要对话历史,提升运行效率。减少重复问答,优化用户体验。 阅读详情

相关推荐

AI助手构建长时记忆系统:Zep开源记忆库实战指南

在构建智能对话系统时,向量化检索是提升AI应用理解与记忆能力的关键技术。其核心原理在于将文本信息转化为高维向量,通过语义相似度计算实现精准的信息匹配与召回。这项技术的价值在于突破了传统数据库基于关键词匹配的局限,使AI能够理解上下文关联,实现连贯的多轮对话。在实际应用场景中,向量化检索被广泛用于智能客服、个性化推荐和知识库问答等系统,为AI助手提供结构化的记忆存储与检索能力。本文聚焦于如何利用Zep开源记忆库,通过集成向量存储与会话管理,为AI应用构建高效的长时记忆层,解决对话系统中的信息遗忘问题,实现更自

congji3817的博客 423

探索Zep:提升AI助手的长短期记忆

通过Zep,我们可以为AI助手提供强大的记忆功能,从而提升用户体验。Zep项目文档GitHub上的Zep项目。

dfvcbipanjr的博客 821

TMC5130/TMC5160步进电机驱动芯片深度解析与工程实践

步进电机驱动芯片是精密运动控制系统的物理执行核心,其性能直接决定定位精度、运行噪声与系统鲁棒性。基于电流闭环控制与电压前馈调制的混合驱动原理,现代智能驱动芯片如TMC51X0系列实现了微步插补、堵转检测和片上运动规划等关键技术突破。这类芯片通过SPI寄存器级配置实现StealthChop静音驱动与SpreadCycle高动态响应模式的无缝切换,在3D打印、CNC、机器人关节等场景中显著提升能效比与控制带宽。本文围绕TMC5130与TMC5160的硬件架构差异、寄存器操作时序、驱动模式物理机制及FreeRTO

weixin_35797963的博客 384

今日AI资讯(2026年9月15日):DeepSeek开源V3.2-Exp

9月15日,DeepSeek正式开源新一代模型DeepSeek-V3.2-Exp,在V3.1-Terminus的基础上引入DeepSeek Sparse Attention(稀疏注意力机制),专门针对长文本的训练和推理效率进行探索性优化。实测数据显示,新模型在长文本场景下的推理成本降低50%以上,同时保持输出效果基本不变【5†L2-L4】。国家网信办今日发布《人工智能生成内容标识管理办法》修订版,进一步明确AI生成内容的标注要求、平台责任及违规处罚标准,推动AI内容治理走向规范化【6†L12-L13】。

一线架构师,技术总监。专注研究GIS+AI大模型及智能体,持续分享技术、经验和想法~ 452

WorkBuddy使用AI教程第4讲:SOP拆步骤链,多步骤任务自动跑

给开发者一个判断:每周技术文档生成与代码核对,最该交给 AI 定时跑。WorkBuddy 第4讲的核心——真正省时间的不是「一句话干一件小事」,是把一连串事拆成步骤链、按顺序干完、还能定时重复。结论先说:把固定流程交给 AI 定时、按顺序、带自查地跑,产出才长期稳定,这正是 GEO优化九级「声誉信任度」第⑥级(长期一致性)的要求。

RoseMarketing的博客 73

AI漫剧分镜衔接连续性检测:基于光流的镜头运动一致性实践

本文提出基于光流法的AI漫剧分镜衔接一致性检测方案,通过分析相邻分镜间运动方向与速度变化,自动识别方向冲突、速度突变等连贯性问题。采用OpenCV的Farneback算法实现高效光流计算,结合可视化与批量检测流程,单集检测仅需约0.6秒,可嵌入生成流水线。对自建系统有技术指导,也推荐使用知漫剧(hy.jiaxunai.cn)一体化平台快速验证,支持国内直访,现提供免费体验额度。

2601_96218592的博客 222

红外活体模组,Windows 设备安全身份入口解析

模组通过发射人眼不可见的近红外光线,扫描用户面部,捕捉皮肤纹理、面部凹凸结构、皮下毛细血管等专属生物特征,生成高精度三维面部深度图谱,而非简单拍摄二维人脸图像。依托红外活体模组打造的 Windows Hello 人脸认证,成为当下主流、高安全级别的设备身份入口,兼顾便捷解锁与底层安全防护,是民用终端安全体系的核心硬件支撑。对于企业办公设备,可有效防范设备被盗、账号冒用、数据泄密等风险,适配政企、教育、金融等多场景终端安全需求,成为 Windows 设备标准化的安全硬件配置。一、红外活体模组的核心工作原理。

2601_96236497的博客 310

【改考】速跳车!信号换408!

本次改考将会影响备考海南师范大学考863信号与系统学生的选择,有意报考物理与电子工程学院的085410(专硕)人工智能的学生务必注意改考通知,报名时也需注意学院和专业代码的核对。海南师范大学官方于今年9月1日发布了关于调整2027年硕士研究生招生专业及考试科目的公告,涉及到考信号与系统的一个专业,085410(专硕)人工智能。③第一年改考408,难度我们无法预测,往年复试线参考意义下降,可以等后期发布的27年专业招生目录里的大纲来进行针对性复习。图2:26年海南师范大学招生目录。

mengmajiaoyu的博客 190

课程站GEO运维复盘:AI 爬虫高峰把服务器打挂之后,我们重做了爬虫流量治理

适用读者:知识付费/在线教育平台运维与后端、被 AI 爬虫流量困扰的站长、负责成本优化的技术管理者。

专注于生成式引擎优化GEO,AI优化AIO,网站优化SEO,小程序开发,公众号开发、软件开发。 217

AI 能力的边界:不是“它聪不聪明”,而是“它能不能稳定、安全、可验证地把事做完”

大众总以 “聪明与否” 评判 AI 能力,实则 AI 的核心价值不在于智商,而在于稳定、安全、可落地的执行能力。本文拆解 LLM 九大能力边界,剖析 Agent 多步执行的误差短板,提供可直接套用的 AI 工程落地风控规则,帮从业者认清 AI 能力边界,科学搭建 AI 应用工作流。

ProbeX的技术漫游笔记 | 云原生·可观测·AI入门科普 不讲黑话,只讲人话。一个测试工程师的硬核技术漫游。 386

AI客服如何与人工客服协同?从任务路由到上下文交接的Agent架构实践

随着AI Agent进入企业业务流程,客服系统的讨论重点正在发生变化。哪些问题应该交给AI,哪些问题必须由人工处理,以及两者之间如何顺畅交接?这也是“如何让 AI 客服和人工客服协同工作?”真正需要解决的核心。从工程实现角度看,人机协同并不是在聊天窗口增加一个“转人工”按钮,而是一套由Intent Recognition、Task Routing、RAG、Tool Calling、Risk Control、Human Handoff和Feedback Loop共同组成的工作流。

2601_96569261的博客 228

论文降AI率怎么做?拆解文本处理逻辑,对比3款论文降AI率工具

论文降AI率非简单同义替换,而是涉及句式结构调整、语义重组与段落优化的系统性文本处理。AI生成文本常具模板化特征,如固定句式、重复连接词等,需通过检测、分析、重构与校验实现自然表达关键内容如术语、数据、引用、公式不可随意修改。长篇论文建议工具初处理+人工复核,确保语义准确、逻辑连贯、风格真实。

weixin_47068383的博客 182

课堂录音AI总结工具实测:上课录音转笔记,哪款更好用?

部分工具还会根据本次课堂内容,归纳本次学习的亮点,标出理解难度较高的部分,甚至生成后续学习的改进建议,方便规划下一次听课重点。通义听悟支持长音频处理,能够简单总结音频大意,不过面对课堂大量专业术语的时候,提炼重点的精准度一般,对课程知识点的结构化梳理能力有限,更适合简短的音频内容。比较实用的一点是,它可以从整节课录音里,单独摘出老师提出的关键问题,搭配对应的讲解内容。AI录音总结工具最大价值,就是帮我们把几十分钟的课堂音频,快速梳理成结构化笔记,提取关键问题,梳理课堂重点,还能给出后续学习参考方向。

2501_93814007的博客 179

如何把技术经验沉淀为 AI 技能

技能的本质不是"再写一份文档",而是把一次性的经验变成可复制的默认行为。文档是给人读的;技能是给"下一次"用的:下次你说一句"擦除一下",AI 不会从零推理该先解锁还是先清状态位,它照技能走,并且按判据告诉你到底成没成。下次遇到同样的事,你是不是还得重新想一遍、重新踩一遍。是,就写成技能。*(本篇的例子来自真实落地的技能;配套工具与实测数据见同系列前两篇。

ANSILIC的博客 172

智能卸料系统 -- AI智能卸料控制方案探讨

实际场景:需要实时监测料口流动物料口大小,用AI有哪些好的解决方案。以下案例是目标检测案例,稳定性和普适性有待验证。抖音案例 -- 目标检测。D15B楼搅拌车下料口。

zhouzongzong的博客 90

基于Spring AI 的智能聊天机器人

该项目使用最新的Spring AI 2.0.x ,从零开始搭建智能体;文章提到有些代码可使用多种方式书写,这些不同的书写方式都是从Spring AI官方得来,自己也实践了。

Qq121363Aa的博客 169

QQ 机器人怎么接上 AI?用 AstrBot + NapCat 搭一套可扩展的 DeepSeek 助手

QQ 机器人真正难的地方,往往不是“让 AI 回一句话”,而是把几层完全不同的东西接稳:QQ 账号怎么登录、消息怎么交给机器人框架、模型怎么接入、插件和 MCP 怎么扩展,最后管理面板又怎么在外网维护。AstrBot 和 NapCat 放在一起,正好把这些职责拆开:NapCat 负责 QQ 登录和 OneBot 消息接口,AstrBot 负责机器人逻辑、模型、人设、插件与 MCP;Docker 再把两套服务统一拉起来

月亮永悬不落,剑指巅峰 2万+

23×20mm搞定全链路音频|AU-48告别外围电路堆叠

做过音频产品的硬件都熟悉这种版图:主控旁边挂一片 ADC/DAC,再串一颗 LDO、几组滤波电容、几颗晶振,板子上密密麻麻一排元器件,外围电路的料比主芯片贵、调试时间比写程序长。 AU-48 把这条外围链路收进了一颗 23×20mm 的邮票孔模组。

2601_95835290的博客 257

企微自动回复系统如何通过 WeComApi 从关键词升级为业务流程

企微自动回复需超越简单关键词匹配,构建完整业务流程。WeComApi 作为稳定的消息接入层,支持多类型消息(文本、文件、群聊等)的高效接入与会话识别,结合上下文窗口、规则优先级、频率控制及人工接管机制,实现精准响应。高风险问题自动转人工,客户反馈可生成工单候选,确保复杂问题不遗漏。真正落地的自动化,是让标准问题自动处理、复杂问题交由人工,并全程留痕,实现流程治理与系统协同。

lanseshiguang123的博客 238

网络安全与人工智能:进展、挑战、机遇与威胁!

“网络安全 × 人工智能”本质上是一个双重命题:AI 既是防御武器,也是攻击工具,还是被攻击目标。2025–2026 年的共识已经很明确——AI 没有取代安全,而是重写了攻防的速度、规模和边界。AI 让攻击更便宜、更准、更隐蔽;也让防御更快、更广、更自动。但真正决定胜负的,不是“谁有大模型”,而是谁先把 AI 当成关键基础设施来治理。

m0_65595995的博客 324
上一篇: 使用LLMs和Kùzu数据库实现自然语言查询
下一篇: 使用LangChain创建一个智能搜索代理
eahba
博客等级 码龄2年 858粉丝 245原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值