Files

26 lines
1.1 KiB
SQL

-- Cloud + local LLM provider configuration
CREATE TABLE IF NOT EXISTS llm_providers (
id SERIAL PRIMARY KEY,
label VARCHAR(128) NOT NULL,
provider_type VARCHAR(48) NOT NULL DEFAULT 'custom_openai',
api_base_url TEXT,
api_key TEXT,
model VARCHAR(128) NOT NULL DEFAULT 'deepseek-chat',
is_active BOOLEAN NOT NULL DEFAULT FALSE,
is_default BOOLEAN NOT NULL DEFAULT FALSE,
extra_config JSONB NOT NULL DEFAULT '{}',
last_test_status VARCHAR(64),
last_test_message TEXT,
last_test_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_llm_providers_active ON llm_providers (is_active);
CREATE INDEX IF NOT EXISTS idx_llm_providers_default ON llm_providers (is_default) WHERE is_default = TRUE;
-- Seed local Ollama as default if empty
INSERT INTO llm_providers (label, provider_type, api_base_url, model, is_active, is_default)
SELECT 'Ollama lokaal', 'ollama', NULL, 'qwen3:8b', TRUE, TRUE
WHERE NOT EXISTS (SELECT 1 FROM llm_providers);