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 警告
This commit is contained in:
徐涛
2026-07-17 14:37:49 +08:00
parent 5bb349d177
commit 7e72e102a2
8 changed files with 2365 additions and 43 deletions
+6 -1
View File
@@ -2,6 +2,7 @@
pub mod conversation;
pub mod error;
pub mod graph;
pub mod knowledge;
pub mod retriever;
pub mod store;
@@ -12,6 +13,7 @@ pub mod vector_store;
// 高频类型(大多数下游需要)
pub use conversation::{ConversationMemory, ConversationMemoryConfig};
pub use error::MemoryError;
pub use graph::{GraphEntity, GraphRelation, InMemoryGraph, KnowledgeGraph, RelationDirection, ScoredEntity};
pub use knowledge::KnowledgeStore;
pub use retriever::MemoryRetriever;
pub use store::{InMemoryStore, MemoryStore, SqliteStore};
@@ -21,7 +23,10 @@ pub use vector_store::{InMemoryVectorStore, PersistentVectorStore, RagPipeline,
// 低频类型(配置/高级使用)
pub use conversation::MemoryStrategy;
pub use graph::TagConstraints;
pub use knowledge::{KNOWLEDGE_PREFIX, PageIndexEntry};
pub use retriever::{RetrievalResult, RetrieverConfig, ScoredItem};
#[allow(deprecated)]
pub use retriever::ScoredItem;
pub use retriever::{RetrievalItem, RetrievalResult, RetrievalStrategy, RetrieverConfig};
pub use store::{EvictionConfig, EvictionPolicy};
pub use types::{KnowledgePage, MemoryFilter, MemoryItem};