MCPcopy Create free account
hub / github.com/astercloud/aster / ToMetadata

Method ToMetadata

pkg/memory/provenance.go:167–190  ·  view source on GitHub ↗

ToMetadata 将 Provenance 转换为 metadata map。 用于存储到 VectorStore。

()

Source from the content-addressed store, hash-verified

165// ToMetadata 将 Provenance 转换为 metadata map。
166// 用于存储到 VectorStore。
167func (p *MemoryProvenance) ToMetadata() map[string]any {
168 meta := map[string]any{
169 "provenance": map[string]any{
170 "source_type": string(p.SourceType),
171 "confidence": p.Confidence,
172 "sources": p.Sources,
173 "created_at": p.CreatedAt.Format(time.RFC3339),
174 "updated_at": p.UpdatedAt.Format(time.RFC3339),
175 "version": p.Version,
176 "is_explicit": p.IsExplicit,
177 "corroboration_count": p.CorroborationCount,
178 },
179 }
180
181 if p.LastAccessedAt != nil {
182 meta["provenance"].(map[string]any)["last_accessed_at"] = p.LastAccessedAt.Format(time.RFC3339)
183 }
184
185 if len(p.Tags) > 0 {
186 meta["provenance"].(map[string]any)["tags"] = p.Tags
187 }
188
189 return meta
190}
191
192// FromMetadata 从 metadata map 中提取 Provenance。
193func FromMetadata(meta map[string]any) *MemoryProvenance {

Callers 3

TestFromMetadataFunction · 0.80
indexInternalMethod · 0.80

Calls

no outgoing calls

Tested by 2

TestFromMetadataFunction · 0.64