Add chat formatting and use instruction prompt feature
This commit is contained in:
@@ -577,4 +577,6 @@ export const languageEnglish = {
|
||||
autoContinueChat: "Anti-Incomplete Response (Auto Continue)",
|
||||
removeIncompleteResponse: "Remove Incomplete Sentences",
|
||||
tokenizer: "Tokenizer",
|
||||
chatFormating: "Chat Formating",
|
||||
useInstructPrompt: "Use Instruction Prompt",
|
||||
}
|
||||
@@ -3,9 +3,10 @@
|
||||
import SelectInput from "src/lib/UI/GUI/SelectInput.svelte";
|
||||
import OptionInput from "src/lib/UI/GUI/OptionInput.svelte";
|
||||
import { DataBase } from "src/ts/storage/database";
|
||||
import { language } from "src/lang";
|
||||
</script>
|
||||
|
||||
<span class="text-textcolor">Chat Formating</span>
|
||||
<span class="text-textcolor">{language.chatFormating}</span>
|
||||
<SelectInput bind:value={$DataBase.instructChatTemplate}>
|
||||
<OptionInput value="chatml">ChatML</OptionInput>
|
||||
<OptionInput value="llama3">Llama3</OptionInput>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
import { DataBase } from "src/ts/storage/database";
|
||||
import SelectInput from "src/lib/UI/GUI/SelectInput.svelte";
|
||||
import OptionInput from "src/lib/UI/GUI/OptionInput.svelte";
|
||||
import ChatFormatSettings from "./ChatFormatSettings.svelte";
|
||||
|
||||
const openrouterProviders = [
|
||||
"OpenAI",
|
||||
@@ -38,6 +39,9 @@
|
||||
<div class="flex items-center mb-4">
|
||||
<Check bind:check={$DataBase.openrouterMiddleOut} name={language.openrouterMiddleOut}/>
|
||||
</div>
|
||||
<div class="flex items-center mb-4">
|
||||
<Check bind:check={$DataBase.useInstructPrompt} name={language.useInstructPrompt}/>
|
||||
</div>
|
||||
<span class="mb-2 text-2xl font-bold mt-2">{language.provider}</span>
|
||||
<SelectInput bind:value={$DataBase.openrouterProvider}>
|
||||
<OptionInput value="">Auto (Default)</OptionInput>
|
||||
@@ -45,4 +49,8 @@
|
||||
<OptionInput value={provider}>{provider}</OptionInput>
|
||||
{/each}
|
||||
</SelectInput>
|
||||
|
||||
{#if $DataBase.useInstructPrompt}
|
||||
<ChatFormatSettings />
|
||||
{/if}
|
||||
</Arcodion>
|
||||
@@ -467,6 +467,16 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
||||
order: [db.openrouterProvider]
|
||||
}
|
||||
}
|
||||
|
||||
if(db.useInstructPrompt){
|
||||
//@ts-ignore
|
||||
delete body.messages
|
||||
|
||||
const prompt = applyChatTemplate(formated)
|
||||
|
||||
//@ts-ignore
|
||||
body.prompt = prompt
|
||||
}
|
||||
}
|
||||
|
||||
if(aiModel === 'reverse_proxy' && db.reverseProxyOobaMode){
|
||||
|
||||
@@ -393,6 +393,7 @@ export function setDatabase(data:Database){
|
||||
data.customTokenizer ??= 'tik'
|
||||
data.instructChatTemplate ??= "chatml"
|
||||
data.openrouterProvider ??= ''
|
||||
data.useInstructPrompt ??= false
|
||||
|
||||
changeLanguage(data.language)
|
||||
DataBase.set(data)
|
||||
@@ -640,6 +641,7 @@ export interface Database{
|
||||
instructChatTemplate:string
|
||||
JinjaTemplate:string
|
||||
openrouterProvider:string
|
||||
useInstructPrompt:boolean
|
||||
}
|
||||
|
||||
export interface customscript{
|
||||
@@ -844,6 +846,7 @@ export interface botPreset{
|
||||
min_p?:number
|
||||
top_a?:number
|
||||
openrouterProvider?:string
|
||||
useInstructPrompt?:boolean
|
||||
|
||||
}
|
||||
|
||||
@@ -1047,6 +1050,7 @@ export const presetTemplate:botPreset = {
|
||||
mode: 'instruct'
|
||||
},
|
||||
top_p: 1,
|
||||
useInstructPrompt: false,
|
||||
|
||||
}
|
||||
|
||||
@@ -1108,7 +1112,8 @@ export function saveCurrentPreset(){
|
||||
repetition_penalty: db.repetition_penalty,
|
||||
min_p: db.min_p,
|
||||
top_a: db.top_a,
|
||||
openrouterProvider: db.openrouterProvider
|
||||
openrouterProvider: db.openrouterProvider,
|
||||
useInstructPrompt: db.useInstructPrompt
|
||||
}
|
||||
db.botPresets = pres
|
||||
setDatabase(db)
|
||||
@@ -1189,6 +1194,7 @@ export function setPreset(db:Database, newPres: botPreset){
|
||||
db.min_p = newPres.min_p
|
||||
db.top_a = newPres.top_a
|
||||
db.openrouterProvider = newPres.openrouterProvider
|
||||
db.useInstructPrompt = newPres.useInstructPrompt ?? false
|
||||
return db
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user