-
Notifications
You must be signed in to change notification settings - Fork 60.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve Default System Template (#3996)
* Feat [UI/UX] [Constant] [DEFAULT System Template] replace hardcoded - [+] feat(constant.ts): replace hardcoded OpenAI with dynamic ServiceProvider variable in DEFAULT_SYSTEM_TEMPLATE * Improve [UI/UX] [Chat] "fillTemplateWith" - [+] feat(chat.ts): add DEFAULT_MODELS to modelConfig - [+] fix(chat.ts): replace replaceAll with regex in output string replacement - [+] refactor(chat.ts): use const instead of let for cutoff variable
- Loading branch information
1 parent
4511aa4
commit a5517a1
Showing
2 changed files
with
13 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,7 @@ import { ModelConfig, ModelType, useAppConfig } from "./config"; | |
import { createEmptyMask, Mask } from "./mask"; | ||
import { | ||
DEFAULT_INPUT_TEMPLATE, | ||
DEFAULT_MODELS, | ||
DEFAULT_SYSTEM_TEMPLATE, | ||
KnowledgeCutOffDate, | ||
ModelProvider, | ||
|
@@ -91,10 +92,17 @@ function countMessages(msgs: ChatMessage[]) { | |
} | ||
|
||
function fillTemplateWith(input: string, modelConfig: ModelConfig) { | ||
let cutoff = | ||
KnowledgeCutOffDate[modelConfig.model] ?? KnowledgeCutOffDate.default; | ||
const cutoff = KnowledgeCutOffDate[modelConfig.model] ?? KnowledgeCutOffDate.default; | ||
// Find the model in the DEFAULT_MODELS array that matches the modelConfig.model | ||
const modelInfo = DEFAULT_MODELS.find(m => m.name === modelConfig.model); | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
H0llyW00dzZ
Author
Contributor
|
||
if (!modelInfo) { | ||
throw new Error(`Model ${modelConfig.model} not found in DEFAULT_MODELS array.`); | ||
} | ||
// Directly use the providerName from the modelInfo | ||
const serviceProvider = modelInfo.provider.providerName; | ||
|
||
const vars = { | ||
ServiceProvider: serviceProvider, | ||
cutoff, | ||
model: modelConfig.model, | ||
time: new Date().toLocaleString(), | ||
|
@@ -111,7 +119,8 @@ function fillTemplateWith(input: string, modelConfig: ModelConfig) { | |
} | ||
|
||
Object.entries(vars).forEach(([name, value]) => { | ||
output = output.replaceAll(`{{${name}}}`, value); | ||
const regex = new RegExp(`{{${name}}}`, 'g'); | ||
output = output.replace(regex, value.toString()); // Ensure value is a string | ||
}); | ||
|
||
return output; | ||
|
I think you forgot the custom model list configed in user configuration page.