[feat] add exact tokens
This commit is contained in:
@@ -451,4 +451,6 @@ export const languageEnglish = {
|
|||||||
lorePlus: "LoreBook+",
|
lorePlus: "LoreBook+",
|
||||||
reverseProxyOobaMode: "Reverse Proxy Ooba Mode",
|
reverseProxyOobaMode: "Reverse Proxy Ooba Mode",
|
||||||
joinMultiUserRoom: "Join MultiUser Room",
|
joinMultiUserRoom: "Join MultiUser Room",
|
||||||
|
exactTokens: "Exact Tokens",
|
||||||
|
fixedTokens: "Approximate Tokens",
|
||||||
}
|
}
|
||||||
@@ -11,10 +11,12 @@
|
|||||||
let warns: string[] = []
|
let warns: string[] = []
|
||||||
export let onGoBack: () => void = () => {}
|
export let onGoBack: () => void = () => {}
|
||||||
let tokens = 0
|
let tokens = 0
|
||||||
|
let extokens = 0
|
||||||
executeTokenize($DataBase.promptTemplate)
|
executeTokenize($DataBase.promptTemplate)
|
||||||
|
|
||||||
async function executeTokenize(prest: Proompt[]){
|
async function executeTokenize(prest: Proompt[]){
|
||||||
tokens = await tokenizePreset(prest)
|
tokens = await tokenizePreset(prest, true)
|
||||||
|
extokens = await tokenizePreset(prest, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
$: warns = templateCheck($DataBase)
|
$: warns = templateCheck($DataBase)
|
||||||
@@ -80,4 +82,5 @@
|
|||||||
$DataBase.promptTemplate = value
|
$DataBase.promptTemplate = value
|
||||||
}}><PlusIcon /></button>
|
}}><PlusIcon /></button>
|
||||||
|
|
||||||
<span class="text-textcolor2 mb-6 text-sm mt-2">{tokens} {language.tokens}</span>
|
<span class="text-textcolor2 mb-6 text-sm mt-2">{tokens} {language.fixedTokens}</span>
|
||||||
|
<span class="text-textcolor2 mb-6 text-sm mt-2">{extokens} {language.exactTokens}</span>
|
||||||
@@ -27,13 +27,13 @@ export interface ProomptChat {
|
|||||||
rangeEnd: number|'end';
|
rangeEnd: number|'end';
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function tokenizePreset(proompts:Proompt[]){
|
export async function tokenizePreset(proompts:Proompt[], consti:boolean = false){
|
||||||
let total = 0
|
let total = 0
|
||||||
for(const proompt of proompts){
|
for(const proompt of proompts){
|
||||||
switch(proompt.type){
|
switch(proompt.type){
|
||||||
case 'plain':
|
case 'plain':
|
||||||
case 'jailbreak':{
|
case 'jailbreak':{
|
||||||
total += await tokenizeAccurate(proompt.text, true)
|
total += await tokenizeAccurate(proompt.text, consti)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
case 'persona':
|
case 'persona':
|
||||||
@@ -43,7 +43,7 @@ export async function tokenizePreset(proompts:Proompt[]){
|
|||||||
case 'authornote':
|
case 'authornote':
|
||||||
case 'memory':{
|
case 'memory':{
|
||||||
if(proompt.innerFormat){
|
if(proompt.innerFormat){
|
||||||
total += await tokenizeAccurate(proompt.innerFormat, true)
|
total += await tokenizeAccurate(proompt.innerFormat, consti)
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user