Spaces:
Runtime error
Runtime error
import sqlite3 | |
import os | |
DB_PATH = os.path.abspath("data/index/cache_db.sqlite") | |
os.makedirs(os.path.dirname(DB_PATH), exist_ok=True) | |
# DB μ΄κΈ°ν | |
def init_db(): | |
conn = sqlite3.connect(DB_PATH) | |
c = conn.cursor() | |
c.execute(''' | |
CREATE TABLE IF NOT EXISTS cache ( | |
id INTEGER PRIMARY KEY AUTOINCREMENT, | |
query TEXT, | |
top_k INTEGER, | |
response TEXT, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
UNIQUE(query, top_k) | |
) | |
''') | |
conn.commit() | |
conn.close() | |
init_db() | |
# μΊμ μ‘°ν | |
def get_cached_response(query, top_k=5): | |
conn = sqlite3.connect(DB_PATH) | |
c = conn.cursor() | |
c.execute("SELECT response FROM cache WHERE query = ? AND top_k = ?", (query, top_k)) | |
row = c.fetchone() | |
conn.close() | |
return row[0] if row else None | |
# μΊμ μ μ₯ | |
def cache_response(query, top_k, response): | |
conn = sqlite3.connect(DB_PATH) | |
c = conn.cursor() | |
c.execute( | |
"INSERT OR IGNORE INTO cache (query, top_k, response) VALUES (?, ?, ?)", | |
(query, top_k, response) | |
) | |
conn.commit() | |
conn.close() | |