From 90d16605824aa5283e25d21668b62dac88c684c1 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Mon, 5 Aug 2024 21:52:34 +0900 Subject: [PATCH] Update Kobold --- src/lib/Setting/Pages/BotSettings.svelte | 7 +-- src/lib/UI/ModelList.svelte | 2 +- src/ts/process/request.ts | 57 +++++++++++++++++++++--- 3 files changed, 55 insertions(+), 11 deletions(-) diff --git a/src/lib/Setting/Pages/BotSettings.svelte b/src/lib/Setting/Pages/BotSettings.svelte index cefdafb1..8ace745e 100644 --- a/src/lib/Setting/Pages/BotSettings.svelte +++ b/src/lib/Setting/Pages/BotSettings.svelte @@ -265,7 +265,6 @@ {#if $DataBase.aiModel.startsWith("horde") || $DataBase.subModel.startsWith("horde") } Horde {language.apiKey} - {/if} {#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'textgen_webui' || $DataBase.aiModel === 'mancer' || $DataBase.subModel === 'mancer'} @@ -283,7 +282,9 @@ Ooba {language.providerURL} {/if} - + {#if $DataBase.aiModel.startsWith("horde") || $DataBase.aiModel === 'kobold' } + + {/if} {/if} {#if submenu === 1 || submenu === -1} @@ -386,7 +387,7 @@ - + {:else if $DataBase.aiModel.startsWith('novelai')}
Starter diff --git a/src/lib/UI/ModelList.svelte b/src/lib/UI/ModelList.svelte index 838ad640..1eccb352 100644 --- a/src/lib/UI/ModelList.svelte +++ b/src/lib/UI/ModelList.svelte @@ -113,8 +113,8 @@ - {/if} + diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index c41a506a..25a04ea0 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -1356,19 +1356,24 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model' } case "kobold":{ - const prompt = stringlizeChat(formated, currentChar?.name ?? '', arg.continue) + const prompt = applyChatTemplate(formated) const url = new URL(db.koboldURL) if(url.pathname.length < 3){ url.pathname = 'api/v1/generate' } + + const body:KoboldGenerationInputSchema = { + "prompt": prompt, + "temperature": (db.temperature / 100), + "top_p": db.top_p, + max_length: maxTokens, + max_context_length: db.maxContext, + n: 1 + } const da = await globalFetch(url.toString(), { method: "POST", - body: { - "prompt": prompt, - "temperature": (db.temperature / 100), - "top_p": 0.9 - }, + body: body, headers: { "content-type": "application/json", }, @@ -2280,7 +2285,7 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model' } if(aiModel.startsWith("horde:::")){ - const prompt = stringlizeChat(formated, currentChar?.name ?? '', arg.continue) + const prompt = applyChatTemplate(formated) const realModel = aiModel.split(":::")[1] @@ -2446,3 +2451,41 @@ function getOpenUserString(){ console.log(userString) return userString } + + + +export interface KoboldSamplerSettingsSchema { + rep_pen?: number; + rep_pen_range?: number; + rep_pen_slope?: number; + top_k?: number; + top_a?: number; + top_p?: number; + tfs?: number; + typical?: number; + temperature?: number; +} + +export interface KoboldGenerationInputSchema extends KoboldSamplerSettingsSchema { + prompt: string; + use_memory?: boolean; + use_story?: boolean; + use_authors_note?: boolean; + use_world_info?: boolean; + use_userscripts?: boolean; + soft_prompt?: string; + max_length?: number; + max_context_length?: number; + n: number; + disable_output_formatting?: boolean; + frmttriminc?: boolean; + frmtrmblln?: boolean; + frmtrmspch?: boolean; + singleline?: boolean; + disable_input_formatting?: boolean; + frmtadsnsp?: boolean; + quiet?: boolean; + sampler_order?: number[]; + sampler_seed?: number; + sampler_full_determinism?: boolean; +} \ No newline at end of file