[feat] google palm2 bison new api
This commit is contained in:
@@ -115,11 +115,7 @@
|
|||||||
<Button size="sm" className="mb-2" on:click={() => {setRecommended($DataBase.aiModel, 'ask')}}>{language.recommendedPreset}</Button>
|
<Button size="sm" className="mb-2" on:click={() => {setRecommended($DataBase.aiModel, 'ask')}}>{language.recommendedPreset}</Button>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
{#if $DataBase.aiModel === 'palm2' || $DataBase.subModel === 'palm2'}
|
{#if $DataBase.aiModel.startsWith('palm2') || $DataBase.subModel.startsWith('palm2')}
|
||||||
<span class="text-textcolor">Palm2 {language.apiKey}</span>
|
|
||||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.palmAPI}/>
|
|
||||||
{/if}
|
|
||||||
{#if $DataBase.aiModel === 'palm2_unicorn' || $DataBase.subModel === 'palm2_unicorn'}
|
|
||||||
<span class="text-textcolor">Google Bearer Token</span>
|
<span class="text-textcolor">Google Bearer Token</span>
|
||||||
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.google.accessToken}/>
|
<TextInput marginBottom={true} size={"sm"} placeholder="..." bind:value={$DataBase.google.accessToken}/>
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
case 'local_gptq':
|
case 'local_gptq':
|
||||||
return 'Local Model GPTQ'
|
return 'Local Model GPTQ'
|
||||||
case "palm2":
|
case "palm2":
|
||||||
return "PaLM2"
|
return "PaLM2 Bison"
|
||||||
case "textgen_webui":
|
case "textgen_webui":
|
||||||
return "Oobabooga Legacy"
|
return "Oobabooga Legacy"
|
||||||
case 'ooba':
|
case 'ooba':
|
||||||
@@ -145,8 +145,10 @@
|
|||||||
<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('mancer')}}>Mancer</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>
|
||||||
{#if showUnrec}
|
{#if showUnrec}
|
||||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('palm2')}}>Google PaLM2</button>
|
<Arcodion name="Google Palm2">
|
||||||
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('palm2_unicorn')}}>Google PaLM2 Unicorn</button>
|
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('palm2')}}>Bison</button>
|
||||||
|
<button class="hover:bg-selected px-6 py-2 text-lg" on:click={() => {changeModel('palm2_unicorn')}}>Unicorn</button>
|
||||||
|
</Arcodion>
|
||||||
<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>
|
||||||
{/if}
|
{/if}
|
||||||
<Arcodion name="Novellist">
|
<Arcodion name="Novellist">
|
||||||
|
|||||||
@@ -851,49 +851,7 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
|||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
case 'palm2':{
|
case 'palm2':
|
||||||
const body = {
|
|
||||||
"prompt": {
|
|
||||||
"text": stringlizeChat(formated, currentChar?.name ?? '', arg.continue)
|
|
||||||
},
|
|
||||||
"temperature": arg.temperature,
|
|
||||||
"maxOutputTokens": arg.maxTokens,
|
|
||||||
"candidate_count": 1
|
|
||||||
}
|
|
||||||
const res = await globalFetch(`https://generativelanguage.googleapis.com/v1beta2/models/text-bison-001:generateText?key=${db.palmAPI}`, {
|
|
||||||
body: body,
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
},
|
|
||||||
abortSignal
|
|
||||||
})
|
|
||||||
|
|
||||||
if(res.ok){
|
|
||||||
if(res.data.candidates){
|
|
||||||
let output:string = res.data.candidates[0].output
|
|
||||||
const ind = output.search(/(system note)|(user)|(assistant):/gi)
|
|
||||||
if(ind >= 0){
|
|
||||||
output = output.substring(0, ind)
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
type: 'success',
|
|
||||||
result: output
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return {
|
|
||||||
type: 'fail',
|
|
||||||
result: `${JSON.stringify(res.data)}`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return {
|
|
||||||
type: 'fail',
|
|
||||||
result: `${JSON.stringify(res.data)}`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case 'palm2_unicorn':{
|
case 'palm2_unicorn':{
|
||||||
const bodyData = {
|
const bodyData = {
|
||||||
"instances": [
|
"instances": [
|
||||||
@@ -913,7 +871,9 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
|||||||
|
|
||||||
const API_ENDPOINT="us-central1-aiplatform.googleapis.com"
|
const API_ENDPOINT="us-central1-aiplatform.googleapis.com"
|
||||||
const PROJECT_ID=db.google.projectId
|
const PROJECT_ID=db.google.projectId
|
||||||
const MODEL_ID="text-unicorn"
|
const MODEL_ID= aiModel === 'palm2' ? 'text-bison' :
|
||||||
|
'palm2_unicorn' ? 'text-unicorn' :
|
||||||
|
''
|
||||||
const LOCATION_ID="us-central1"
|
const LOCATION_ID="us-central1"
|
||||||
|
|
||||||
const url = `https://${API_ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${LOCATION_ID}/publishers/google/models/${MODEL_ID}:predict`;
|
const url = `https://${API_ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${LOCATION_ID}/publishers/google/models/${MODEL_ID}:predict`;
|
||||||
|
|||||||
Reference in New Issue
Block a user