This commit is contained in:
RossAscends
2023-05-12 13:09:52 +09:00
4 changed files with 39 additions and 8 deletions

View File

@@ -20,6 +20,7 @@
"outputs": [],
"source": [
"#@markdown Enables hosting of extensions backend for SillyTavern Extras\n",
"use_cpu = False #@param {type:\"boolean\"}\n",
"extras_enable_captioning = True #@param {type:\"boolean\"}\n",
"#@markdown Loads the image captioning module\n",
"Captions_Model = \"Salesforce/blip-image-captioning-large\" #@param [ \"Salesforce/blip-image-captioning-large\", \"Salesforce/blip-image-captioning-base\" ]\n",
@@ -37,6 +38,13 @@
"#@markdown * Qiliang/bart-large-cnn-samsum-ChatGPT_v3 - summarization model optimized for chats\n",
"#@markdown * Qiliang/bart-large-cnn-samsum-ElectrifAi_v10 - nice results so far, but still being evaluated\n",
"#@markdown * distilbart-xsum-12-3 - faster, but pretty basic alternative\n",
"extras_enable_tts = True #@param {type:\"boolean\"}\n",
"#@markdown Enables Silero text-to-speech module\n",
"extras_enable_sd = True #@param {type:\"boolean\"}\n",
"#@markdown Enables SD picture generation\n",
"SD_Model = \"ckpt/anything-v4.5-vae-swapped\" #@param [ \"ckpt/anything-v4.5-vae-swapped\", \"ckpt/sd15\" ]\n",
"#@markdown * ckpt/anything-v4.5-vae-swapped - anime style model\n",
"#@markdown * ckpt/sd15 - base SD 1.5\n",
"\n",
"import subprocess\n",
"\n",
@@ -44,6 +52,7 @@
"# SillyTavern extras\n",
"extras_url = '(disabled)'\n",
"params = []\n",
"if use_cpu:\n",
" params.append('--cpu')\n",
"params.append('--share')\n",
"ExtrasModules = []\n",
@@ -54,10 +63,15 @@
" ExtrasModules.append('summarize')\n",
"if (extras_enable_emotions):\n",
" ExtrasModules.append('classify')\n",
"if (extras_enable_sd):\n",
" ExtrasModules.append('sd')\n",
"if (extras_enable_tts):\n",
" ExtrasModules.append('tts')\n",
"\n",
"params.append(f'--classification-model={Emotions_Model}')\n",
"params.append(f'--summarization-model={Memory_Model}')\n",
"params.append(f'--captioning-model={Captions_Model}')\n",
"params.append(f'--sd-model={SD_Model}')\n",
"params.append(f'--enable-modules={\",\".join(ExtrasModules)}')\n",
"\n",
"\n",
@@ -65,7 +79,7 @@
"!git clone https://github.com/Cohee1207/SillyTavern-extras\n",
"%cd /SillyTavern-extras\n",
"!npm install -g localtunnel\n",
"!pip install -r requirements.txt\n",
"!pip install -r requirements-complete.txt\n",
"!pip install tensorflow==2.11\n",
"\n",
"\n",
@@ -76,6 +90,7 @@
"print('processId:', extras_process.pid)\n",
"while True:\n",
" line = extras_process.stdout.readline().decode().strip()\n",
" if line != None and line != '':\n",
" print(line)\n"
]
}

View File

@@ -2,7 +2,9 @@
"display_name": "TTS",
"loading_order": 10,
"requires": [],
"optional": [],
"optional": [
"tts"
],
"js": "index.js",
"css": "style.css",
"author": "Ouoertheo#7264",

View File

@@ -1,3 +1,5 @@
import { getApiUrl, modules } from "../../extensions.js"
export { SileroTtsProvider }
class SileroTtsProvider {
@@ -17,7 +19,8 @@ class SileroTtsProvider {
let html = `
<label for="silero_tts_endpoint">Provider Endpoint:</label>
<input id="silero_tts_endpoint" type="text" class="text_pole" maxlength="250" value="${this.defaultSettings.provider_endpoint}"/>
<span> A simple Python Silero TTS Server can be found <a href="https://github.com/ouoertheo/silero-api-server">here</a>.</span>
<span>
<span>Use <a target="_blank" href="https://github.com/Cohee1207/SillyTavern-extras">SillyTavern Extras API</a> or <a target="_blank" href="https://github.com/ouoertheo/silero-api-server">Silero TTS Server</a>.</span>
`
return html
}
@@ -44,7 +47,18 @@ class SileroTtsProvider {
}
}
$('#silero_tts_endpoint').text(this.settings.provider_endpoint)
const apiCheckInterval = setInterval(() => {
// Use Extras API if TTS support is enabled
if (modules.includes('tts')) {
const baseUrl = new URL(getApiUrl());
baseUrl.pathname = '/api/tts';
this.settings.provider_endpoint = baseUrl.toString();
$('#silero_tts_endpoint').val(this.settings.provider_endpoint);
clearInterval(apiCheckInterval);
}
}, 2000);
$('#silero_tts_endpoint').val(this.settings.provider_endpoint)
console.info("Settings loaded")
}

View File

@@ -99,7 +99,7 @@ async function generatePoe(type, finalPrompt, signal) {
if (poe_settings.auto_jailbreak && !auto_jailbroken) {
for (let retryNumber = 0; retryNumber < MAX_RETRIES_FOR_ACTIVATION; retryNumber++) {
const reply = await sendMessage(poe_settings.jailbreak_message, false);
const reply = await sendMessage(substituteParams(poe_settings.jailbreak_message), false);
if (reply.toLowerCase().includes(poe_settings.jailbreak_response.toLowerCase())) {
auto_jailbroken = true;