Switch prompt test to writer

This commit is contained in:
Your Name
2026-06-16 01:02:08 +05:00
parent d306ca42a1
commit 85a76652fe
2 changed files with 48 additions and 33 deletions
+9 -9
View File
@@ -2,8 +2,8 @@
{% block body %}
<div class="page-head">
<div>
<h1>Тест промптов</h1>
<p class="muted">Песочница для свободной части <span class="mono">ai_qualifier_prompt</span>. Посты и оценки в БД не меняются.</p>
<h1>Тест промпта райтера</h1>
<p class="muted">Песочница для свободной части <span class="mono">ai_writer_prompt</span>. Посты, рерайт и статусы в БД не меняются.</p>
</div>
<a class="btn" href="/workers">Настройки AI</a>
</div>
@@ -13,19 +13,19 @@
<div class="hint-grid">
<div>
<div class="hint-label">Что тестируем</div>
<p>Отправляется только текст из поля ниже как system prompt. <span class="mono">ai_qualifier_contract</span> специально не добавляется, чтобы можно было быстро проверять идеи, тон и критерии.</p>
<p>Отправляется только текст из поля ниже как system prompt. <span class="mono">ai_writer_contract</span> специально не добавляется, чтобы можно было быстро проверять стиль, структуру и редакторские правила.</p>
</div>
<div>
<div class="hint-label">Что уйдёт в модель</div>
<p>Один выбранный raw-пост в том же формате, что использует квалификатор: <span class="mono">id</span>, источник, ссылка, количество медиа, типы медиа и обрезанный текст.</p>
<p>Один выбранный raw-пост в том же формате, что использует райтер: <span class="mono">categories</span>, <span class="mono">producer_name</span>, <span class="mono">producer_tag</span>, ссылка, AI-оценка, медиа и обрезанный исходный текст.</p>
</div>
<div>
<div class="hint-label">Что безопасно менять</div>
<p>Роль, критерии, примеры хороших/плохих постов, шкалу оценки и формулировки причин. Для рабочего воркера JSON-контракт всё равно живёт отдельно.</p>
<p>Голос канала, структуру текста, длину, правила про эмоджи, запрет выдумок, примеры формулировок и логику упоминания производителя/магазина. JSON-контракт рабочего воркера живёт отдельно.</p>
</div>
<div>
<div class="hint-label">Что не происходит</div>
<p>Статус поста не меняется, batch не создаётся, оценка не сохраняется. Тест только тратит токены текущей модели квалификатора.</p>
<p>Рерайт не сохраняется, batch не создаётся, категория и статус поста не меняются. Тест только тратит токены текущей модели райтера.</p>
</div>
</div>
</details>
@@ -54,13 +54,13 @@
<strong>#{{ selected.id }} · {{ selected.source_name }}</strong>
<a href="{{ selected.original_url }}" target="_blank" rel="noopener">Оригинал</a>
</div>
<div class="muted">{{ selected.posted_at_fmt or selected.created_at_fmt }} · {{ selected.media_count }} медиа · {{ selected.media_types or [] }}</div>
<div class="muted">{{ selected.posted_at_fmt or selected.created_at_fmt }} · {{ selected.media_count }} медиа · {{ selected.media_types or [] }} · оценка {{ selected.qualification_score or "—" }}</div>
<pre>{{ selected.raw_text }}</pre>
</div>
{% endif %}
<label>
<span>ai_qualifier_prompt для теста</span>
<span>ai_writer_prompt для теста</span>
<textarea name="prompt" rows="18" spellcheck="false">{{ prompt }}</textarea>
</label>
<div class="dialog-actions">
@@ -71,7 +71,7 @@
<aside class="prompt-test-side">
<section class="panel">
<h2>Payload</h2>
<p class="muted">Именно это отправится user-сообщением. Текст обрезан по настройке <span class="mono">ai_qualifier_max_text_chars={{ max_text_chars }}</span>.</p>
<p class="muted">Именно это отправится user-сообщением. Текст обрезан по настройке <span class="mono">ai_writer_max_text_chars={{ max_text_chars }}</span>.</p>
<pre class="json-box">{{ payload_json }}</pre>
</section>