徐涛
|
7e72e102a2
|
feat(memory): 实现知识图谱与双通道检索
- 新增 KnowledgeGraph trait + InMemoryGraph(BFS 图遍历 + 标签管理)
- 扩展 MemoryRetriever 为双通道检索(Hybrid/KnowledgeOnly/GraphOnly)
- 统一 RetrievalResult 为 RetrievalItem enum 变体
- GraphRelation 使用复合键 + composite_key() 派生 id
- 旧 ScoredItem 标注 #[deprecated]
- 新增 knowledge_graph_demo 示例
- 全量测试 427 passed,clippy/doc 0 警告
|
2026-07-17 14:37:49 +08:00 |
|
徐涛
|
32d886f870
|
feat(memory): 新增 VectorStore 抽象与 RagPipeline 持久化管线
- 新增 src/memory/vector_store.rs(约 660 行):
- VectorStore trait:批量 add / search / remove + add_one 默认实现
- InMemoryVectorStore:Mutex<HashMap> + 余弦全量扫描(锁内克隆、锁外计算)
- PersistentVectorStore:MemoryStore 包装,JSON blob 持久化,先持久化后内存
- RagPipeline:split → embed → store 组合器(具体 struct,非 trait)
- 22 个内联测试覆盖 InMemory(10)/ Persistent(6)/ RagPipeline(4)/ 性能基准(2)
- 性能断言:search 10K 条 <100ms,PersistentVectorStore::new 加载 <500ms
- 标记 VectorRetriever / InMemoryVectorRetriever 为 #[deprecated(since="0.3.0")]
- memory.rs 追加 VectorStore 等 4 个类型的 re-export
- document_demo 从手动 VectorRetriever 循环迁移到 RagPipeline 两行调用
- 零新增外部依赖
|
2026-07-09 16:51:29 +08:00 |
|
徐涛
|
71abe881ed
|
feat(core): 完成 Phase 11 测试与检索补强
- 新增 VectorRetriever trait 与 InMemoryVectorRetriever 引用实现
- 补充 Provider roundtrip wiremock 测试与 MemoryStore 并发测试共 23 个
- 修复 openai 429 retry-after header 解析(与 anthropic 对齐)
|
2026-07-06 14:52:49 +08:00 |
|
徐涛
|
c82af60f81
|
feat(memory): 实现 SqliteStore 持久化
- 新增 src/memory/store/sqlite_store.rs(SqliteStore + 9 个内联测试)
- 基于 rusqlite 0.32(bundled),使用 Arc<Mutex<Connection>> + spawn_blocking
- WAL 模式 + synchronous=NORMAL + busy_timeout=5s + PRAGMA user_version
schema 版本管理
- created_at 归一化为 UTC 的 RFC 3339 TEXT,字典序等价时间序
- 错误精细映射:SqliteFailure/InvalidQuery → InvalidInput;
FromSqlConversionFailure → Serialization;其他 → Storage
- 9 个测试覆盖 CRUD、upsert、prefix/since/offset+limit 过滤、
10 写者 × 10 次并发、持久化 round-trip、trait-box 互换兼容性
依赖:
- rusqlite = { version = "0.32", features = ["bundled"] }
- time 增补 features: parsing, formatting, macros
- dev-dependencies: tempfile = "3"
测试:199 → 200 pass(191 原有 + 9 新增)
|
2026-07-05 17:13:28 +08:00 |
|
徐涛
|
5648b1d217
|
style(tools, llm): 统一导入顺序与代码格式
|
2026-07-05 08:19:13 +08:00 |
|
徐涛
|
2ecc0b4001
|
feat(memory): 添加记忆系统模块
|
2026-06-08 08:42:43 +08:00 |
|