BotSharp/src/Infrastructure/BotSharp.Logger/Hooks/TokenStatsConversationHook.cs

27 lines
770 B
C#
Raw Normal View History

2023-11-29 23:23:14 +00:00
namespace BotSharp.Logger.Hooks;
2023-10-16 20:07:07 +00:00
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();
2023-11-29 23:23:14 +00:00
await Task.CompletedTask;
2023-10-16 20:07:07 +00:00
}
public async Task AfterGenerated(RoleDialogModel message, TokenStatsModel tokenStats)
{
_tokenStatistics.StopTimer();
tokenStats.PromptCost = 0.0015f;
tokenStats.CompletionCost = 0.002f;
_tokenStatistics.AddToken(tokenStats);
2023-11-29 23:23:14 +00:00
await Task.CompletedTask;
2023-10-16 20:07:07 +00:00
}
}