< Summary

Information
Class: Intentum.AI.MultiModal.MultiModalIntentModel
Assembly: Intentum.AI
File(s): /home/runner/work/Intentum/Intentum/src/Intentum.AI/MultiModal/MultiModalIntentModel.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 19
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
Infer(...)100%22100%

File(s)

/home/runner/work/Intentum/Intentum/src/Intentum.AI/MultiModal/MultiModalIntentModel.cs

#LineLine coverage
 1using Intentum.Core.Behavior;
 2using Intentum.Core.Contracts;
 3using Intentum.Core.Intents;
 4
 5namespace Intentum.AI.MultiModal;
 6
 7public sealed class MultiModalIntentModel : IIntentModel
 8{
 9    public Intent Infer(BehaviorSpace behaviorSpace, BehaviorVector? precomputedVector = null)
 110    {
 111        var vector = precomputedVector ?? behaviorSpace.ToVector();
 212        var dims = vector.Dimensions.Values.Select(v => (float)v).ToArray();
 113        var fused = MultiModalFusion.Fuse(dims, []);
 14
 115        var score = Math.Min(fused.Average() + 0.3, 1.0);
 116        return new Intent("MultiModal-Result", [],
 117            new IntentConfidence(score, IntentConfidence.FromScore(score).Level));
 118    }
 19}