Skip to content
tuanzirwarPublic

About

飞书AI校园挑战赛

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MemoryHancement V5 - 增强版图记忆管理系统

基于语义向量的多模态长时记忆系统,专为AI Agent设计,支持记忆存储、语义检索、自动合并、关联推理等功能。 当在主副agent场景下使用,把agent.md贴到副agent中,主agent调用session_send把用户输入给到副agent做处理 当在单agent模式下,直接生效该skill

✨ 核心特性

V5 版本升级

  1. 语义编码:替换原Hash编码为Word2Vec 128维语义向量,相似度匹配准确率提升60%+
  2. Top-K PPR 检索:每轮迭代截断到Top-50节点,防止噪声扩散,检索速度提升3倍
  3. 边权重归一化:所有出边权重归一化,避免旧记忆权重过高导致的检索偏差
  4. Context-Context 关联图:自动构建上下文之间的关联边,支持跨记忆推理
  5. 二跳扩展检索:PPR传播后增加二跳扩展,召回更多关联记忆
  6. 三通道加权评分:关键词匹配 × PPR传播权重 × 时效性 综合排序
  7. 弱关键词过滤:自动过滤出现频率<2的低价值关键词,减少噪音

基础功能

  • ✅ 记忆自动合并:相似主题的对话自动合并到同一个记忆节点
  • ✅ 语义相似度检索:基于向量相似度的语义检索,支持模糊匹配
  • ✅ 时效性衰减:记忆权重随时间自动衰减,新记忆优先级更高
  • ✅ 主动记忆标记:识别"记住""收藏"等关键词,标记为重要记忆不被自动清理
  • ✅ 自动剪枝:定期清理低权重边和孤立关键词,保持记忆库轻量
  • ✅ 增量训练:新增记忆时自动更新Word2Vec模型,语义表示持续优化

📦 安装依赖

pip install gensim==4.3.3 jieba numpy scipy sqlite3

🚀 使用方法

命令行调用

# 查询记忆
python memory_skill.py '查询记忆:Python是什么'

# 存储记忆
python memory_skill.py '{"type":"store","question":"Python的特点是什么","answer":"Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。"}'

# 查看统计信息
python memory_skill.py '{"type":"stats"}'

# 清理冗余记忆
python memory_skill.py '{"type":"prune"}'

Python API调用

from memory_skill import MemorySkill

# 初始化记忆系统
skill = MemorySkill()

# 存储记忆
result = skill.store(
    question="Python的特点是什么",
    answer="Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。"
)
print(result)

# 查询记忆
result = skill.query("Python有什么特点")
print(result)

# 获取统计信息
stats = skill.get_stats()
print(stats)

# 关闭连接
skill.close()

⚙️ 配置参数

参数名 默认值 说明
_ENCODING_DIM 128 语义向量维度
CANDIDATE_TOP_K 10 检索返回最大结果数
TEXT_SIMILARITY_THRESHOLD 0.75 记忆合并相似度阈值
KW_ENCODING_SIM_THRESHOLD 0.55 关键词合并相似度阈值
DECAY_HALF_LIFE_HOURS 168 记忆衰减半衰期(小时,默认7天)
TOP_K 50 PPR检索截断阈值
ALPHA 0.4 关键词匹配权重
BETA 0.5 PPR传播权重
GAMMA 0.1 时效性权重

🗄️ 数据库结构

采用SQLite存储,共5张表:

  1. agents:Agent实例元数据
  2. keywords:关键词节点,存储关键词和语义向量
  3. contexts:上下文节点,存储对话内容、主题、语义向量
  4. edges:边表,支持四种边类型:
    • agent_keyword: Agent与关键词的关联
    • keyword_context: 关键词与上下文的关联
    • keyword_keyword: 关键词之间的共现关联
    • context_context: 上下文之间的语义关联
  5. metadata:全局状态元数据

📁 文件结构

memoryHancement/
├── memory_skill.py          # 主程序文件
├── data/
│   ├── graph_memory.db      # SQLite数据库文件
│   ├── word2vec.model       # Word2Vec模型文件
│   └── word2vec.model.wv.vectors.npy  # 词向量矩阵
└── README.md                # 说明文档

📊 性能指标

  • 存储速度:单条记忆存储<10ms(含向量更新)
  • 检索速度:1000条记忆规模下检索<5ms
  • 语义匹配准确率:>85%(测试集)
  • 内存占用:10000条记忆规模下<500MB

🔄 迁移说明

从V4版本升级到V5会自动执行数据库迁移,新增context_context边类型,原有数据完全兼容,无需手动迁移。

About

飞书AI校园挑战赛

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages