mancer support
This commit is contained in:
@@ -404,7 +404,7 @@
|
||||
|
||||
{#if $DataBase.useAutoSuggestions}
|
||||
<Suggestion messageInput={(msg)=>messageInput=(
|
||||
$DataBase.subModel === "textgen_webui" && $DataBase.autoSuggestClean
|
||||
($DataBase.subModel === "textgen_webui" || $DataBase.subModel === "mancer") && $DataBase.autoSuggestClean
|
||||
? msg.replace(/ +\(.+?\) *$| - [^"'*]*?$/, '')
|
||||
: msg
|
||||
)} {send}/>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
}
|
||||
]
|
||||
|
||||
if($DataBase.subModel === "textgen_webui"){
|
||||
if($DataBase.subModel === "textgen_webui" || $DataBase.subModel === 'mancer'){
|
||||
promptbody = [
|
||||
{
|
||||
role: 'system',
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
unsub()
|
||||
})
|
||||
|
||||
$: if($DataBase.aiModel === 'textgen_webui'){
|
||||
$: if($DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'mancer'){
|
||||
$DataBase.useStreaming = $DataBase.textgenWebUIStreamURL.startsWith("wss://")
|
||||
}
|
||||
</script>
|
||||
@@ -121,7 +121,10 @@
|
||||
<span class="text-textcolor">NovelList {language.apiKey}</span>
|
||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.novellistAPI}/>
|
||||
{/if}
|
||||
|
||||
{#if $DataBase.aiModel.startsWith('mancer') || $DataBase.subModel.startsWith('mancer')}
|
||||
<span class="text-textcolor">Mancer {language.apiKey}</span>
|
||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.mancerHeader}/>
|
||||
{/if}
|
||||
{#if $DataBase.aiModel.startsWith('claude') || $DataBase.subModel.startsWith('claude')}
|
||||
<span class="text-textcolor">Claude {language.apiKey}</span>
|
||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.claudeAPIKey}/>
|
||||
@@ -222,11 +225,12 @@
|
||||
<TextInput marginBottom={true} bind:value={$DataBase.hordeConfig.apiKey} />
|
||||
|
||||
{/if}
|
||||
{#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'textgen_webui'}
|
||||
<span class="text-textcolor mt-2">Oobabooga Blocking {language.providerURL}</span>
|
||||
{#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'textgen_webui'
|
||||
|| $DataBase.aiModel === 'mancer' || $DataBase.subModel === 'mancer'}
|
||||
<span class="text-textcolor mt-2">Blocking {language.providerURL}</span>
|
||||
<TextInput marginBottom={true} bind:value={$DataBase.textgenWebUIBlockingURL} placeholder="https://..."/>
|
||||
<span class="text-draculared text-xs mb-2">You must use textgen webui with --public-api</span>
|
||||
<span class="text-textcolor mt-2">Oobabooga Stream {language.providerURL}</span>
|
||||
<span class="text-textcolor mt-2">Stream {language.providerURL}</span>
|
||||
<TextInput marginBottom={true} bind:value={$DataBase.textgenWebUIStreamURL} placeholder="wss://..."/>
|
||||
{#if !isTauri}
|
||||
<span class="text-draculared text-xs mb-2">You are using web version. you must use ngrok or other tunnels to use your local webui.</span>
|
||||
@@ -261,7 +265,7 @@
|
||||
{/if}
|
||||
<span class="text-textcolor2 mb-6 text-sm">{($DataBase.temperature / 100).toFixed(2)}</span>
|
||||
|
||||
{#if $DataBase.aiModel === 'textgen_webui'}
|
||||
{#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'mancer'}
|
||||
<span class="text-textcolor">Repetition Penalty</span>
|
||||
<SliderInput min={1} max={1.5} step={0.01} bind:value={$DataBase.ooba.repetition_penalty}/>
|
||||
<span class="text-textcolor2 mb-6 text-sm">{($DataBase.ooba.repetition_penalty).toFixed(2)}</span>
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
return "PaLM2"
|
||||
case "textgen_webui":
|
||||
return "Oobabooga WebUI"
|
||||
case "mancer":
|
||||
return "Mancer"
|
||||
case "kobold":
|
||||
return "Kobold"
|
||||
case "custom":
|
||||
@@ -111,6 +113,7 @@
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('reverse_proxy')}}>Reverse Proxy</button>
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('openrouter')}}>OpenRouter</button>
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('textgen_webui')}}>Oobabooga WebUI</button>
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('mancer')}}>Mancer</button>
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('palm2')}}>Google PaLM2</button>
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('kobold')}}>Kobold</button>
|
||||
<Arcodion name="Novellist">
|
||||
|
||||
@@ -433,7 +433,8 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
||||
}
|
||||
}
|
||||
|
||||
case "textgen_webui":{
|
||||
case "textgen_webui":
|
||||
case 'mancer':{
|
||||
let streamUrl = db.textgenWebUIStreamURL.replace(/\/api.*/, "/api/v1/stream")
|
||||
let blockingUrl = db.textgenWebUIBlockingURL.replace(/\/api.*/, "/api/v1/generate")
|
||||
let bodyTemplate:any
|
||||
@@ -464,6 +465,11 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
||||
add_bos_token: true,
|
||||
prompt: proompt
|
||||
}
|
||||
|
||||
const headers = (aiModel === 'textgen_webui') ? {} : {
|
||||
'X-API-KEY': db.mancerHeader
|
||||
}
|
||||
|
||||
if(db.useStreaming && arg.useStreaming){
|
||||
const oobaboogaSocket = new WebSocket(streamUrl);
|
||||
const statusCode = await new Promise((resolve) => {
|
||||
@@ -514,7 +520,7 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
||||
|
||||
const res = await globalFetch(blockingUrl, {
|
||||
body: bodyTemplate,
|
||||
headers: {},
|
||||
headers: headers,
|
||||
abortSignal
|
||||
})
|
||||
|
||||
|
||||
@@ -25,9 +25,13 @@ export async function setRecommended(model: string, ask:'ask'|'force') {
|
||||
const pr:botPreset = prebuiltPresets.NAI
|
||||
setDatabase(setPreset(db, pr))
|
||||
}
|
||||
else if(db.aiModel === 'textgen_webui'){
|
||||
else if(db.aiModel === 'textgen_webui' || db.aiModel === 'mancer'){
|
||||
const model = db.aiModel
|
||||
const submodel = db.subModel
|
||||
const sel = parseInt(await alertSelect(["Vicuna, WizardLM, Airoboros", "OpenChat V3.2", "Guanaco", "OpenAssistant", "Dolphin, Luna", "StableBeluga, Orca-Mini", "Others (Alpaca, Nous-Hermes, ...)"]))
|
||||
let pr = prebuiltPresets.ooba
|
||||
pr.aiModel = model
|
||||
pr.subModel = submodel
|
||||
pr.mainPrompt = pr.bias = pr.globalNote = undefined
|
||||
pr.jailbreak = ""
|
||||
if(!db.autoSuggestPrompt || db.autoSuggestPrompt === defaultAutoSuggestPrompt){
|
||||
@@ -99,5 +103,5 @@ export async function setRecommended(model: string, ask:'ask'|'force') {
|
||||
}
|
||||
|
||||
export function recommendedPresetExist(model:string){
|
||||
return model.startsWith('gpt') || model === 'openrouter' || model === 'reverse_proxy' || model === 'textgen_webui' || model.startsWith('novelai')
|
||||
return model.startsWith('gpt') || model === 'openrouter' || model === 'reverse_proxy' || model === 'textgen_webui' || model.startsWith('novelai') || model === 'mancer'
|
||||
}
|
||||
@@ -303,7 +303,7 @@ export function setDatabase(data:Database){
|
||||
data.colorSchemeName ??= 'default'
|
||||
data.NAIsettings.starter ??= ""
|
||||
data.hypaModel ??= 'MiniLM'
|
||||
|
||||
data.mancerHeader ??= ''
|
||||
changeLanguage(data.language)
|
||||
DataBase.set(data)
|
||||
}
|
||||
@@ -622,6 +622,7 @@ export interface Database{
|
||||
forceProxyAsOpenAI?:boolean
|
||||
hypaModel:'ada'|'MiniLM'
|
||||
saveTime?:number
|
||||
mancerHeader:string
|
||||
}
|
||||
|
||||
interface hordeConfig{
|
||||
|
||||
Reference in New Issue
Block a user