[feat] fix horde support
This commit is contained in:
@@ -79,9 +79,12 @@
|
||||
return "Mistral Medium"
|
||||
case 'gemini-pro':
|
||||
return "Gemini Pro"
|
||||
case 'horde:::auto':
|
||||
return 'Horde Auto Model'
|
||||
default:
|
||||
if(name.startsWith("horde:::")){
|
||||
return name.replace(":::", " ")
|
||||
const split = name.split(":::")
|
||||
return `Horde ${split[1]}`
|
||||
}
|
||||
return name
|
||||
}
|
||||
@@ -178,20 +181,22 @@
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('novelai')}}>NovelAI Clio</button>
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('novelai_kayra')}}>NovelAI Kayra</button>
|
||||
</Arcodion>
|
||||
{#if showUnrec}
|
||||
{#if isTauri ||isNodeServer}
|
||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('deepai')}}>DeepAI</button>
|
||||
{/if}
|
||||
<Arcodion name="Horde">
|
||||
{#await getHordeModels()}
|
||||
<button class="p-2">Loading...</button>
|
||||
{:then models}
|
||||
{#each models as model}
|
||||
<button on:click={() => {changeModel("horde:::" + model)}} class="p-2 hover:text-green-500">{model.trim()}</button>
|
||||
{/each}
|
||||
{/await}
|
||||
<Arcodion name="Horde">
|
||||
{#await getHordeModels()}
|
||||
<button class="p-2">Loading...</button>
|
||||
{:then models}
|
||||
<button on:click={() => {changeModel("horde:::" + 'auto')}} class="p-2 hover:text-green-500">
|
||||
Auto Model
|
||||
<br><span class="text-textcolor2 text-sm">Performace: Auto</span>
|
||||
</button>
|
||||
{#each models as model}
|
||||
<button on:click={() => {changeModel("horde:::" + model.name)}} class="p-2 hover:text-green-500">
|
||||
{model.name.trim()}
|
||||
<br><span class="text-textcolor2 text-sm">Performace: {model.performance.toFixed(1)}</span>
|
||||
</button>
|
||||
{/each}
|
||||
{/await}
|
||||
</Arcodion>
|
||||
{/if}
|
||||
{#if $DataBase.plugins.length > 0}
|
||||
<button on:click={() => {changeModel('custom')}} class="hover:bg-selected px-6 py-2 text-lg" >Plugin</button>
|
||||
{/if}
|
||||
|
||||
@@ -1,20 +1,30 @@
|
||||
import { sleep } from "../util"
|
||||
|
||||
let modelList:string[]|'loading' = null
|
||||
interface HordeModel {
|
||||
"performance": number,
|
||||
"queued": number,
|
||||
"jobs": number,
|
||||
"eta": Number,
|
||||
"type": "text",
|
||||
"name": "aphrodite\/Undi95\/Toppy-M-7B",
|
||||
"count": number
|
||||
}
|
||||
|
||||
|
||||
let modelList:HordeModel[]|'loading' = null
|
||||
|
||||
//until horde is ready
|
||||
// modelList = []
|
||||
|
||||
export async function getHordeModels():Promise<string[]> {
|
||||
export async function getHordeModels():Promise<HordeModel[]> {
|
||||
|
||||
if(modelList === null){
|
||||
try {
|
||||
modelList = 'loading'
|
||||
const models = await fetch("https://stablehorde.net/api/v2/status/models?type=text")
|
||||
modelList = ((await models.json()).map((a) => {
|
||||
return a.name
|
||||
}) as string[])
|
||||
return modelList
|
||||
const res = await models.json()
|
||||
modelList = res
|
||||
return res
|
||||
} catch (error) {
|
||||
modelList = null
|
||||
return []
|
||||
|
||||
@@ -1540,25 +1540,12 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
||||
"prompt": proompt,
|
||||
"params": {
|
||||
"n": 1,
|
||||
"frmtadsnsp": false,
|
||||
"frmtrmblln": false,
|
||||
"frmtrmspch": false,
|
||||
"frmttriminc": false,
|
||||
"max_context_length": db.maxContext + 100,
|
||||
"max_length": db.maxResponse,
|
||||
"rep_pen": 3,
|
||||
"rep_pen_range": 0,
|
||||
"rep_pen_slope": 10,
|
||||
"singleline": false,
|
||||
"temperature": db.temperature / 100,
|
||||
"tfs": 1,
|
||||
"top_a": 1,
|
||||
"top_k": 100,
|
||||
"top_p": 1,
|
||||
"typical": 1,
|
||||
"sampler_order": [
|
||||
0
|
||||
]
|
||||
"top_k": db.top_k,
|
||||
"top_p": db.top_p,
|
||||
},
|
||||
"trusted_workers": false,
|
||||
"workerslow_workers": true,
|
||||
@@ -1567,6 +1554,10 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
||||
"models": [realModel, realModel.trim(), ' ' + realModel, realModel + ' ']
|
||||
}
|
||||
|
||||
if(realModel === 'auto'){
|
||||
delete argument.models
|
||||
}
|
||||
|
||||
const da = await fetch("https://stablehorde.net/api/v2/generate/text/async", {
|
||||
body: JSON.stringify(argument),
|
||||
method: "POST",
|
||||
|
||||
Reference in New Issue
Block a user