29 lines
2.1 KiB
SQL
29 lines
2.1 KiB
SQL
-- =====================================================================
|
|
-- GUARDiA ESN — 94. AI 플랫폼(LLM provider) 설정 시드 (멱등)
|
|
-- 대상 DB : guardia_esn_db (테이블 esn_setting — schema.sql 에서 생성)
|
|
-- 적용 : application.yml spring.sql.init.mode=always + schema-locations 에 본 파일 등재.
|
|
-- mode:always 재실행 안전(ON CONFLICT DO NOTHING).
|
|
-- 설명 : 외부 Claude(Anthropic) API 를 온프레미스 Ollama 와 병행·선택형으로 추가.
|
|
-- 관리자(ADMIN)가 런타임으로 provider/모델을 선택(재기동 불요, AiConfigService).
|
|
-- * ai.provider : ollama(기본) / claude / qwen3 / deepseek / glm
|
|
-- * ai.claude.model : claude-sonnet-4-6(기본) / claude-haiku-4-5 / claude-opus-4-8
|
|
-- * ai.ollama.textModel: 빈값(=서버 프로퍼티 guardia.ollama-text-model 폴백, llama3.2:1b)
|
|
-- * ai.enabled : true(기본, off=규칙기반 degraded)
|
|
-- 보안 : Claude API 키는 DB 에 저장하지 않는다 — 서버 환경변수 ANTHROPIC_API_KEY 로만 주입.
|
|
-- 본 시드에 키/시크릿/IP/비밀번호 일절 미포함.
|
|
-- 무회귀 : 기본 provider=ollama → 설정 미변경 시 기존 Ollama 동작과 바이트 동일.
|
|
-- 멱등 : INSERT ... ON CONFLICT (setting_key) DO NOTHING.
|
|
-- 참고 : 기존 ai.ollama.text.model / ai.ollama.enabled(레거시 키)와 별개(신규 ai.* 키).
|
|
-- =====================================================================
|
|
|
|
SET client_encoding = 'UTF8';
|
|
|
|
INSERT INTO esn_setting (setting_key, setting_value, category, description) VALUES
|
|
('ai.provider', 'ollama', 'AI', 'LLM provider(ollama/claude/qwen3/deepseek/glm)'),
|
|
('ai.claude.model', 'claude-sonnet-4-6', 'AI', 'Claude 모델 ID(화이트리스트)'),
|
|
('ai.ollama.textModel', '', 'AI', 'Ollama 텍스트 모델(빈값=서버 기본 폴백)'),
|
|
('ai.enabled', 'true', 'AI', '전역 AI 사용 여부(off=규칙기반 degraded)')
|
|
ON CONFLICT (setting_key) DO NOTHING;
|
|
|
|
-- end 94_seed_ai_config.sql
|