From 948210d73c18fb950b0117f91de0cdb122656c42 Mon Sep 17 00:00:00 2001 From: Jonas Braus Date: Thu, 12 Dec 2024 13:05:21 +0100 Subject: [PATCH] redis cache --- lib.py | 5 ++++- main.py | 7 ++++++- redis_conn.py | 17 +++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 redis_conn.py diff --git a/lib.py b/lib.py index 883cd5a..81cdaf7 100644 --- a/lib.py +++ b/lib.py @@ -10,6 +10,7 @@ from PIL import Image from aiohttp.web_response import json_response import ollama_conn +import redis_conn def read_files(path, output, filetypes=None): @@ -91,7 +92,9 @@ def prompt_embedding(prompt): res = get_data_from_mongo(new_result) - print(ollama_conn.ask_ollama(prompt, res)) + ollama_response = ollama_conn.ask_ollama(prompt, res) + print(ollama_response) + redis_conn.cache_prompt_to_redis(prompt.lower().strip(), ollama_response) conn.close() diff --git a/main.py b/main.py index dfd6bd2..2a15a22 100644 --- a/main.py +++ b/main.py @@ -8,6 +8,8 @@ import json import psycopg2 import pymongo +import redis_conn + count = 0 def retrieve_file_contents(path): @@ -101,7 +103,10 @@ def add_files(): def prompt_cycle(): while True: prompt = input("Please enter prompt: ") - lib.prompt_embedding(prompt) + + response = redis_conn.load_response_from_redis(prompt.lower().strip()) + + lib.prompt_embedding(prompt) if response is None else print("Cached Response:", response) def get_user_action(): diff --git a/redis_conn.py b/redis_conn.py new file mode 100644 index 0000000..54f69c3 --- /dev/null +++ b/redis_conn.py @@ -0,0 +1,17 @@ +import redis + +def cache_prompt_to_redis(prompt, response): + r = redis.Redis(host="localhost", port=6379, decode_responses=True) + r.set(prompt, response) + r.close() + +def load_response_from_redis(prompt): + r = redis.Redis(host="localhost", port=6379, decode_responses=True) + response = r.get(prompt) + r.close() + return response + +def clear_redis(): + r = redis.Redis(host="localhost", port=6379, decode_responses=True) + r.flushall() + r.close() \ No newline at end of file