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