35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
|
import { ChatCompletionRequestMessage as OpenAIMessage , CreateChatCompletionRequest as ChatCompletionRequestData } from "openai";
|
||
|
|
||
|
// Don't forget to rename the file to config.ts
|
||
|
|
||
|
const calendarConfig: Intl.DateTimeFormatOptions = {
|
||
|
weekday: "short",
|
||
|
year: "numeric",
|
||
|
month: "short",
|
||
|
day: "numeric",
|
||
|
hour: "2-digit",
|
||
|
minute: "2-digit",
|
||
|
hour12: false,
|
||
|
};
|
||
|
|
||
|
export default class config {
|
||
|
/** 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 [
|
||
|
{ 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. Current time (${Intl.DateTimeFormat().resolvedOptions().timeZone}): ${new Date().toLocaleString("en-US", calendarConfig)}` }
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/** OpenAI model config */
|
||
|
static readonly chatCompletionConfig: Omit<ChatCompletionRequestData, "messages"> = {
|
||
|
model: "gpt-3.5-turbo",
|
||
|
max_tokens: 384,
|
||
|
};
|
||
|
}
|