BotSharp/src/Infrastructure/BotSharp.Logger/Hooks/TokenStatsConversationHook.cs
Jicheng Lu 66e77a0078 refine
2025-01-24 15:22:23 -06:00

25 lines
694 B
C#

namespace BotSharp.Logger.Hooks;
public class TokenStatsConversationHook : IContentGeneratingHook
{
private readonly ITokenStatistics _tokenStatistics;
public TokenStatsConversationHook(ITokenStatistics tokenStatistics)
{
_tokenStatistics = tokenStatistics;
}
public async Task BeforeGenerating(Agent agent, List<RoleDialogModel> conversations)
{
_tokenStatistics.StartTimer();
await Task.CompletedTask;
}
public async Task AfterGenerated(RoleDialogModel message, TokenStatsModel tokenStats)
{
_tokenStatistics.StopTimer();
_tokenStatistics.AddToken(tokenStats, message);
await Task.CompletedTask;
}
}