< Summary

Information
Class: Intentum.AI.FewShot.MemoryFewShotStore
Assembly: Intentum.AI
File(s): /home/runner/work/Intentum/Intentum/src/Intentum.AI/FewShot/MemoryFewShotStore.cs
Line coverage
94%
Covered lines: 16
Uncovered lines: 1
Coverable lines: 17
Total lines: 29
Line coverage: 94.1%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor()100%11100%
AddExample(...)100%11100%
FindSimilar(...)100%11100%
Clear()100%11100%

File(s)

/home/runner/work/Intentum/Intentum/src/Intentum.AI/FewShot/MemoryFewShotStore.cs

#LineLine coverage
 1namespace Intentum.AI.FewShot;
 2
 3public sealed class MemoryFewShotStore : IFewShotStore
 4{
 75    private readonly List<FewShotExample> _examples = new();
 6
 07    public int Count => _examples.Count;
 8
 9    public void AddExample(FewShotExample example)
 710    {
 711        _examples.Add(example);
 712    }
 13
 14    public IReadOnlyList<FewShotExample> FindSimilar(string[] behaviorKeys, int topK = 5)
 715    {
 716        var scored = _examples
 617            .Select(e => (Example: e, Overlap: e.BehaviorKeys.Intersect(behaviorKeys).Count()))
 618            .Where(x => x.Overlap > 0)
 419            .OrderByDescending(x => x.Overlap)
 420            .ThenByDescending(x => x.Example.Confidence)
 721            .Take(topK)
 422            .Select(x => x.Example)
 723            .ToList();
 24
 725        return scored;
 726    }
 27
 128    public void Clear() => _examples.Clear();
 29}