Skip to main content

max / goingson

1.2 KB · 32 lines History Blame Raw
1 -- LLM settings and cache (SQLite)
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', -- 'ollama' | 'openai_compatible'
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, -- For date-dependent cache invalidation
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