DetectInconsistencies 检测记忆中的不一致性
( ctx context.Context, memories []MemoryWithScore, )
| 46 | |
| 47 | // DetectInconsistencies 检测记忆中的不一致性 |
| 48 | func (qa *QualityAnalyzer) DetectInconsistencies( |
| 49 | ctx context.Context, |
| 50 | memories []MemoryWithScore, |
| 51 | ) ([]Inconsistency, error) { |
| 52 | inconsistencies := []Inconsistency{} |
| 53 | |
| 54 | // 1. 检测矛盾 |
| 55 | contradictions := qa.detectContradictions(memories) |
| 56 | inconsistencies = append(inconsistencies, contradictions...) |
| 57 | |
| 58 | // 2. 检测重复 |
| 59 | duplicates := qa.detectDuplicates(memories) |
| 60 | inconsistencies = append(inconsistencies, duplicates...) |
| 61 | |
| 62 | // 3. 检测过时信息 |
| 63 | outdated := qa.detectOutdated(memories) |
| 64 | inconsistencies = append(inconsistencies, outdated...) |
| 65 | |
| 66 | // 4. 检测低置信度 |
| 67 | lowConfidence := qa.detectLowConfidence(memories) |
| 68 | inconsistencies = append(inconsistencies, lowConfidence...) |
| 69 | |
| 70 | return inconsistencies, nil |
| 71 | } |
| 72 | |
| 73 | // detectContradictions 检测矛盾信息 |
| 74 | func (qa *QualityAnalyzer) detectContradictions(memories []MemoryWithScore) []Inconsistency { |