Files
meeting-assistant/MeetingAssistant/Summary/LiteLlmResponsesCompactionOptions.cs
2026-05-20 02:06:16 +02:00

33 lines
959 B
C#

using Microsoft.Agents.AI.Compaction;
namespace MeetingAssistant.Summary;
#pragma warning disable MAAI001
public sealed class LiteLlmResponsesCompactionOptions
{
public bool Enabled { get; init; }
public int ContextWindowTokens { get; init; }
public int MaxOutputTokens { get; init; }
public double RemainingRatio { get; init; }
public string CompactPath { get; init; } = "responses/compact";
public CompactionStrategy? FallbackStrategy { get; init; }
public int TriggerTokens
{
get
{
var contextWindow = Math.Max(1, ContextWindowTokens);
var outputReserve = Math.Clamp(MaxOutputTokens, 0, contextWindow - 1);
var inputBudget = contextWindow - outputReserve;
var remainingRatio = Math.Clamp(RemainingRatio, 0.01, 0.90);
return Math.Max(1, (int)Math.Floor(inputBudget * (1 - remainingRatio)));
}
}
}
#pragma warning restore MAAI001