2023-03-24 15:44:22 +01:00
import { ChatCompletionRequestMessage as OpenAIMessage , CreateChatCompletionRequest as ChatCompletionRequestData } from "openai" ;
// Don't forget to rename the file to config.ts
export default class config {
2023-07-23 05:50:16 +02:00
static readonly calendarConfig : Intl.DateTimeFormatOptions = {
weekday : "short" ,
year : "numeric" ,
month : "short" ,
day : "numeric" ,
hour : "2-digit" ,
minute : "2-digit" ,
hour12 : false ,
} ;
2023-03-24 15:44:22 +01:00
/** Tokens to authenticate with */
static readonly tokens = {
Discord : "Discord token here" ,
OpenAI : "OpenAI token here" ,
} ;
/** Messages to append at the start of every chat when sending to API */
static systemPrompt ( ) : OpenAIMessage [ ] {
return [
2023-07-23 05:50:16 +02:00
{ role : "system" , content : ` You are GPTcord, an AI built on top of ChatGPT (a large language model trained by OpenAI) for Discord. Answer as concisely as possible. ` }
2023-03-24 15:44:22 +01:00
] ;
}
/** OpenAI model config */
static readonly chatCompletionConfig : Omit < ChatCompletionRequestData , "messages" > = {
model : "gpt-3.5-turbo" ,
max_tokens : 384 ,
} ;
2023-03-24 16:47:26 +01:00
/** limits for message selection */
static readonly limits = {
/** maximum time in the past for messages (in miliseconds) */
time : 60 * 60 * 1000 ,
/** maximum number of messages to select (maximum 100) */
messages : 50 ,
/** maximum total token usage for messages */
tokens : 2048 ,
} ;
2023-03-24 15:44:22 +01:00
}