Disable-able chat history and examples
This commit is contained in:
parent
d63638541b
commit
8a4b675143
|
@ -102,7 +102,7 @@ class Prompt {
|
|||
/**
|
||||
* Representing a collection of prompts.
|
||||
*/
|
||||
class PromptCollection {
|
||||
export class PromptCollection {
|
||||
collection = [];
|
||||
overriddenPrompts = [];
|
||||
|
||||
|
@ -163,7 +163,7 @@ class PromptCollection {
|
|||
/**
|
||||
* Retrieves the index of a Prompt instance in the collection by its identifier.
|
||||
*
|
||||
* @param {null} identifier - The identifier of the Prompt instance to find.
|
||||
* @param {string} identifier - The identifier of the Prompt instance to find.
|
||||
* @returns {number} The index of the Prompt instance in the collection, or -1 if not found.
|
||||
*/
|
||||
index(identifier) {
|
||||
|
@ -904,7 +904,7 @@ class PromptManager {
|
|||
* @returns {boolean} True if the prompt can be deleted, false otherwise.
|
||||
*/
|
||||
isPromptToggleAllowed(prompt) {
|
||||
const forceTogglePrompts = ['charDescription', 'charPersonality', 'scenario', 'personaDescription', 'worldInfoBefore', 'worldInfoAfter', 'main'];
|
||||
const forceTogglePrompts = ['charDescription', 'charPersonality', 'scenario', 'personaDescription', 'worldInfoBefore', 'worldInfoAfter', 'main', 'chatHistory', 'dialogueExamples'];
|
||||
return prompt.marker && !forceTogglePrompts.includes(prompt.identifier) ? false : !this.configuration.toggleDisabled.includes(prompt.identifier);
|
||||
}
|
||||
|
||||
|
|
|
@ -726,12 +726,16 @@ export function isOpenRouterWithInstruct() {
|
|||
/**
|
||||
* Populates the chat history of the conversation.
|
||||
* @param {object[]} messages - Array containing all messages.
|
||||
* @param {PromptCollection} prompts - Map object containing all prompts where the key is the prompt identifier and the value is the prompt object.
|
||||
* @param {import('./PromptManager').PromptCollection} prompts - Map object containing all prompts where the key is the prompt identifier and the value is the prompt object.
|
||||
* @param {ChatCompletion} chatCompletion - An instance of ChatCompletion class that will be populated with the prompts.
|
||||
* @param type
|
||||
* @param cyclePrompt
|
||||
*/
|
||||
async function populateChatHistory(messages, prompts, chatCompletion, type = null, cyclePrompt = null) {
|
||||
if (!prompts.has('chatHistory')) {
|
||||
return;
|
||||
}
|
||||
|
||||
chatCompletion.add(new MessageCollection('chatHistory'), prompts.index('chatHistory'));
|
||||
|
||||
// Reserve budget for new chat message
|
||||
|
@ -816,11 +820,15 @@ async function populateChatHistory(messages, prompts, chatCompletion, type = nul
|
|||
/**
|
||||
* This function populates the dialogue examples in the conversation.
|
||||
*
|
||||
* @param {PromptCollection} prompts - Map object containing all prompts where the key is the prompt identifier and the value is the prompt object.
|
||||
* @param {import('./PromptManager').PromptCollection} prompts - Map object containing all prompts where the key is the prompt identifier and the value is the prompt object.
|
||||
* @param {ChatCompletion} chatCompletion - An instance of ChatCompletion class that will be populated with the prompts.
|
||||
* @param {Object[]} messageExamples - Array containing all message examples.
|
||||
*/
|
||||
function populateDialogueExamples(prompts, chatCompletion, messageExamples) {
|
||||
if (!prompts.has('dialogueExamples')) {
|
||||
return;
|
||||
}
|
||||
|
||||
chatCompletion.add(new MessageCollection('dialogueExamples'), prompts.index('dialogueExamples'));
|
||||
if (Array.isArray(messageExamples) && messageExamples.length) {
|
||||
const newExampleChat = new Message('system', substituteParams(oai_settings.new_example_chat_prompt), 'newChat');
|
||||
|
|
Loading…
Reference in New Issue