11using System . Text ;
2+ using Microsoft . Extensions . Options ;
23using SlackNet ;
34using SlackNet . Blocks ;
45using SlackNet . Interaction ;
@@ -15,14 +16,16 @@ public class SlackCommandHandler : ISlashCommandHandler
1516 private readonly GptCustomCommands _customCommands ;
1617 private readonly SlackBotInfo _botInfo ;
1718 private readonly ISlackApiClient _slack ;
19+ private readonly GptDefaults _gptDefaults ;
1820 private readonly ILogger _log ;
1921
20- public SlackCommandHandler ( GptCustomCommands customCommands , SlackBotInfo botInfo , ISlackApiClient slack ,
22+ public SlackCommandHandler ( GptCustomCommands customCommands , SlackBotInfo botInfo , ISlackApiClient slack , IOptions < GptDefaults > gptDefaults ,
2123 ILogger < SlackCommandHandler > log )
2224 {
2325 _customCommands = customCommands ;
2426 _botInfo = botInfo ;
2527 _slack = slack ;
28+ _gptDefaults = gptDefaults . Value ;
2629 _log = log ;
2730 }
2831
@@ -78,14 +81,14 @@ private string ModelParametersHelpText()
7881 {
7982 var sb = new StringBuilder ( ) ;
8083 sb . AppendLine ( "Model parameters:" ) ;
81- sb . AppendLine ( "-maxTokens: limits tokens in output, default 2048 (GPT-3.5: 4000, GPT-4: 8000);" ) ;
82- sb . AppendLine ( "-temperature: controls randomness, default 0.7;" ) ;
83- sb . AppendLine ( "-topP: filters token choices, default 1 ;" ) ;
84- sb . AppendLine ( "-presencePenalty: penalizes repeated tokens, default 0 ;" ) ;
85- sb . AppendLine ( "-frequencyPenalty: discourages frequent tokens, default 0 ;" ) ;
86- sb . AppendLine ( "-model: specifies model, default GPT-4 , options: GPT-4, GPT-3.5-turbo;" ) ;
84+ sb . AppendLine ( $ "-maxTokens: limits tokens in output, default { _gptDefaults . MaxTokens . ToString ( ) ?? "4000" } (GPT-3.5: 4000, GPT-4: 8000);") ;
85+ sb . AppendLine ( $ "-temperature: controls randomness, default { _gptDefaults . Temperature . ToString ( ) ?? " 0.7" } ;") ;
86+ sb . AppendLine ( $ "-topP: filters token choices, default { _gptDefaults . TopP . ToString ( ) ?? "1" } ;") ;
87+ sb . AppendLine ( $ "-presencePenalty: penalizes repeated tokens, default { _gptDefaults . PresencePenalty . ToString ( ) ?? "0" } ;") ;
88+ sb . AppendLine ( $ "-frequencyPenalty: discourages frequent tokens, default { _gptDefaults . FrequencyPenalty . ToString ( ) ?? "0" } ;") ;
89+ sb . AppendLine ( $ "-model: specifies model, default { ( _gptDefaults . Model ?? "gpt-4" ) . ToUpper ( ) } , options: GPT-4, GPT-3.5-turbo;") ;
8790 sb . AppendLine (
88- "-system: custom system message, default \" You are a helpful assistant. Today is {Current Date}\" ." ) ;
91+ $ "-system: custom system message, default \" { _gptDefaults . Model ?? " You are a helpful assistant. Today is {Current Date}" } \" .") ;
8992
9093 return sb . ToString ( ) ;
9194 }
0 commit comments