长期记忆的集成方式

为什么需要长期记忆

  • 从过去的经验中学习,得到处理问题的一般模式

    Without proper memory systems, AI applications would treat each interaction as completely new, losing valuable context and personalization opportunities.

  • 长期记忆作为RAG的一部分,增强大模型回答领域问题的能力,而预训练专注于一般性问题的回答性能

长期记忆模式

1. 从对话提取长期记忆

long_term_process

使用文件系统来作为上下文

使用文件来作为观察结果(如网页搜索工具的结果)的存储,而不是将所有内容都存储于内存上下文,模型需要按需读取加载到上下文,好处是可恢复的,因为文件系统中存储的是完整的内容而不是压缩后的内容
use_file_system_as_context.png

MemoryTemplate

定义
MemoryTemplate是LangChain AI提供的长期记忆服务模板,用于构建和部署可连接到任何LangGraph代理的长期记忆服务,实现用户范围的记忆管理。

核心特性

  • 分离关注点:将应用逻辑(聊天机器人)与记忆(记忆图)分离
  • 最小开销:从应用热路径中移除记忆创建逻辑,降低延迟成本
  • 后台处理:记忆创建逻辑在后台作业中处理,避免重复处理
  • 独立部署:记忆图可以独立于应用程序更新和托管

主要功能

  1. 长期记忆管理:让AI应用从每次用户交互中学习
  2. 用户适应:根据用户个人喜好和偏好进行适应
  3. 错误学习:从之前的错误中学习并改进
  4. 记忆存储:提供可靠的记忆存储层,跨对话持久化信息

技术架构

  • 记忆图:独立的记忆处理服务
  • 存储层:内置的记忆存储系统
  • 命名空间:按用户ID和记忆模式进行命名空间管理
  • API接口:通过LangGraph API进行交互

记忆模式

  1. Patch Schema模式:允许更新单个连续的记忆模式

    • 支持更新现有记忆
    • 可自定义JSON模式
    • 适用于用户信息维护
  2. Insertion Schema模式:允许插入单独的”事件”记忆

    • 跟踪关键信息片段
    • 支持对话摘要
    • 适用于事件记录

集成方式

  • 支持Anthropic Claude模型
  • 支持OpenAI GPT模型
  • 提供LangGraph Studio集成
  • 支持云部署和本地部署

评估和优化

  • 提供评估示例和测试用例
  • 支持LangSmith集成进行系统优化
  • 可自定义记忆类型和模式
  • 支持精确度和召回率平衡

提取

langextract

LangExtract是一个Python库,使用LLM从非结构化文本文档中提取结构化信息,基于用户定义的指令。它能够处理各种材料,如临床文本、法律文件、学术论文等,并输出结构化的JSON数据。

核心特性

  • 精确源定位:每个提取的实体都包含精确的源文本引用
  • 可扩展性:支持处理长文档和并行处理
  • 自定义提取:通过提示词和示例控制提取行为,从非结构化文本中提取实体、关系和属性

技术架构

  • 基于LLM的信息提取
  • 支持自定义模型提供商
  • 提供插件系统扩展功能
  • 支持本地和云端模型部署

引用链接

LightRAG

定义
LightRAG是一个简单且快速的检索增强生成(Retrieval-Augmented Generation)系统,专注于提供高效的知识检索和生成能力。

核心特性

  • 简单高效:设计简洁,易于部署和使用
  • 快速检索:优化的检索算法,提供快速响应
  • 知识图谱集成:支持知识图谱增强的检索
  • 多模态支持:可扩展支持多种数据类型
  • Web界面:提供友好的Web用户界面

主要功能

  1. 智能检索:基于语义相似度的文档检索
  2. 上下文增强:为LLM提供相关上下文信息
  3. 知识图谱:利用图结构增强检索效果
  4. 实时查询:支持实时文档查询和生成

技术架构

  • 基于向量数据库的检索系统
  • 集成知识图谱技术
  • 支持多种LLM模型
  • 提供RESTful API接口

性能优势

  • 相比传统RAG方法,在多个指标上表现优异
  • 在Comprehensiveness、Diversity、Empowerment等维度上显著提升
  • 支持大规模文档集合的高效检索

生态系统

  • RAG-Anything:多模态RAG系统
  • VideoRAG:极长上下文视频RAG
  • MiniRAG:极简RAG实现

项目信息

相关项目

为Memory建立索引和检索

https://blog.langchain.com/semantic-search-for-langgraph-memory/

memu

https://github.com/NevaMind-AI/memU

MemoryScope

定义一个pipeline来处理记忆
https://github.com/modelscope/MemoryScope