26 lines
1.1 KiB
SQL
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);
|