徐涛
|
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 |
|