40 lines
2.2 KiB
SQL
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 '"%/%"';
|