| 1 |
|
| 2 |
|
| 3 |
CREATE TABLE llm_settings ( |
| 4 |
id TEXT PRIMARY KEY NOT NULL, |
| 5 |
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE, |
| 6 |
provider_type TEXT NOT NULL DEFAULT 'ollama', |
| 7 |
base_url TEXT NOT NULL DEFAULT 'http://localhost:11434', |
| 8 |
api_key TEXT, |
| 9 |
model_name TEXT NOT NULL DEFAULT 'llama3.2', |
| 10 |
timeout_ms INTEGER NOT NULL DEFAULT 30000, |
| 11 |
max_tokens INTEGER NOT NULL DEFAULT 256, |
| 12 |
temperature REAL NOT NULL DEFAULT 0.7, |
| 13 |
is_enabled INTEGER NOT NULL DEFAULT 1, |
| 14 |
created_at TEXT NOT NULL DEFAULT (datetime('now')), |
| 15 |
updated_at TEXT NOT NULL DEFAULT (datetime('now')), |
| 16 |
UNIQUE(user_id) |
| 17 |
); |
| 18 |
|
| 19 |
CREATE TABLE llm_cache ( |
| 20 |
id TEXT PRIMARY KEY NOT NULL, |
| 21 |
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE, |
| 22 |
prompt_hash TEXT NOT NULL, |
| 23 |
context_date TEXT, |
| 24 |
response TEXT NOT NULL, |
| 25 |
created_at TEXT NOT NULL DEFAULT (datetime('now')), |
| 26 |
expires_at TEXT, |
| 27 |
UNIQUE(user_id, prompt_hash, context_date) |
| 28 |
); |
| 29 |
|
| 30 |
CREATE INDEX idx_llm_settings_user ON llm_settings(user_id); |
| 31 |
CREATE INDEX idx_llm_cache_lookup ON llm_cache(user_id, prompt_hash, context_date); |
| 32 |
|