Files
new_vk_parser/db/migrations/011_safer_ai_settings.sql
2026-06-15 21:14:07 +05:00

40 lines
2.2 KiB
SQL

UPDATE app_settings
SET title='Инструкция квалификатора',
description='Редактируемая человеческая инструкция: критерии оценки и мусора. JSON-контракт ответа добавляется кодом автоматически.'
WHERE key='ai_qualifier_prompt';
UPDATE app_settings
SET title='Инструкция райтера',
description='Редактируемая человеческая инструкция: стиль, факты, длина и голос канала. Категорию и JSON-контракт ответа контролирует код.'
WHERE key='ai_writer_prompt';
UPDATE app_settings
SET description='Модель для квалификации. Список берётся live из API провайдера, если доступен ключ; fallback помечается отдельно.'
WHERE key='ai_qualifier_model';
UPDATE app_settings
SET description='Модель для рерайта. Список берётся live из API провайдера, если доступен ключ; fallback помечается отдельно.'
WHERE key='ai_writer_model';
UPDATE app_settings
SET description='Токен выбранного LLM-провайдера. В админке показывается полностью, поэтому доступ к настройкам должен быть только у доверенных пользователей.'
WHERE key IN ('ai_qualifier_api_key', 'ai_writer_api_key');
UPDATE app_settings m
SET value_json = to_jsonb('anthropic/' || trim(both '"' from m.value_json::text))
FROM app_settings p
WHERE p.key = replace(m.key, '_model', '_provider')
AND p.value_json = '"anthropic"'::jsonb
AND m.key IN ('ai_qualifier_model', 'ai_writer_model')
AND m.value_json::text NOT LIKE '"anthropic/%'
AND m.value_json::text NOT LIKE '"%/%"';
UPDATE app_settings m
SET value_json = to_jsonb('gemini/' || trim(both '"' from m.value_json::text))
FROM app_settings p
WHERE p.key = replace(m.key, '_model', '_provider')
AND p.value_json = '"gemini"'::jsonb
AND m.key IN ('ai_qualifier_model', 'ai_writer_model')
AND m.value_json::text NOT LIKE '"gemini/%'
AND m.value_json::text NOT LIKE '"%/%"';