Spaces:
Runtime error
Runtime error
File size: 1,185 Bytes
06696b5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
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()
|