独立的 Hebbian 共现图引擎,为星型记忆架构提供记忆关联发现与权重计算服务。
┌─────────────────────────────────────────────────────┐
│ 共现图引擎 (独立插件) │
│ │
│ • CoOccurrenceEngine 类 │
│ • SQLite 数据库 (共现图) │
│ • 遗忘曲线集成 (可选) │
└─────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 适配器 (co_occurrence_adapter) │
│ │
│ • 实现统一记忆接口 │
│ • 注册到星型架构适配器框架 │
└─────────────────────────────────────────────────────┘
CoOccurrenceEngine主引擎类,提供共现图的所有操作。
engine = CoOccurrenceEngine(db_path="~/.config/cortexgraph/co_occurrence.db")
主要方法:
record_co_occurrence(memory_ids: List[str], context: str = "")get_co_occurrence_score(memory_id: str, related_ids: List[str] = None) -> floatget_related_memories(memory_id: str, top_k: int = 10) -> List[Tuple[str, float]]get_stats() -> Dictdecay_old_edges(days: int = 90) -> int
## 数据库
默认数据库位置:`~/.config/cortexgraph/co_occurrence.db`
表结构:
CREATE TABLE co_occurrence (
memory_a TEXT,
memory_b TEXT,
weight REAL,
last_updated TEXT,
created_at TEXT,
PRIMARY KEY (memory_a, memory_b)
)
## 集成
### 1. 独立使用
from scripts.co_occurrence_tracker import CoOccurrenceEngine
engine = CoOccurrenceEngine()
engine.record_co_occurrence(["mem_001", "mem_002"])
related = engine.get_related_memories("mem_001")
### 2. 通过适配器集成
from adapter_factory import AdapterFactory
factory = AdapterFactory()
adapter = factory.get_adapter("co_occurrence")
results = adapter.search("mem_001", max_results=10)
## 配置
通过环境变量或配置文件:
- `CO_OCCURRENCE_DB_PATH`:数据库路径(默认:`~/.config/cortexgraph/co_occurrence.db`)
- `CO_OCCURRENCE_HALF_LIFE_DAYS`:衰减半衰期(默认:30天)
## 依赖
- **Python** 3.8+
- **SQLite3**(内置)
- **可选**:`forgetting-curve` 插件(提供更精确的衰减计算)
## 版本历史
- **v0.1.0**(初始版本):从 memory-sync-enhanced 中提取的共现图引擎
共 1 个版本