78 lines
3.2 KiB
Go
78 lines
3.2 KiB
Go
// Package models 定义织忆 MemoryWeave 的核心数据模型。
|
||
package models
|
||
|
||
import "time"
|
||
|
||
// VersionRecord 记忆版本记录(溯源链中的单次修改)
|
||
type VersionRecord struct {
|
||
Version int `json:"version"`
|
||
Content string `json:"content"`
|
||
UpdatedBy string `json:"updated_by"`
|
||
Source string `json:"source"`
|
||
Trigger string `json:"trigger"`
|
||
Reason string `json:"reason"`
|
||
Timestamp time.Time `json:"timestamp"`
|
||
}
|
||
|
||
// MemoryRecord 织忆中的单条记忆(存储在 LanceDB memories 表中)。
|
||
// v3.8 完整 Schema — 23 字段,与设计文档一致。
|
||
type MemoryRecord struct {
|
||
ID string `json:"id"`
|
||
AgentID string `json:"agent_id"`
|
||
Namespace string `json:"namespace"`
|
||
Content string `json:"content"`
|
||
Category string `json:"category"` // system_fact, user_pref, proj_context, tool_usage, code_snippet
|
||
Vector []float32 `json:"vector"` // bge-m3 1024维,L2归一化
|
||
Tier string `json:"tier"` // normal, core(core永不衰减)
|
||
Importance float64 `json:"importance"` // 重要性得分 = recency_factor × (1+log(1+recall_count))
|
||
QualityScore float64 `json:"quality_score"`
|
||
UsefulCount int `json:"useful_count"` // 被标记 useful 的次数
|
||
NotUsefulCount int `json:"not_useful_count"` // 被标记 not-useful 的次数
|
||
Version int `json:"version"` // 当前版本号
|
||
VersionHistory []VersionRecord `json:"version_history,omitempty"` // 完整修改链
|
||
Source string `json:"source"` // 来源:牧尘口头 / 配置解析 / Agent推断 / LLM蒸馏
|
||
VolatileFlag bool `json:"volatile_flag"` // 频繁变更标记(≥3次修正自动设置)
|
||
RecallCount int `json:"recall_count"`
|
||
Freshness string `json:"freshness"` // fresh, stale, verified
|
||
LastRecalledAt time.Time `json:"last_recalled_at"`
|
||
CreatedAt time.Time `json:"created_at"`
|
||
UpdatedAt time.Time `json:"updated_at"`
|
||
IsDeleted bool `json:"is_deleted"`
|
||
DependsOn []string `json:"depends_on,omitempty"` // 依赖的记忆 ID 列表
|
||
DerivedFrom string `json:"derived_from,omitempty"` // 蒸馏来源 episode ID
|
||
}
|
||
|
||
// EpisodeRecord 原始对话/任务日志(存储在 LanceDB episodes 表中)。
|
||
type EpisodeRecord struct {
|
||
ID string `json:"id"`
|
||
AgentID string `json:"agent_id"`
|
||
Namespace string `json:"namespace"`
|
||
Content string `json:"content"`
|
||
Category string `json:"category"`
|
||
CreatedAt time.Time `json:"created_at"`
|
||
}
|
||
|
||
// TombstoneRecord 已删除/废弃记忆的墓碑记录。
|
||
type TombstoneRecord struct {
|
||
ID string `json:"id"`
|
||
OriginalID string `json:"original_id"`
|
||
Reason string `json:"reason"` // deprecated, merged, corrected, evicted
|
||
CreatedAt time.Time `json:"created_at"`
|
||
}
|
||
|
||
// RecallResult recall 接口返回的单条结果。
|
||
type RecallResult struct {
|
||
ID string `json:"id"`
|
||
Content string `json:"content"`
|
||
Category string `json:"category"`
|
||
Score float64 `json:"score"`
|
||
Timestamp string `json:"timestamp"`
|
||
}
|
||
|
||
// RerankResult rerank 重排后的单条结果。
|
||
type RerankResult struct {
|
||
Index int `json:"index"`
|
||
Score float64 `json:"score"`
|
||
Text string `json:"text"`
|
||
}
|