langchain1.X学习笔记-33-上下文与记忆Memory之长期记忆(一)基础API的使用
文章目录1 基本理解1.1 什么是长期记忆1.2 类型划分1.3 存储架构1.3.1 四层架构1.3.2 举例11.3.3 举例22 基础API的使用2.1 put()/get():写入/读取API2.1.1 put()源码剖析2.1.2 get()源码剖析2.1.3 举例1基于InMemoryStore(添加和更新)2.1.4 举例2基于SqliteStore(添加和更新)2.2 search():检索API2.2.1 源码剖析2.2.2 准备store(基于InMemoryStore测试)2.2.3 举例1:按照namespace前缀搜索2.2.4 举例2:按照filter过滤2.2.5 举例3:按照语义搜索2.2.5.1 IndexConfig源码2.2.5.2 使用自定义嵌入函数2.2.5.3 使用嵌入模型长期记忆记录的是用户特定或应用级别的数据,任何会话都可以随时访问。长期记忆的存储是store - namespace - key - value的四层架构。相关的API有:put() :负责写入。get() :负责读取。search() :负责检索。1 基本理解1.1 什么是长期记忆短期记忆记录的是 会话级别(线程,Thread) 的数据, 会话间不共享 。而长期记忆记录的是用户特定或应用级别的数据,任何会话都可以随时访问。比如:你喜欢简短回答。你偏好Python。某个用户是VIP。某个流程过去怎么做效果更好。这类信息不属于某一条聊天,而属于“用户/组织/应用本身”。1.2 类型划分LangChain参考CoALA paper将长期记忆划分为三类:类型1:Semantic Memory(语义记忆)即“事实类记忆”,记录事实/用户偏好/概念,如:用户喜欢简洁回答。用户常用中文。