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() | |