1
1
using System . Text ;
2
+ using Microsoft . Extensions . Options ;
2
3
using SlackNet ;
3
4
using SlackNet . Blocks ;
4
5
using SlackNet . Interaction ;
@@ -15,14 +16,16 @@ public class SlackCommandHandler : ISlashCommandHandler
15
16
private readonly GptCustomCommands _customCommands ;
16
17
private readonly SlackBotInfo _botInfo ;
17
18
private readonly ISlackApiClient _slack ;
19
+ private readonly GptDefaults _gptDefaults ;
18
20
private readonly ILogger _log ;
19
21
20
- public SlackCommandHandler ( GptCustomCommands customCommands , SlackBotInfo botInfo , ISlackApiClient slack ,
22
+ public SlackCommandHandler ( GptCustomCommands customCommands , SlackBotInfo botInfo , ISlackApiClient slack , IOptions < GptDefaults > gptDefaults ,
21
23
ILogger < SlackCommandHandler > log )
22
24
{
23
25
_customCommands = customCommands ;
24
26
_botInfo = botInfo ;
25
27
_slack = slack ;
28
+ _gptDefaults = gptDefaults . Value ;
26
29
_log = log ;
27
30
}
28
31
@@ -78,14 +81,14 @@ private string ModelParametersHelpText()
78
81
{
79
82
var sb = new StringBuilder ( ) ;
80
83
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;") ;
87
90
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}" } \" .") ;
89
92
90
93
return sb . ToString ( ) ;
91
94
}
0 commit comments