fixed chub ai imports (+1 squashed commits)
Squashed commits: [cdb74264] fixed chub ai imports
This commit is contained in:
parent
e9724cdc9d
commit
a195cdeec8
1 changed files with 66 additions and 1 deletions
67
klite.embd
67
klite.embd
|
@ -6,7 +6,7 @@ It requires no dependencies, installation or setup.
|
||||||
Just copy this single static HTML file anywhere and open it in a browser, or from a webserver.
|
Just copy this single static HTML file anywhere and open it in a browser, or from a webserver.
|
||||||
Please go to https://github.com/LostRuins/lite.koboldai.net for updates on Kobold Lite.
|
Please go to https://github.com/LostRuins/lite.koboldai.net for updates on Kobold Lite.
|
||||||
Kobold Lite is under the AGPL v3.0 License unless otherwise exempted. Please do not remove this line.
|
Kobold Lite is under the AGPL v3.0 License unless otherwise exempted. Please do not remove this line.
|
||||||
Current version: 98
|
Current version: 99
|
||||||
-Concedo
|
-Concedo
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -2523,6 +2523,26 @@ Current version: 98
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function readTavernPngFromBlob(blob, onDone)
|
||||||
|
{
|
||||||
|
var fileReader = new FileReader();
|
||||||
|
fileReader.onload = function(event) {
|
||||||
|
var data = event.target.result;
|
||||||
|
var arr = new Uint8Array(data);
|
||||||
|
var result = convertTavernPng(arr);
|
||||||
|
if(!result)
|
||||||
|
{
|
||||||
|
//attempt to read as WEBP
|
||||||
|
result = getTavernExifJSON(arr);
|
||||||
|
}
|
||||||
|
if(onDone)
|
||||||
|
{
|
||||||
|
onDone(result);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
fileReader.readAsArrayBuffer(blob);
|
||||||
|
}
|
||||||
|
|
||||||
//import tavern png data. adapted from png-chunks-extract under MIT license
|
//import tavern png data. adapted from png-chunks-extract under MIT license
|
||||||
//accepts png input data, and returns the extracted JSON
|
//accepts png input data, and returns the extracted JSON
|
||||||
function convertTavernPng(data)
|
function convertTavernPng(data)
|
||||||
|
@ -5052,6 +5072,7 @@ Current version: 98
|
||||||
"authorsnote": "",
|
"authorsnote": "",
|
||||||
"worldinfo": [],
|
"worldinfo": [],
|
||||||
};
|
};
|
||||||
|
let card_is_defective = (data.name==""&&previewtxt==""&&greeting==""&&cdesc==""&&cdef=="");
|
||||||
|
|
||||||
//try to obtain the full portrait image
|
//try to obtain the full portrait image
|
||||||
fetch("https://api.chub.ai/api/characters/download", {
|
fetch("https://api.chub.ai/api/characters/download", {
|
||||||
|
@ -5076,6 +5097,50 @@ Current version: 98
|
||||||
})
|
})
|
||||||
.then(blob => {
|
.then(blob => {
|
||||||
preview_temp_scenario();
|
preview_temp_scenario();
|
||||||
|
|
||||||
|
if(card_is_defective)
|
||||||
|
{
|
||||||
|
readTavernPngFromBlob(blob,(obj)=>{
|
||||||
|
if(obj!=null)
|
||||||
|
{
|
||||||
|
//a lightweight tavern card loader, not fully compliant
|
||||||
|
if(obj.spec=="chara_card_v2" && obj.data!=null)
|
||||||
|
{
|
||||||
|
obj = obj.data;
|
||||||
|
}
|
||||||
|
let chatopponent = obj.name?obj.name:"Bot";
|
||||||
|
let memory = obj.description?("Persona: "+obj.description):"";
|
||||||
|
memory += obj.personality?("\nPersonality: "+obj.personality):"";
|
||||||
|
let scenario = obj.scenario?obj.scenario:"";
|
||||||
|
let examplemsg = obj.mes_example?obj.mes_example:"";
|
||||||
|
let greeting = obj.first_mes?obj.first_mes:"";
|
||||||
|
let sysprompt = obj.system_prompt?obj.system_prompt:"";
|
||||||
|
|
||||||
|
if(scenario!="")
|
||||||
|
{
|
||||||
|
scenario = "\n[Scenario: "+scenario+"]";
|
||||||
|
}
|
||||||
|
if(examplemsg!="")
|
||||||
|
{
|
||||||
|
examplemsg = "\n"+examplemsg;
|
||||||
|
}
|
||||||
|
if(sysprompt!="")
|
||||||
|
{
|
||||||
|
sysprompt = sysprompt+"\n";
|
||||||
|
}
|
||||||
|
let combinedmem = sysprompt + memory + scenario + examplemsg;
|
||||||
|
temp_scenario.title = chatopponent;
|
||||||
|
let prev2 = replaceAll(obj.description,"{{char}}",chatopponent,true);
|
||||||
|
prev2 = replaceAll(prev2,"{{user}}","You",true);
|
||||||
|
temp_scenario.desc = prev2;
|
||||||
|
temp_scenario.chatopponent = chatopponent;
|
||||||
|
temp_scenario.prompt = ("\n{{char}}: "+ greeting);
|
||||||
|
temp_scenario.memory = combinedmem;
|
||||||
|
preview_temp_scenario();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
const objectURL = URL.createObjectURL(blob);
|
const objectURL = URL.createObjectURL(blob);
|
||||||
const compressedImg = compressImage(objectURL, (compressedImageURI, aspectratio)=>{
|
const compressedImg = compressImage(objectURL, (compressedImageURI, aspectratio)=>{
|
||||||
temp_scenario.image = compressedImageURI;
|
temp_scenario.image = compressedImageURI;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue