From 45661ddc7563ad513766e64cf4ef68732af09352 Mon Sep 17 00:00:00 2001 From: db0 Date: Mon, 21 Aug 2023 15:52:17 +0200 Subject: [PATCH] switch to AI Horde Worker --- .gitmodules | 4 ++-- koboldai_settings.py | 51 +++++++++++++++++--------------------------- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/.gitmodules b/.gitmodules index 0107a8c3..d95fbcae 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "KoboldAI-Horde"] path = KoboldAI-Horde - url = https://github.com/db0/KoboldAI-Horde-Bridge + url = https://github.com/Haidra-Org/AI-Horde-Worker [submodule "KoboldAI-Horde-Bridge"] path = KoboldAI-Horde-Bridge - url = https://github.com/db0/KoboldAI-Horde-Bridge + url = https://github.com/Haidra-Org/AI-Horde-Worker diff --git a/koboldai_settings.py b/koboldai_settings.py index 3b839d26..b2c9ef9d 100644 --- a/koboldai_settings.py +++ b/koboldai_settings.py @@ -1350,38 +1350,27 @@ class system_settings(settings): self._koboldai_var.calc_ai_text() if name == 'horde_share': - if self.on_colab == False: - if os.path.exists("./KoboldAI-Horde-Bridge"): - if value == True: - if self._horde_pid is None: - logger.info("Starting Horde bridge") - bridge = importlib.import_module("KoboldAI-Horde-Bridge.bridge") - self._horde_pid = bridge.kai_bridge() - try: - bridge_cd = importlib.import_module("KoboldAI-Horde-Bridge.clientData") - cluster_url = bridge_cd.cluster_url - kai_name = bridge_cd.kai_name - if kai_name == "My Awesome Instance": - kai_name = f"KoboldAI UI Instance #{random.randint(-100000000, 100000000)}" - api_key = bridge_cd.api_key - priority_usernames = bridge_cd.priority_usernames - except: - cluster_url = "https://horde.koboldai.net" - kai_name = self._koboldai_var.horde_worker_name - if kai_name == "My Awesome Instance": - kai_name = f"KoboldAI UI Instance #{random.randint(-100000000, 100000000)}" - api_key = self._koboldai_var.horde_api_key - priority_usernames = [] - # Always use the local URL & port - kai_url = f'http://127.0.0.1:{self.port}' + if self.on_colab is True: + return + if not os.path.exists("./KoboldAI-Horde-Bridge"): + return + if value is True: + if self._horde_pid is None: + logger.info("Starting Horde bridge") + bd_module = importlib.import_module("KoboldAI-Horde-Bridge.worker.bridge_data.scribe") + bridge_data = bd_module.KoboldAIBridgeData() + bridge_data.reload_data() + bridge_data.kai_url = f'http://127.0.0.1:{self.port}' + logger.info(f"Name: {bridge_data.worker_name} on {bridge_data.kai_url}") + worker_module = importlib.import_module("KoboldAI-Horde-Bridge.worker.workers.scribe") + self._horde_pid = worker_module.ScribeWorker(bridge_data) + threading.Thread(target=self._horde_pid.start).run() + else: + if self._horde_pid is not None: + logger.info("Killing Horde bridge") + self._horde_pid.stop() + self._horde_pid = None - logger.info(f"Name: {kai_name} on {kai_url}") - threading.Thread(target=self._horde_pid.bridge, args=(1, api_key, kai_name, kai_url, cluster_url, priority_usernames)).run() - else: - if self._horde_pid is not None: - logger.info("Killing Horde bridge") - self._horde_pid.stop() - self._horde_pid = None class KoboldStoryRegister(object): def __init__(self, socketio, story_settings, koboldai_vars, tokenizer=None, sequence=[]):