[feat] nerdslash

This commit is contained in:
kwaroran
2023-07-29 09:48:59 +09:00
parent 07039862b5
commit 401498b76d
2 changed files with 9 additions and 1 deletions

Binary file not shown.

View File

@@ -14,10 +14,13 @@ async function encode(data:string):Promise<(number[]|Uint32Array|Int32Array)>{
if(db.aiModel.startsWith('claude')){ if(db.aiModel.startsWith('claude')){
return await tokenizeWebTokenizers(data, 'claude') return await tokenizeWebTokenizers(data, 'claude')
} }
if(db.aiModel.startsWith('novelai')){
return await tokenizeWebTokenizers(data, 'novelai')
}
return await tikJS(data) return await tikJS(data)
} }
type tokenizerType = 'novellist'|'claude' type tokenizerType = 'novellist'|'claude'|'novelai'
let tikParser:Tiktoken = null let tikParser:Tiktoken = null
let tokenizersTokenizer:Tokenizer = null let tokenizersTokenizer:Tokenizer = null
@@ -51,6 +54,11 @@ async function tokenizeWebTokenizers(text:string, type:tokenizerType) {
await (await fetch("/token/claude/claude.json") await (await fetch("/token/claude/claude.json")
).arrayBuffer()) ).arrayBuffer())
break break
case 'novelai':
tokenizersTokenizer = await webTokenizer.Tokenizer.fromSentencePiece(
await (await fetch("/token/nai/nerdstash_v2.model")
).arrayBuffer())
break
} }
tokenizersType = type tokenizersType = type
} }