support custom dalle urls

This commit is contained in:
Concedo 2023-11-15 18:37:50 +08:00
parent 35a97e14b2
commit 914e375602

View file

@ -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: 95 Current version: 96
-Concedo -Concedo
--> -->
@ -3187,7 +3187,7 @@ Current version: 95
const oai_submit_endpoint = "/completions"; const oai_submit_endpoint = "/completions";
const oai_submit_endpoint_turbo = "/chat/completions"; const oai_submit_endpoint_turbo = "/chat/completions";
const oai_image_endpoint_full = "https://api.openai.com/v1/images/generations"; const default_oai_image_endpoint = "/images/generations";
const scale_submit_endpoint = "https://dashboard.scale.com/spellbook/api/v2/deploy/" const scale_submit_endpoint = "https://dashboard.scale.com/spellbook/api/v2/deploy/"
@ -3282,6 +3282,7 @@ Current version: 95
saved_oai_key: "", //do not ever share this in save files! saved_oai_key: "", //do not ever share this in save files!
saved_oai_addr: default_oai_base, //do not ever share this in save files! saved_oai_addr: default_oai_base, //do not ever share this in save files!
saved_dalle_key: "", saved_dalle_key: "",
saved_dalle_url: (default_oai_base + "/v1" + default_oai_image_endpoint),
saved_openrouter_key: "", saved_openrouter_key: "",
saved_claude_key: "", //do not ever share this in save files! saved_claude_key: "", //do not ever share this in save files!
saved_claude_addr: default_claude_base, //do not ever share this in save files! saved_claude_addr: default_claude_base, //do not ever share this in save files!
@ -3970,6 +3971,18 @@ Current version: 95
} }
},false); },false);
} }
function set_dalle_url()
{
inputBox("Enter DALL-E API URL.\n\nNote: DALL-E is known to rephrase and rewrite submitted image prompts before generating, for censorship purposes. There is nothing Kobold Lite can do about that. ","DALL-E API URL",localsettings.saved_dalle_url,"Input DALL-E API URL", ()=>{
let userinput = getInputBoxValue();
userinput = userinput.trim();
if (userinput != null && userinput!="") {
localsettings.saved_dalle_url = userinput.trim();
}else{
localsettings.saved_dalle_url = (default_oai_base + "/v1" + default_oai_image_endpoint);
}
},false);
}
function generate_dalle_image(req_payload, onImagesDone) function generate_dalle_image(req_payload, onImagesDone)
{ {
@ -3988,7 +4001,7 @@ Current version: 95
//remove all null fields //remove all null fields
dalle_payload = Object.fromEntries(Object.entries(dalle_payload).filter(([_, v]) => v != null)); dalle_payload = Object.fromEntries(Object.entries(dalle_payload).filter(([_, v]) => v != null));
let gen_endpoint = oai_image_endpoint_full; let gen_endpoint = localsettings.saved_dalle_url;
console.log(dalle_payload); console.log(dalle_payload);
fetch(gen_endpoint, { fetch(gen_endpoint, {
@ -4426,6 +4439,7 @@ Current version: 95
new_save_storyobj.savedsettings.home_cluster = text_hordes[0].baseurl; new_save_storyobj.savedsettings.home_cluster = text_hordes[0].baseurl;
new_save_storyobj.savedsettings.saved_oai_key = ""; new_save_storyobj.savedsettings.saved_oai_key = "";
new_save_storyobj.savedsettings.saved_dalle_key = ""; new_save_storyobj.savedsettings.saved_dalle_key = "";
new_save_storyobj.savedsettings.saved_dalle_url = "";
new_save_storyobj.savedsettings.saved_oai_addr = ""; new_save_storyobj.savedsettings.saved_oai_addr = "";
new_save_storyobj.savedsettings.saved_claude_key = ""; new_save_storyobj.savedsettings.saved_claude_key = "";
new_save_storyobj.savedsettings.saved_claude_addr = ""; new_save_storyobj.savedsettings.saved_claude_addr = "";
@ -4707,6 +4721,7 @@ Current version: 95
let tmp_oai1 = localsettings.saved_oai_key; let tmp_oai1 = localsettings.saved_oai_key;
let tmp_oai2 = localsettings.saved_oai_addr; let tmp_oai2 = localsettings.saved_oai_addr;
let tmp_oai3 = localsettings.saved_dalle_key; let tmp_oai3 = localsettings.saved_dalle_key;
let tmp_oai4 = localsettings.saved_dalle_url;
let tmp_or1 = localsettings.saved_openrouter_key; let tmp_or1 = localsettings.saved_openrouter_key;
let tmp_claude1 = localsettings.saved_claude_key; let tmp_claude1 = localsettings.saved_claude_key;
let tmp_claude2 = localsettings.saved_claude_addr; let tmp_claude2 = localsettings.saved_claude_addr;
@ -4735,6 +4750,7 @@ Current version: 95
localsettings.saved_oai_key = tmp_oai1; localsettings.saved_oai_key = tmp_oai1;
localsettings.saved_oai_addr = tmp_oai2; localsettings.saved_oai_addr = tmp_oai2;
localsettings.saved_dalle_key = tmp_oai3; localsettings.saved_dalle_key = tmp_oai3;
localsettings.saved_dalle_url = tmp_oai4;
localsettings.saved_openrouter_key = tmp_or1; localsettings.saved_openrouter_key = tmp_or1;
localsettings.saved_claude_key = tmp_claude1; localsettings.saved_claude_key = tmp_claude1;
localsettings.saved_claude_addr = tmp_claude2; localsettings.saved_claude_addr = tmp_claude2;
@ -6212,6 +6228,7 @@ Current version: 95
localsettings.saved_oai_key = custom_oai_key; localsettings.saved_oai_key = custom_oai_key;
localsettings.saved_oai_addr = custom_oai_endpoint; localsettings.saved_oai_addr = custom_oai_endpoint;
localsettings.saved_dalle_key = custom_oai_key; localsettings.saved_dalle_key = custom_oai_key;
localsettings.saved_dalle_url = custom_oai_endpoint + default_oai_image_endpoint;
}else{ }else{
localsettings.saved_openrouter_key = custom_oai_key; localsettings.saved_openrouter_key = custom_oai_key;
} }
@ -9007,9 +9024,9 @@ Current version: 95
} }
else if(localsettings.generate_images_mode==3) //dalle else if(localsettings.generate_images_mode==3) //dalle
{ {
if(localsettings.saved_dalle_key=="") if(localsettings.saved_dalle_key=="" || localsettings.saved_dalle_url=="")
{ {
msgbox("Error: A valid DALL-E Key is required to generate images with DALL-E.\nThis is usually the same as your OpenAI API key, but can be customized in settings.","Invalid DALL-E Key"); msgbox("Error: A valid DALL-E URL and Key is required to generate images with DALL-E.\nThis is usually the same as your OpenAI API key, but can be customized in settings.","Invalid DALL-E Key");
} }
else else
{ {
@ -12120,7 +12137,10 @@ Current version: 95
<button type="button" class="btn btn-primary" onclick="set_a1111_endpoint()" style="height: 20px; padding: 0px 2px; margin: 0px 0px 0px 3px;">⚙️</button> <button type="button" class="btn btn-primary" onclick="set_a1111_endpoint()" style="height: 20px; padding: 0px 2px; margin: 0px 0px 0px 3px;">⚙️</button>
</div> </div>
<div id="generate_images_dalle_container" class="settinglabel hidden"> <div id="generate_images_dalle_container" class="settinglabel hidden">
<button id="generate_images_dalle_setkey" type="button" class="btn btn-primary" style="width:100%; padding:2px 3px;margin-top:2px;font-size:11px;" onclick="set_dalle_key()">Set DALL-E Key</button> <table width="100%"><tr>
<td><button id="generate_images_dalle_setkey" type="button" class="btn btn-primary" style="width:100%; padding:2px 3px;margin-top:2px;font-size:11px;" onclick="set_dalle_url()">Set URL</button></td>
<td><button id="generate_images_dalle_seturl" type="button" class="btn btn-primary" style="width:100%; padding:2px 3px;margin-top:2px;font-size:11px;" onclick="set_dalle_key()">Set Key</button></td>
</tr></table>
</div> </div>
<div id="genimgopt" class=""> <div id="genimgopt" class="">