mancer support
This commit is contained in:
@@ -404,7 +404,7 @@
|
|||||||
|
|
||||||
{#if $DataBase.useAutoSuggestions}
|
{#if $DataBase.useAutoSuggestions}
|
||||||
<Suggestion messageInput={(msg)=>messageInput=(
|
<Suggestion messageInput={(msg)=>messageInput=(
|
||||||
$DataBase.subModel === "textgen_webui" && $DataBase.autoSuggestClean
|
($DataBase.subModel === "textgen_webui" || $DataBase.subModel === "mancer") && $DataBase.autoSuggestClean
|
||||||
? msg.replace(/ +\(.+?\) *$| - [^"'*]*?$/, '')
|
? msg.replace(/ +\(.+?\) *$| - [^"'*]*?$/, '')
|
||||||
: msg
|
: msg
|
||||||
)} {send}/>
|
)} {send}/>
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
if($DataBase.subModel === "textgen_webui"){
|
if($DataBase.subModel === "textgen_webui" || $DataBase.subModel === 'mancer'){
|
||||||
promptbody = [
|
promptbody = [
|
||||||
{
|
{
|
||||||
role: 'system',
|
role: 'system',
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
unsub()
|
unsub()
|
||||||
})
|
})
|
||||||
|
|
||||||
$: if($DataBase.aiModel === 'textgen_webui'){
|
$: if($DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'mancer'){
|
||||||
$DataBase.useStreaming = $DataBase.textgenWebUIStreamURL.startsWith("wss://")
|
$DataBase.useStreaming = $DataBase.textgenWebUIStreamURL.startsWith("wss://")
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -121,7 +121,10 @@
|
|||||||
<span class="text-textcolor">NovelList {language.apiKey}</span>
|
<span class="text-textcolor">NovelList {language.apiKey}</span>
|
||||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.novellistAPI}/>
|
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.novellistAPI}/>
|
||||||
{/if}
|
{/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')}
|
{#if $DataBase.aiModel.startsWith('claude') || $DataBase.subModel.startsWith('claude')}
|
||||||
<span class="text-textcolor">Claude {language.apiKey}</span>
|
<span class="text-textcolor">Claude {language.apiKey}</span>
|
||||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.claudeAPIKey}/>
|
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.claudeAPIKey}/>
|
||||||
@@ -222,11 +225,12 @@
|
|||||||
<TextInput marginBottom={true} bind:value={$DataBase.hordeConfig.apiKey} />
|
<TextInput marginBottom={true} bind:value={$DataBase.hordeConfig.apiKey} />
|
||||||
|
|
||||||
{/if}
|
{/if}
|
||||||
{#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'textgen_webui'}
|
{#if $DataBase.aiModel === 'textgen_webui' || $DataBase.subModel === 'textgen_webui'
|
||||||
<span class="text-textcolor mt-2">Oobabooga Blocking {language.providerURL}</span>
|
|| $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://..."/>
|
<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-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://..."/>
|
<TextInput marginBottom={true} bind:value={$DataBase.textgenWebUIStreamURL} placeholder="wss://..."/>
|
||||||
{#if !isTauri}
|
{#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>
|
<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}
|
{/if}
|
||||||
<span class="text-textcolor2 mb-6 text-sm">{($DataBase.temperature / 100).toFixed(2)}</span>
|
<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>
|
<span class="text-textcolor">Repetition Penalty</span>
|
||||||
<SliderInput min={1} max={1.5} step={0.01} bind:value={$DataBase.ooba.repetition_penalty}/>
|
<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>
|
<span class="text-textcolor2 mb-6 text-sm">{($DataBase.ooba.repetition_penalty).toFixed(2)}</span>
|
||||||
|
|||||||
@@ -36,6 +36,8 @@
|
|||||||
return "PaLM2"
|
return "PaLM2"
|
||||||
case "textgen_webui":
|
case "textgen_webui":
|
||||||
return "Oobabooga WebUI"
|
return "Oobabooga WebUI"
|
||||||
|
case "mancer":
|
||||||
|
return "Mancer"
|
||||||
case "kobold":
|
case "kobold":
|
||||||
return "Kobold"
|
return "Kobold"
|
||||||
case "custom":
|
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('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('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('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('palm2')}}>Google PaLM2</button>
|
||||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('kobold')}}>Kobold</button>
|
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('kobold')}}>Kobold</button>
|
||||||
<Arcodion name="Novellist">
|
<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 streamUrl = db.textgenWebUIStreamURL.replace(/\/api.*/, "/api/v1/stream")
|
||||||
let blockingUrl = db.textgenWebUIBlockingURL.replace(/\/api.*/, "/api/v1/generate")
|
let blockingUrl = db.textgenWebUIBlockingURL.replace(/\/api.*/, "/api/v1/generate")
|
||||||
let bodyTemplate:any
|
let bodyTemplate:any
|
||||||
@@ -464,6 +465,11 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
|||||||
add_bos_token: true,
|
add_bos_token: true,
|
||||||
prompt: proompt
|
prompt: proompt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const headers = (aiModel === 'textgen_webui') ? {} : {
|
||||||
|
'X-API-KEY': db.mancerHeader
|
||||||
|
}
|
||||||
|
|
||||||
if(db.useStreaming && arg.useStreaming){
|
if(db.useStreaming && arg.useStreaming){
|
||||||
const oobaboogaSocket = new WebSocket(streamUrl);
|
const oobaboogaSocket = new WebSocket(streamUrl);
|
||||||
const statusCode = await new Promise((resolve) => {
|
const statusCode = await new Promise((resolve) => {
|
||||||
@@ -514,7 +520,7 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
|||||||
|
|
||||||
const res = await globalFetch(blockingUrl, {
|
const res = await globalFetch(blockingUrl, {
|
||||||
body: bodyTemplate,
|
body: bodyTemplate,
|
||||||
headers: {},
|
headers: headers,
|
||||||
abortSignal
|
abortSignal
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,13 @@ export async function setRecommended(model: string, ask:'ask'|'force') {
|
|||||||
const pr:botPreset = prebuiltPresets.NAI
|
const pr:botPreset = prebuiltPresets.NAI
|
||||||
setDatabase(setPreset(db, pr))
|
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, ...)"]))
|
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
|
let pr = prebuiltPresets.ooba
|
||||||
|
pr.aiModel = model
|
||||||
|
pr.subModel = submodel
|
||||||
pr.mainPrompt = pr.bias = pr.globalNote = undefined
|
pr.mainPrompt = pr.bias = pr.globalNote = undefined
|
||||||
pr.jailbreak = ""
|
pr.jailbreak = ""
|
||||||
if(!db.autoSuggestPrompt || db.autoSuggestPrompt === defaultAutoSuggestPrompt){
|
if(!db.autoSuggestPrompt || db.autoSuggestPrompt === defaultAutoSuggestPrompt){
|
||||||
@@ -99,5 +103,5 @@ export async function setRecommended(model: string, ask:'ask'|'force') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function recommendedPresetExist(model:string){
|
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.colorSchemeName ??= 'default'
|
||||||
data.NAIsettings.starter ??= ""
|
data.NAIsettings.starter ??= ""
|
||||||
data.hypaModel ??= 'MiniLM'
|
data.hypaModel ??= 'MiniLM'
|
||||||
|
data.mancerHeader ??= ''
|
||||||
changeLanguage(data.language)
|
changeLanguage(data.language)
|
||||||
DataBase.set(data)
|
DataBase.set(data)
|
||||||
}
|
}
|
||||||
@@ -622,6 +622,7 @@ export interface Database{
|
|||||||
forceProxyAsOpenAI?:boolean
|
forceProxyAsOpenAI?:boolean
|
||||||
hypaModel:'ada'|'MiniLM'
|
hypaModel:'ada'|'MiniLM'
|
||||||
saveTime?:number
|
saveTime?:number
|
||||||
|
mancerHeader:string
|
||||||
}
|
}
|
||||||
|
|
||||||
interface hordeConfig{
|
interface hordeConfig{
|
||||||
|
|||||||
Reference in New Issue
Block a user