init
This commit is contained in:
32
3_извлечение_тегов/README.md
Normal file
32
3_извлечение_тегов/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Извлечение тегов (шаг 3)
|
||||
|
||||
Отдельный шаг пайплайна после финальной валидации согласованности (2b). ИИ использует уже структурированный анализ главы (каркас, инсайты, применение) и оригинальный текст для извлечения тегов по категориям.
|
||||
|
||||
## Промпт
|
||||
|
||||
| Файл | Назначение |
|
||||
|------------------|-------------------------------------------------|
|
||||
| extract_tags.txt | Извлечение тегов по категориям из валидированного анализа |
|
||||
|
||||
## Подстановки
|
||||
|
||||
- `{book_title}` — название книги
|
||||
- `{chapter_title}` — название главы
|
||||
- `{framework}` — JSON блока framework
|
||||
- `{insights}` — JSON блока insights
|
||||
- `{application}` — JSON блока application
|
||||
- `{limitations}` — JSON блока limitations (опционально)
|
||||
- `{chapter_text}` — оригинальный текст главы (можно обрезать по лимиту токенов)
|
||||
- `{allowed_tags_json}` — актуальный список допустимых тегов по категориям (из БД `tags`)
|
||||
|
||||
## Вход
|
||||
|
||||
Валидированный анализ главы (все блоки) + оригинальный текст главы + словарь допустимых тегов.
|
||||
|
||||
## Выход
|
||||
|
||||
JSON с тегами по категориям (ключи на английском: `principle`, `psychology`, `method`, `result`, `context`) и confidence score для каждого тега; при необходимости — кандидаты в `proposed` с полем `category` из того же набора. Маппинг категорий: ARCHITECTURE_SUMMARY.md → раздел «Хранение данных» → таблица `tags`.
|
||||
|
||||
## Использование
|
||||
|
||||
Вызывается после шага 2b (финальная валидация). Модель: qwen3-14b:8bit (или аналог). Перед вызовом в промпт подставляется актуальный список тегов из БД.
|
||||
79
3_извлечение_тегов/extract_tags.txt
Normal file
79
3_извлечение_тегов/extract_tags.txt
Normal file
@@ -0,0 +1,79 @@
|
||||
Ты — эксперт по тегированию нон-фикшн. На основе валидированного анализа главы извлеки теги по категориям. Теги нужны для фильтрации и кросс-книжного поиска.
|
||||
|
||||
Контекст:
|
||||
- Книга: "{book_title}"
|
||||
- Глава: "{chapter_title}"
|
||||
|
||||
Данные анализа (JSON-блоки, сериализованные в строку):
|
||||
- Каркас (принципы, цепочки, термины): {framework}
|
||||
- Инсайты: {insights}
|
||||
- Применение (техники, методики): {application}
|
||||
- Ограничения: {limitations}
|
||||
|
||||
Оригинальный текст главы (выдержка для контекста): {chapter_text}
|
||||
|
||||
Допустимые теги по категориям — JSON (выбирай ТОЛЬКО из этого списка): {allowed_tags_json}
|
||||
|
||||
**Опора при выборе тегов:** в первую очередь блоки анализа (framework, insights, application); текст главы — для проверки релевантности и калибровки confidence.
|
||||
|
||||
---
|
||||
|
||||
## ЗАДАЧА
|
||||
|
||||
Извлеки теги по следующим категориям. Ключи категорий в ответе — на английском (соответствуют полю `category` в БД):
|
||||
|
||||
1. **principle** — по сути правила/принципа: название правила/принципа, ключевые концепции, связанные принципы.
|
||||
2. **psychology** — по психологическому механизму: психологические концепции, проблемы, механизмы работы. Включай термин из списка, если он **существенно используется** в главе (объяснён, в цепочке причина–механизм–результат или в примере), а не только упомянут вскользь.
|
||||
3. **method** — по методу/технике: конкретные методики, подходы, процессы.
|
||||
4. **result** — по результату/цели: достигаемые результаты, цели применения.
|
||||
5. **context** — по контексту книги: связь с общей концепцией книги, автор и подход, общая тематика.
|
||||
|
||||
Теги должны отражать **суть** главы, а не просто упоминания. Каждый тег — релевантен содержанию. Избегай слишком общих тегов. Приоритет: качество над количеством. **Не более 5 тегов на категорию;** при равной релевантности оставляй самые важные для поиска.
|
||||
|
||||
---
|
||||
|
||||
## СТРОГИЕ ПРАВИЛА
|
||||
|
||||
1. Выбирай теги **только** из переданного списка (`allowed_tags_json`). В поле `tag` копируй строку **точно как в списке** — без изменения формулировки, регистра и пунктуации.
|
||||
2. Если для главы нужен смысл, которого нет в списке — верни его в блоке `proposed`: объект с полями `tag`, `category` (principle | psychology | method | result | context), `reason`. Не добавляй такой тег в основные категории.
|
||||
3. Один и тот же смысл — один тег; не дублируй синонимами из списка.
|
||||
4. **Confidence** (0.0–1.0) калибруй так: **0.9–1.0** — тема в ядре главы (принципы, главные идеи); **0.7–0.89** — есть в главе, но второстепенно или через примеры; **0.5–0.69** — только упомянуто, без разбора. Не завышай: различай «главное» и «по касательной».
|
||||
5. Не используй вводные фразы и пояснения в ответе — только JSON.
|
||||
|
||||
---
|
||||
|
||||
## ФОРМАТ ОТВЕТА
|
||||
|
||||
Строго один JSON-объект без комментариев и markdown:
|
||||
|
||||
{
|
||||
"tags": {
|
||||
"principle": [
|
||||
{ "tag": "название тега из списка", "confidence": 0.95 }
|
||||
],
|
||||
"psychology": [
|
||||
{ "tag": "...", "confidence": 0.9 }
|
||||
],
|
||||
"method": [
|
||||
{ "tag": "...", "confidence": 0.85 }
|
||||
],
|
||||
"result": [
|
||||
{ "tag": "...", "confidence": 0.9 }
|
||||
],
|
||||
"context": [
|
||||
{ "tag": "...", "confidence": 0.88 }
|
||||
]
|
||||
},
|
||||
"proposed": [
|
||||
{
|
||||
"tag": "формулировка предлагаемого тега",
|
||||
"category": "principle | psychology | method | result | context",
|
||||
"reason": "краткое обоснование в 1–2 предложениях"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
- Ключи в `tags` — английские, соответствуют полю `tags.category` в БД. Пустые категории — пустой массив `[]`. В каждом `tag` — строка в точности как в `allowed_tags_json`.
|
||||
- Блок `proposed` — только если ни один существующий тег не подходит по смыслу; иначе пустой массив `[]`.
|
||||
|
||||
Верни только этот объект — ничего до и после.
|
||||
79
3_извлечение_тегов/extract_tags_filled.txt
Normal file
79
3_извлечение_тегов/extract_tags_filled.txt
Normal file
File diff suppressed because one or more lines are too long
34
3_извлечение_тегов/выход_tag.json
Normal file
34
3_извлечение_тегов/выход_tag.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"tags": {
|
||||
"principle": [
|
||||
{ "tag": "среда формирует поведение", "confidence": 0.95 },
|
||||
{ "tag": "привычки не исчезают", "confidence": 0.92 },
|
||||
{ "tag": "самоконтроль краткосрочен", "confidence": 0.9 },
|
||||
{ "tag": "дисциплина через среду", "confidence": 0.9 },
|
||||
{ "tag": "негативные эмоции усиливают поведение", "confidence": 0.85 }
|
||||
],
|
||||
"psychology": [
|
||||
{ "tag": "стимул", "confidence": 0.95 },
|
||||
{ "tag": "привычка", "confidence": 0.95 },
|
||||
{ "tag": "желание вызванное стимулом", "confidence": 0.9 },
|
||||
{ "tag": "аутокаталитический процесс", "confidence": 0.85 },
|
||||
{ "tag": "подкрепление", "confidence": 0.8 }
|
||||
],
|
||||
"method": [
|
||||
{ "tag": "снижение доступности стимула", "confidence": 0.95 },
|
||||
{ "tag": "настройка среды", "confidence": 0.92 },
|
||||
{ "tag": "устранение триггеров", "confidence": 0.9 }
|
||||
],
|
||||
"result": [
|
||||
{ "tag": "уменьшение вредных привычек", "confidence": 0.95 },
|
||||
{ "tag": "устойчивое поведение", "confidence": 0.9 },
|
||||
{ "tag": "снижение искушений", "confidence": 0.85 }
|
||||
],
|
||||
"context": [
|
||||
{ "tag": "поведенческая психология", "confidence": 0.95 },
|
||||
{ "tag": "привычки", "confidence": 0.92 },
|
||||
{ "tag": "атомные привычки", "confidence": 0.9 }
|
||||
]
|
||||
},
|
||||
"proposed": []
|
||||
}
|
||||
Reference in New Issue
Block a user