From 11dd13b430652a3440f1fe6b5a6287fa2b4b3213 Mon Sep 17 00:00:00 2001 From: jeffser Date: Sun, 11 Aug 2024 22:30:56 -0600 Subject: [PATCH] Added ollama debbugging messages to about dialog --- src/local_instance.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/local_instance.py b/src/local_instance.py index 317d031..90337bb 100644 --- a/src/local_instance.py +++ b/src/local_instance.py @@ -3,6 +3,7 @@ Handles running, stopping and resetting the integrated Ollama instance """ import subprocess +import threading import os from time import sleep from logging import getLogger @@ -15,6 +16,14 @@ instance = None port = 11435 overrides = {} +def log_output(pipe): + with open(os.path.join(data_dir, 'tmp.log'), 'a') as f: + with pipe: + for line in iter(pipe.readline, ''): + print(line, end='') + f.write(line) + f.flush() + def start(): if not os.path.isdir(os.path.join(cache_dir, 'tmp/ollama')): os.mkdir(os.path.join(cache_dir, 'tmp/ollama')) @@ -23,7 +32,9 @@ def start(): params["OLLAMA_HOST"] = f"127.0.0.1:{port}" # You can't change this directly sorry :3 params["HOME"] = data_dir params["TMPDIR"] = os.path.join(cache_dir, 'tmp/ollama') - instance = subprocess.Popen(["ollama", "serve"], env={**os.environ, **params}, stderr=subprocess.PIPE, text=True) + instance = subprocess.Popen(["ollama", "serve"], env={**os.environ, **params}, stderr=subprocess.PIPE, stdout=subprocess.PIPE, text=True) + threading.Thread(target=log_output, args=(instance.stdout,)).start() + threading.Thread(target=log_output, args=(instance.stderr,)).start() logger.info("Starting Alpaca's Ollama instance...") logger.debug(params) sleep(1)