Files
gt-ai-os-community/scripts/migrations/010_update_model_context_windows.sql
HackWeasel b9dfb86260 GT AI OS Community Edition v2.0.33
Security hardening release addressing CodeQL and Dependabot alerts:

- Fix stack trace exposure in error responses
- Add SSRF protection with DNS resolution checking
- Implement proper URL hostname validation (replaces substring matching)
- Add centralized path sanitization to prevent path traversal
- Fix ReDoS vulnerability in email validation regex
- Improve HTML sanitization in validation utilities
- Fix capability wildcard matching in auth utilities
- Update glob dependency to address CVE
- Add CodeQL suppression comments for verified false positives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 17:04:45 -05:00

168 lines
5.2 KiB
SQL

-- Migration 010: Update Model Context Windows and Max Tokens
-- Ensures all models in model_configs have proper context_window and max_tokens set
-- Update models with missing context_window and max_tokens based on deployment configs
-- Reference: scripts/seed/groq-models.sql and actual Groq API specifications
DO $$
DECLARE
updated_count INTEGER := 0;
BEGIN
-- LLaMA 3.1 8B Instant
UPDATE model_configs
SET context_window = 131072,
max_tokens = 131072,
updated_at = NOW()
WHERE model_id = 'llama-3.1-8b-instant'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for llama-3.1-8b-instant', updated_count;
END IF;
-- LLaMA 3.3 70B Versatile
UPDATE model_configs
SET context_window = 131072,
max_tokens = 32768,
updated_at = NOW()
WHERE model_id = 'llama-3.3-70b-versatile'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for llama-3.3-70b-versatile', updated_count;
END IF;
-- Groq Compound
UPDATE model_configs
SET context_window = 131072,
max_tokens = 8192,
updated_at = NOW()
WHERE model_id = 'groq/compound'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for groq/compound', updated_count;
END IF;
-- Groq Compound Mini
UPDATE model_configs
SET context_window = 131072,
max_tokens = 8192,
updated_at = NOW()
WHERE model_id = 'groq/compound-mini'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for groq/compound-mini', updated_count;
END IF;
-- GPT OSS 120B
UPDATE model_configs
SET context_window = 131072,
max_tokens = 65536,
updated_at = NOW()
WHERE model_id = 'openai/gpt-oss-120b'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for openai/gpt-oss-120b', updated_count;
END IF;
-- GPT OSS 20B
UPDATE model_configs
SET context_window = 131072,
max_tokens = 65536,
updated_at = NOW()
WHERE model_id = 'openai/gpt-oss-20b'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for openai/gpt-oss-20b', updated_count;
END IF;
-- Meta LLaMA Guard 4 12B
UPDATE model_configs
SET context_window = 131072,
max_tokens = 1024,
updated_at = NOW()
WHERE model_id = 'meta-llama/llama-guard-4-12b'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for meta-llama/llama-guard-4-12b', updated_count;
END IF;
-- Meta LLaMA 4 Maverick 17B
UPDATE model_configs
SET context_window = 131072,
max_tokens = 8192,
updated_at = NOW()
WHERE model_id = 'meta-llama/llama-4-maverick-17b-128e-instruct'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for meta-llama/llama-4-maverick-17b-128e-instruct', updated_count;
END IF;
-- Moonshot AI Kimi K2 (checking for common variations)
UPDATE model_configs
SET context_window = 262144,
max_tokens = 16384,
updated_at = NOW()
WHERE model_id IN ('moonshotai/kimi-k2-instruct-0905', 'kimi-k2-instruct-0905', 'moonshotai/kimi-k2')
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for moonshotai/kimi-k2-instruct-0905', updated_count;
END IF;
-- Whisper Large v3
UPDATE model_configs
SET context_window = 0,
max_tokens = 0,
updated_at = NOW()
WHERE model_id = 'whisper-large-v3'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for whisper-large-v3', updated_count;
END IF;
-- Whisper Large v3 Turbo
UPDATE model_configs
SET context_window = 0,
max_tokens = 0,
updated_at = NOW()
WHERE model_id = 'whisper-large-v3-turbo'
AND (context_window IS NULL OR max_tokens IS NULL);
GET DIAGNOSTICS updated_count = ROW_COUNT;
IF updated_count > 0 THEN
RAISE NOTICE 'Updated % records for whisper-large-v3-turbo', updated_count;
END IF;
RAISE NOTICE 'Migration 010 completed: Updated model context windows and max tokens';
END $$;
-- Display updated models
SELECT
model_id,
name,
provider,
model_type,
context_window,
max_tokens
FROM model_configs
WHERE provider = 'groq' OR model_id LIKE '%moonshot%' OR model_id LIKE '%kimi%'
ORDER BY model_id;