diff --git a/app/constant.ts b/app/constant.ts index e03e0097..95de3562 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -69,9 +69,10 @@ export const OpenaiPath = { export const DEFAULT_INPUT_TEMPLATE = `{{input}}`; // input / time / model / lang export const DEFAULT_SYSTEM_TEMPLATE = ` You are ChatGPT, a large language model trained by OpenAI. -Knowledge cutoff: 2021-09 +Knowledge cutoff: {{knowledgeCutoff}} Current model: {{model}} -Current time: {{time}}`; +Current time: {{time}} +`; export const SUMMARIZE_MODEL = "gpt-3.5-turbo"; @@ -100,6 +101,14 @@ export const DEFAULT_MODELS = [ name: "gpt-4-32k-0613", available: true, }, + { + name: "gpt-4-1106-preview", + available: true, + }, + { + name: "gpt-4-vision-preview", + available: true, + }, { name: "gpt-3.5-turbo", available: true, @@ -112,6 +121,10 @@ export const DEFAULT_MODELS = [ name: "gpt-3.5-turbo-0613", available: true, }, + { + name: "gpt-3.5-turbo-1106", + available: true, + }, { name: "gpt-3.5-turbo-16k", available: true, diff --git a/app/store/chat.ts b/app/store/chat.ts index 56ac8db6..9f73fdf2 100644 --- a/app/store/chat.ts +++ b/app/store/chat.ts @@ -401,22 +401,26 @@ export const useChatStore = createPersistStore( // system prompts, to get close to OpenAI Web ChatGPT const shouldInjectSystemPrompts = modelConfig.enableInjectSystemPrompts; - const systemPrompts = shouldInjectSystemPrompts - ? [ - createMessage({ - role: "system", - content: fillTemplateWith("", { - ...modelConfig, - template: DEFAULT_SYSTEM_TEMPLATE, - }), - }), - ] - : []; + let systemPrompts = shouldInjectSystemPrompts ? [] : []; + if (shouldInjectSystemPrompts) { - console.log( - "[Global System Prompt] ", - systemPrompts.at(0)?.content ?? "empty", - ); + const model = modelConfig.model; + let systemTemplate = DEFAULT_SYSTEM_TEMPLATE; + + if (model === "gpt-4-1106-preview" || model === "gpt-4-vision-preview") { + systemTemplate = systemTemplate.replace("{{knowledgeCutoff}}", "2023-04"); + } else { + systemTemplate = systemTemplate.replace("{{knowledgeCutoff}}", "2021-09"); + } + + const systemPrompt = createMessage({ + role: "system", + content: fillTemplateWith("", { + ...modelConfig, + template: systemTemplate, + }), + }); + console.log("[Global System Prompt] ", systemPrompt.content); } // long term memory