article
README
🚀 知识图谱内存服务器
本项目是一个使用本地知识图谱实现持久化记忆的基础方案,借助它,Claude能够记住用户在不同聊天中的各类信息。
🚀 快速开始
本项目借助本地知识图谱实现持久化记忆,让Claude可记住用户在不同聊天中的信息。你可以通过后续介绍的核心操作对实体、关系和观察进行管理,还能依据系统提示指导模型使用记忆,通过系统设置完成环境搭建。
✨ 主要特性
- 结构化存储:通过实体、关系和观察的概念,将知识以结构化的方式存储在知识图谱中,便于管理和检索。
- 多维度管理:支持对实体、关系和观察进行创建、查询、更新和删除等操作,满足不同场景下的知识管理需求。
- 记忆引导:提供系统提示,指导模型如何使用记忆,包括用户识别、记忆检索、记忆创建和记忆更新等步骤。
- 容器化部署:支持Docker构建,方便进行环境搭建和部署。
📚 详细文档
🔍 核心概念
实体
实体是知识图谱中的主要节点,每个实体具备以下要素:
- 名字(标识符):用于唯一标识该实体。
- 实体类型:例如“人”“工作”“学校”等,明确实体的类别。
- 具体事实:以观察的形式存储关于该实体的具体信息。
关系
关系用于描述不同实体之间的联系,包含以下部分:
- 主体:关系的发起方。
- 谓词:描述关系的动词或形容词。
- 宾语:关系的接收方。
- 时间范围(可选):指定关系存在的时间区间。
观察
观察是关于某个实体的事实信息,涵盖:
- 名字:与实体名称一致。
- 描述性事实:对实体的具体描述。
- 发生时间(可选):事实发生的时间。
⚙️ 核心操作
实体管理
- 创建新实体:在知识图谱中添加一个新的实体。
- 查询所有实体:获取知识图谱中所有的实体信息。
- 根据名字查询特定实体:通过实体的名字查找对应的实体。
- 更新现有实体的属性:修改已存在实体的相关属性。
- 删除实体:从知识图谱中移除指定的实体。
关系管理
- 创建新的关系:在不同实体之间建立新的联系。
- 查询所有关系:获取知识图谱中所有的关系信息。
- 根据谓词和宾语查询关系:通过谓词和宾语查找相关的关系。
- 更新现有关系的属性:修改已存在关系的相关属性。
- 删除关系:从知识图谱中移除指定的关系。
观察管理
- 创建新观察:添加关于某个实体的新事实信息。
- 查询所有观察:获取知识图谱中所有的观察信息。
- 根据实体名字查询相关观察:通过实体名字查找与之相关的观察。
- 更新现有观察:修改已存在观察的相关内容。
- 删除观察:从知识图谱中移除指定的观察。
💡 系统提示
建议使用以下提示来指导模型如何使用记忆:
遵循这些步骤进行每次交互:
1. 用户识别:
- 默认认为你正在与default_user交互
- 如果尚未识别default_user,请主动尝试识别。
2. 记忆检索:
- 总是从“开始记住...”并从你的知识图谱中检索所有相关信息开始聊天
- 总是将你的知识图谱称为你的“记忆”
- 在搜索时,可以使用多个关键词来查找相关信息
- 示例搜索:
* 单一概念:“编程”
* 相关概念:“编程 python”
* 特定领域与角色:“工作 工程师”
3. 记忆创建:
- 在与用户交流时,请注意以下类别的任何新信息:
a) 基本身份(年龄,性别,位置,职位,教育水平等)
b) 行为(兴趣,习惯等)
c) 偏好(沟通风格,首选语言等)
d) 目标(目标,目标,抱负等)
e) 关系(个人和专业关系,最多3度的分离)
4. 记忆更新:
- 如果在交互过程中获取了任何新信息,请按以下方式更新记忆:
a) 为反复出现的组织,人员和重要事件创建实体
b) 使用关系将它们与当前实体连接起来
c) 将事实存储为观察
d) 使用清晰且可搜索的术语命名实体和观察以促进将来检索
⚙️ 系统设置
Docker构建
docker build -t mcp/memory -f src/memory/Dockerfile .
📄 许可证
该MCP服务器根据MIT许可证授权。这意味着你可以自由地使用,修改和分发软件,但需遵守MIT许可协议的条款和条件。有关详细信息,请参阅项目存储库中的LICENSE文件。
Scan to contact