@@ -309,6 +309,9 @@ export function setDatabase(data:Database){
|
||||
if(!data.formatingOrder.includes('personaPrompt')){
|
||||
data.formatingOrder.splice(data.formatingOrder.indexOf('main'),0,'personaPrompt')
|
||||
}
|
||||
if(checkNullish(data.translatorprompt)){
|
||||
data.translatorprompt = ""
|
||||
}
|
||||
data.selectedPersona ??= 0
|
||||
data.personaPrompt ??= ''
|
||||
data.personas ??= [{
|
||||
@@ -519,13 +522,14 @@ export interface Database{
|
||||
mancerHeader:string
|
||||
emotionProcesser:'submodel'|'embedding',
|
||||
showMenuChatList?:boolean,
|
||||
translatorType:'google'|'deepl'|'none',
|
||||
translatorType:'google'|'deepl'|'submodel'|'none',
|
||||
NAIadventure?:boolean,
|
||||
NAIappendName?:boolean,
|
||||
deeplOptions:{
|
||||
key:string,
|
||||
freeApi:boolean
|
||||
}
|
||||
translatorprompt:string
|
||||
localStopStrings?:string[]
|
||||
autofillRequestUrl:boolean
|
||||
customProxyRequestModel:string
|
||||
|
||||
@@ -3,6 +3,8 @@ import { translatorPlugin } from "../plugins/plugins"
|
||||
import { DataBase } from "../storage/database"
|
||||
import { globalFetch } from "../storage/globalApi"
|
||||
import { alertError } from "../alert"
|
||||
import type { OpenAIChat } from "../process"
|
||||
import { requestChatData } from "../process/request"
|
||||
|
||||
let cache={
|
||||
origin: [''],
|
||||
@@ -120,7 +122,39 @@ async function translateMain(text:string, arg:{from:string, to:string, host:stri
|
||||
|
||||
}
|
||||
|
||||
if(db.translatorType === 'submodel'){
|
||||
|
||||
const defaulttranslateprompt = `You need to translate the entered sentence from ${arg.from.toLocaleUpperCase()} to ${arg.to.toLocaleUpperCase()}. You must not write any words other than the translated sentence.`
|
||||
|
||||
const translateprompt = (db.translatorprompt === '')? defaulttranslateprompt : db.translatorprompt
|
||||
|
||||
const promptbody:OpenAIChat[] = [
|
||||
{
|
||||
role:'system',
|
||||
content: translateprompt
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: text
|
||||
},
|
||||
]
|
||||
const rq = await requestChatData({
|
||||
formated: promptbody,
|
||||
temperature: 0.2,
|
||||
maxTokens: 500,
|
||||
bias: {}
|
||||
}, 'submodel')
|
||||
|
||||
if(rq.type === 'fail' || rq.type === 'streaming' || rq.type === 'multiline'){
|
||||
alertError(`${rq.result}`)
|
||||
return false
|
||||
}
|
||||
|
||||
const r = rq.result
|
||||
console.log(r)
|
||||
|
||||
return r
|
||||
}
|
||||
const url = `https://${arg.host}/translate_a/single?client=gtx&dt=t&sl=${arg.from}&tl=${arg.to}&q=` + encodeURIComponent(text)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user