mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-03 15:53:56 +00:00
refactor(clip): CLIP 收敛为稠密 MultimodalEmbedder,不污染稀疏 Vectorizer/TF-IDF 语义
文本相似度检索是层次化系统:TF-IDF 高频削弱加权(idf<0.1 丢弃)+ 倒排剪枝(只召回共享特征者)+ cosine。CLIP 512 维稠密向量若以 map[string]float64 稀疏形式实现 vector.Vectorizer 并塞进 vector.Store, 会让 512 维全部成为倒排 key → 候选集≈全库、剪枝失效,且绕过 TF-IDF 高频削弱,与既有文本检索语义错配。 收敛: - vector.MultimodalEmbedder 改为独立稠密接口(VectorizeDense/ EmbedImageDense/Fingerprint/Dim/Loaded/Close),不再继承稀疏 Vectorizer - clip.Embedder 删除稀疏垫片 Vectorize/EmbedImage/denseToVector, 只产出稠密向量;文档/知识/上下文层继续用 TF-IDF/fastText 稀疏路径 - 分层明确:文本→文本走 TF-IDF/fastText;文本↔图像、图像↔图像走 CLIP 稠密 QueryMedia(媒体层独立稠密余弦,原样保留)
This commit is contained in:
@ -17,10 +17,12 @@ type Vectorizer interface {
|
||||
EmbedImage(img []byte, mime string) (Vector, error)
|
||||
}
|
||||
|
||||
// MultimodalEmbedder 扩展 Vectorizer,提供直接返回 dense 向量的方法
|
||||
// 与模型生命周期管理。CLIP 等视觉向量化器实现此接口;未启用时用空 stub。
|
||||
// MultimodalEmbedder 是稠密多模态编码器的接口(CLIP 等视觉-文本联合模型)。
|
||||
//
|
||||
// 与 Vectorizer(稀疏词向量,供 TF-IDF/倒排检索)刻意区分:多模态模型产出的
|
||||
// 是共享稠密空间(如 CLIP 512 维),直接用于 media.Store 的稠密余弦检索,
|
||||
// **不得**塞进文档/知识层的稀疏 vector.Store(会破坏倒排剪枝与 TF-IDF 语义)。
|
||||
type MultimodalEmbedder interface {
|
||||
Vectorizer
|
||||
VectorizeDense(text string) ([]float64, error)
|
||||
EmbedImageDense(img []byte, mime string) ([]float64, error)
|
||||
Fingerprint() string
|
||||
|
||||
Reference in New Issue
Block a user