长期记忆的集成方式
为什么需要长期记忆
- 从过去的经验中学习,得到处理问题的一般模式
Without proper memory systems, AI applications would treat each interaction as completely new, losing valuable context and personalization opportunities.
- 长期记忆作为RAG的一部分,增强大模型回答领域问题的能力,而预训练专注于一般性问题的回答性能
长期记忆模式
1. 从对话提取长期记忆
使用文件系统来作为上下文
使用文件来作为观察结果(如网页搜索工具的结果)的存储,而不是将所有内容都存储于内存上下文,模型需要按需读取加载到上下文,好处是可恢复的,因为文件系统中存储的是完整的内容而不是压缩后的内容
MemoryTemplate
定义
MemoryTemplate是LangChain AI提供的长期记忆服务模板,用于构建和部署可连接到任何LangGraph代理的长期记忆服务,实现用户范围的记忆管理。
核心特性
- 分离关注点:将应用逻辑(聊天机器人)与记忆(记忆图)分离
- 最小开销:从应用热路径中移除记忆创建逻辑,降低延迟成本
- 后台处理:记忆创建逻辑在后台作业中处理,避免重复处理
- 独立部署:记忆图可以独立于应用程序更新和托管
主要功能
- 长期记忆管理:让AI应用从每次用户交互中学习
- 用户适应:根据用户个人喜好和偏好进行适应
- 错误学习:从之前的错误中学习并改进
- 记忆存储:提供可靠的记忆存储层,跨对话持久化信息
技术架构
- 记忆图:独立的记忆处理服务
- 存储层:内置的记忆存储系统
- 命名空间:按用户ID和记忆模式进行命名空间管理
- API接口:通过LangGraph API进行交互
记忆模式
Patch Schema模式:允许更新单个连续的记忆模式
- 支持更新现有记忆
- 可自定义JSON模式
- 适用于用户信息维护
Insertion Schema模式:允许插入单独的”事件”记忆
- 跟踪关键信息片段
- 支持对话摘要
- 适用于事件记录
集成方式
- 支持Anthropic Claude模型
- 支持OpenAI GPT模型
- 提供LangGraph Studio集成
- 支持云部署和本地部署
评估和优化
- 提供评估示例和测试用例
- 支持LangSmith集成进行系统优化
- 可自定义记忆类型和模式
- 支持精确度和召回率平衡
提取
langextract
LangExtract是一个Python库,使用LLM从非结构化文本文档中提取结构化信息,基于用户定义的指令。它能够处理各种材料,如临床文本、法律文件、学术论文等,并输出结构化的JSON数据。
核心特性
- 精确源定位:每个提取的实体都包含精确的源文本引用
- 可扩展性:支持处理长文档和并行处理
- 自定义提取:通过提示词和示例控制提取行为,从非结构化文本中提取实体、关系和属性
技术架构
- 基于LLM的信息提取
- 支持自定义模型提供商
- 提供插件系统扩展功能
- 支持本地和云端模型部署
引用链接
LightRAG
定义
LightRAG是一个简单且快速的检索增强生成(Retrieval-Augmented Generation)系统,专注于提供高效的知识检索和生成能力。
核心特性
- 简单高效:设计简洁,易于部署和使用
- 快速检索:优化的检索算法,提供快速响应
- 知识图谱集成:支持知识图谱增强的检索
- 多模态支持:可扩展支持多种数据类型
- Web界面:提供友好的Web用户界面
主要功能
- 智能检索:基于语义相似度的文档检索
- 上下文增强:为LLM提供相关上下文信息
- 知识图谱:利用图结构增强检索效果
- 实时查询:支持实时文档查询和生成
技术架构
- 基于向量数据库的检索系统
- 集成知识图谱技术
- 支持多种LLM模型
- 提供RESTful API接口
性能优势
- 相比传统RAG方法,在多个指标上表现优异
- 在Comprehensiveness、Diversity、Empowerment等维度上显著提升
- 支持大规模文档集合的高效检索
生态系统
- RAG-Anything:多模态RAG系统
- VideoRAG:极长上下文视频RAG
- MiniRAG:极简RAG实现
项目信息
- GitHub: https://github.com/HKUDS/LightRAG
- 论文: https://arxiv.org/abs/2410.05779
- 许可证: MIT
- 星标: 19.8k+
- 维护者: HKUDS团队
相关项目
- RAG-Anything: https://github.com/HKUDS/RAG-Anything
- VideoRAG: https://github.com/HKUDS/VideoRAG
- MiniRAG: https://github.com/HKUDS/MiniRAG
为Memory建立索引和检索
https://blog.langchain.com/semantic-search-for-langgraph-memory/
memu
https://github.com/NevaMind-AI/memU
MemoryScope
定义一个pipeline来处理记忆
https://github.com/modelscope/MemoryScope