Files
lcbp3/specs/03-Data-and-Storage/deltas/2026-06-11-create-ai-execution-profiles.sql
T
admin 0227b7b982
CI / CD Pipeline / build (push) Successful in 4m16s
CI / CD Pipeline / deploy (push) Successful in 11m51s
feat(ai-runtime): complete ai runtime policy refactor (ADR-035)
2026-06-12 08:07:15 +07:00

39 lines
2.5 KiB
SQL

-- Delta: สร้างตาราง ai_execution_profiles สำหรับ AI Runtime Policy Refactor
-- Date: 2026-06-11
-- Related ADR: ADR-029, Feature-235
-- Source of defaults: docs/ai-profiles.md
-- Applied in: v1.9.x (AI Runtime Policy Refactor cutover)
-- ------------------------------------------------------------
CREATE TABLE IF NOT EXISTS ai_execution_profiles (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID ภายใน (ไม่ expose ใน API)',
profile_name VARCHAR(50) NOT NULL COMMENT 'ชื่อ profile: interactive, standard, quality, deep-analysis',
temperature DECIMAL(4,3) NOT NULL COMMENT 'LLM temperature parameter',
top_p DECIMAL(4,3) NOT NULL COMMENT 'LLM top_p parameter',
max_tokens INT NOT NULL COMMENT 'Maximum tokens to generate',
num_ctx INT NOT NULL COMMENT 'Context window size (tokens)',
repeat_penalty DECIMAL(5,3) NOT NULL COMMENT 'Repeat penalty parameter',
keep_alive_seconds INT NOT NULL COMMENT 'Model keep_alive in seconds (0 = unload immediately)',
is_active TINYINT(1) NOT NULL DEFAULT 1 COMMENT '1 = profile นี้ใช้งานได้; 0 = disabled',
updated_by INT NULL COMMENT 'user_id ที่แก้ไขล่าสุด (NULL = seed default)',
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY uk_profile_name (profile_name),
INDEX idx_profile_active (profile_name, is_active),
FOREIGN KEY (updated_by) REFERENCES users(user_id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
COMMENT = 'ตาราง execution profile parameters สำหรับ np-dms-ai (ADR-029, Feature-235); ค่า default จาก docs/ai-profiles.md';
-- ------------------------------------------------------------
-- Seed: default profiles จาก docs/ai-profiles.md
-- ------------------------------------------------------------
INSERT INTO ai_execution_profiles (
profile_name, temperature, top_p, max_tokens, num_ctx, repeat_penalty, keep_alive_seconds
) VALUES
('interactive', 0.700, 0.900, 2048, 4096, 1.150, 300), -- keep_alive: "5m"
('standard', 0.500, 0.800, 4096, 8192, 1.150, 600), -- keep_alive: "10m"
('quality', 0.100, 0.950, 8192, 8192, 1.150, 600), -- keep_alive: "10m"
('deep-analysis', 0.300, 0.850, 8192, 32768, 1.150, 0) -- keep_alive: "0" (admin sandbox only)
ON DUPLICATE KEY UPDATE
profile_name = profile_name; -- no-op: ไม่ overwrite ค่าที่ admin calibrate ไว้แล้ว