mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-15 12:15:16 +00:00
refactor(memory)!: 块 union 化,彻底淘汰 CAS 第一阶段(生产代码)
块自带负载(MemoryBlock.Data),删 PayloadDigest;检索纯向量,媒体随块 同生灭。生产代码全绿;CAS 专属测试将在下一提交随判据重写。 - memory: Data BLOB + migration9;blockColumns 不含 data(召回只比向量); MediaBlockID 内容派生 ID;BlockByIDPrefix/BlockData 按需加载 - sdk: memory_impl 去 media.Store;MemoryBlockView PayloadDigest→HasData - core: mediaref/graphmedia/crossmodal/medialoop 全部改块语义; captureBlockMedia 直接产块;resolveMediaRefs 按块 ID 解析 - knowledge: 媒体字节随条目目录自带(File+Data),删 mediaGet/mediaPut - webui: graphBlockView/pulse payload_digest→has_data - bootstrap/registry: 去 MediaStore 接线(SetMediaStore 空实现,待⑥删包)
This commit is contained in:
@ -97,21 +97,12 @@ func (g *GraphDB) RecallBlocks(q BlockRecallQuery) ([]BlockHit, error) {
|
||||
var hits []BlockHit
|
||||
var skippedDim, skippedFP, scanned int
|
||||
for rows.Next() {
|
||||
var b MemoryBlock
|
||||
var vectorJSON string
|
||||
if err := rows.Scan(&b.ID, &b.Modality, &b.Text, &b.PayloadDigest,
|
||||
&b.MIME, &b.Size, &b.Width, &b.Height, &vectorJSON,
|
||||
&b.Fingerprint, &b.Source, &b.Tool, &b.Scene, &b.SemanticType,
|
||||
&b.CreatedAt, &b.UpdatedAt); err != nil {
|
||||
b, err := scanBlockRow(rows)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scanned++
|
||||
vec, err := decodeVector(vectorJSON)
|
||||
if err != nil {
|
||||
// 单条坏数据不该让整次召回失败 —— 但要记日志,否则会静默缺失。
|
||||
log.Printf("[graph] recall blocks: skip %s: %v", b.ID, err)
|
||||
continue
|
||||
}
|
||||
vec := b.Vector
|
||||
// 维度不一致:跳过并计数。**不截断、不填充**——那会造出无意义的分数。
|
||||
if len(vec) != dim {
|
||||
skippedDim++
|
||||
|
||||
Reference in New Issue
Block a user