mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-06 15:38:10 +00:00
feat(doc): dense vector index for unified text+media retrieval
文档层引入稠密向量索引,与媒体检索共享同一多模态空间: - Doc 加 DenseVec 字段(json:-,运行时计算) - Consume/QueryScored 优先使用 denseSearchScored(brute-force cosine), 未配置时退化到 TF-IDF 倒排检索 - buildDenseIndex 在 Agent 启动时为全部文档一次性计算稠密向量 - L0 RelevanceContext 支持 denseSpace(Prune 使用稠密余弦), 退化到 fastText 稀疏余弦 vector 包新增 DenseCosine([]float64 brute-force cosine)。 验证:492 篇文档 brute-force ~300ms,全部测试通过。
This commit is contained in:
@ -249,6 +249,17 @@ func New(cfg AgentConfig) *Agent {
|
||||
// context owner 上、计数永不归零 → 对应 blob 永远不会被 GC 回收。
|
||||
rc.SetMediaStore(cfg.MediaStore)
|
||||
|
||||
// 注入稠密多模态向量空间(可选):配置后文档检索、L0 相关性裁剪、
|
||||
// 跨模态检索全部共享同一向量空间,取代稀疏 fastText 语义路。
|
||||
// 未配置时退化到 TF-IDF/fastText 稀疏检索,保持既有行为。
|
||||
if cfg.MultimodalSpace != nil && cfg.MultimodalSpace.Loaded() {
|
||||
rc.SetDenseSpace(cfg.MultimodalSpace)
|
||||
if cfg.DocStore != nil {
|
||||
cfg.DocStore.SetDenseSpace(cfg.MultimodalSpace)
|
||||
cfg.DocStore.BuildDenseIndex(cfg.MultimodalSpace)
|
||||
}
|
||||
}
|
||||
|
||||
return &Agent{
|
||||
id: cfg.ID,
|
||||
startTime: time.Now(),
|
||||
|
||||
Reference in New Issue
Block a user