From e93f625ebd9d6ce5cbe51b06c18b45281110e101 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sun, 21 Apr 2024 14:24:26 +0900 Subject: [PATCH] Add openrouter provider --- src/lib/Setting/Pages/BotSettings.svelte | 13 ++--- .../Setting/Pages/OpenrouterSettings.svelte | 48 +++++++++++++++++++ src/ts/process/request.ts | 7 +++ src/ts/storage/database.ts | 2 + 4 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 src/lib/Setting/Pages/OpenrouterSettings.svelte diff --git a/src/lib/Setting/Pages/BotSettings.svelte b/src/lib/Setting/Pages/BotSettings.svelte index 1168a0ae..c7f5188f 100644 --- a/src/lib/Setting/Pages/BotSettings.svelte +++ b/src/lib/Setting/Pages/BotSettings.svelte @@ -24,6 +24,7 @@ import OobaSettings from "./OobaSettings.svelte"; import Arcodion from "src/lib/UI/Arcodion.svelte"; import { startsWith } from "lodash"; + import OpenrouterSettings from "./OpenrouterSettings.svelte"; let tokens = { mainPrompt: 0, @@ -261,14 +262,6 @@ {/if} -{#if $DataBase.aiModel.startsWith('openrouter')} -
- -
-
- -
-{/if} {#if $DataBase.aiModel === 'custom' || $DataBase.subModel === 'custom'} {language.plugin} @@ -573,6 +566,10 @@ {/if} +{#if $DataBase.aiModel.startsWith('openrouter')} + +{/if} + {#if advancedBotSettings} {#if !$DataBase.promptTemplate} diff --git a/src/lib/Setting/Pages/OpenrouterSettings.svelte b/src/lib/Setting/Pages/OpenrouterSettings.svelte new file mode 100644 index 00000000..5bb3036f --- /dev/null +++ b/src/lib/Setting/Pages/OpenrouterSettings.svelte @@ -0,0 +1,48 @@ + + + +
+ +
+
+ +
+ {language.provider} + + Auto (Default) + {#each openrouterProviders as provider} + {provider} + {/each} + +
\ No newline at end of file diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index 08d5256d..5b712994 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -460,6 +460,13 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model' body.top_a = db.top_a //@ts-ignore body.transforms = db.openrouterMiddleOut ? ['middle-out'] : [] + + if(db.openrouterProvider){ + //@ts-ignore + body.provider = { + order: [db.openrouterProvider] + } + } } if(aiModel === 'reverse_proxy' && db.reverseProxyOobaMode){ diff --git a/src/ts/storage/database.ts b/src/ts/storage/database.ts index fece3c5b..570096c8 100644 --- a/src/ts/storage/database.ts +++ b/src/ts/storage/database.ts @@ -392,6 +392,7 @@ export function setDatabase(data:Database){ data.top_a ??= 0 data.customTokenizer ??= 'tik' data.instructChatTemplate ??= "chatml" + data.openrouterProvider ??= '' changeLanguage(data.language) DataBase.set(data) @@ -638,6 +639,7 @@ export interface Database{ customTokenizer:string instructChatTemplate:string JinjaTemplate:string + openrouterProvider:string } export interface customscript{