Refactor KnowledgeCutoff

[+] fix(constant.ts): update DEFAULT_SYSTEM_TEMPLATE to include knowledgeCutoff and time variables
[+] feat(chat.ts): add support for injecting system prompts based on model configuration
This commit is contained in:
H0llyW00dzZ
2023-11-07 06:42:55 +07:00
parent 9f26c8cecb
commit d2d615c84a
2 changed files with 22 additions and 17 deletions

View File

@@ -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