LP_2-test / HELP.md
DocUA's picture
feat: Оновлення UI для GPT-5.2 та додавання контролю MaxTokens
a765e3e
# 📖 Довідка - AI Асистент для роботи з правовими позиціями
## Зміст
1. [Огляд додатку](#огляд-додатку)
2. [Закладка: Генерація](#закладка-генерація)
3. [Закладка: Пошук](#закладка-пошук)
4. [Закладка: Аналіз](#закладка-аналіз)
5. [Закладка: Налаштування](#закладка-налаштування)
6. [Закладка: Пакетне тестування](#закладка-пакетне-тестування)
7. [Підтримувані провайдери](#підтримувані-провайдери)
8. [Часті питання](#часті-питання)
9. [Поради та рекомендації](#поради-та-рекомендації)
---
## Огляд додатку
**AI Асистент** - це інтелектуальний інструмент для роботи з правовими позиціями Верховного Суду України. Додаток використовує сучасні AI моделі (GPT, Claude, Gemini, DeepSeek) для автоматичної генерації, пошуку та аналізу правових позицій.
### Основні можливості:
-**Генерація** правових позицій з текстів судових рішень
-**Пошук** схожих позицій у базі даних Верховного Суду
-**Аналіз** релевантності знайдених позицій
-**Налаштування** промптів для персоналізації роботи AI
-**Пакетне тестування** для масової обробки даних
---
## Закладка: Генерація
### Призначення
Автоматичне формування проекту правової позиції з тексту судового рішення.
### Як користуватися:
#### 1. Вибір провайдера та моделі
- **Провайдер AI**: Оберіть постачальника AI (OpenAI, Anthropic, Gemini, DeepSeek)
- **Модель генерації**: Виберіть конкретну модель (наприклад, GPT-4o, Claude 3.5 Sonnet, Gemini 3.0 Flash)
**Рекомендації:**
- Для швидкої роботи: Gemini 3.0 Flash, GPT-5 Mini, GPT-4o-mini
- Для якісних результатів: GPT-5.2, Claude Sonnet 4.6, GPT-4o
- Для економії: DeepSeek Chat
#### 2. Додаткові параметри (Температура, Thinking Mode, Verbosity)
- **Температура генерації**: дозволяє налаштовувати креативність моделі від 0.0 (строга) до 2.0 (креативна).
- **Режим Thinking (для OpenAI GPT-5+, Gemini 3+ та Claude 4.5/4.6)**:
- Увімкніть для глибшого аналізу складних рішень.
- **Тип Thinking (Claude)**:
- **Adaptive**: модель сама обирає глибину міркувань (працює для моделей 4.6).
- **Enabled**: класичний режим із жорстким бюджетом токенів (для моделей 4.5 та 4.6).
- **Рівні Thinking (OpenAI / Gemini)**: none → low → medium → high → xhigh (у GPT-5.2)
- **Verbosity (OpenAI GPT-5)**: керування багатослівністю (low, medium, high)
- **Бюджет токенів (Claude 4.5 або Enabled)**: 1024-32000
#### 3. Спосіб вводу даних
**Варіант А: Текстовий ввід**
- Вставте текст судового рішення безпосередньо
- Найшвидший спосіб
- Підходить для коротких текстів
**Варіант Б: URL посилання**
- Вставте посилання на рішення з reyestr.court.gov.ua
- Автоматичне витягування тексту
- Зручно для онлайн-рішень
**Варіант В: Завантаження файлу**
- Завантажте TXT файл з текстом рішення
- Підходить для збережених локально рішень
- Підтримка UTF-8 та CP1251
#### 4. Коментар (опціонально)
Додайте уточнення для AI, наприклад:
- "Звернути увагу на процесуальні питання"
- "Виділити позиції щодо строків позовної давності"
- "Акцентувати на нормах ЦПК України"
#### 5. Генерація
Натисніть **"📝 Генерувати проект правової позиції"**
### Результат генерації:
Ви отримаєте структуровану правову позицію з:
- **Заголовок** - коротка назва позиції
- **Текст** - зміст правової позиції
- **Тип судочинства** - кримінальне, цивільне, господарське, адміністративне
- **Категорія** - тематична класифікація
### Час обробки:
- Швидкі моделі: 5-15 секунд
- Потужні моделі: 15-30 секунд
- З режимом Thinking: 30-60 секунд
---
## Закладка: Пошук
### Призначення
Знайти схожі правові позиції Верховного Суду у базі даних.
### Два типи пошуку:
#### 1. Пошук на основі правової позиції
- Використовує згенеровану позицію з закладки "Генерація"
- **Коли використовувати**: після генерації позиції
- **Як активувати**: кнопка стає доступною після генерації
- Натисніть **"🔎 Пошук на основі правової позиції"**
#### 2. Пошук на основі вхідного тексту
- Використовує оригінальний текст судового рішення
- **Коли використовувати**: для швидкого пошуку без генерації
- **Як активувати**: доступна завжди
- Натисніть **"🔎 Пошук на основі вхідного тексту"**
### Результати пошуку:
Ви отримаєте список релевантних позицій з:
- **Номер** у списку [1], [2], [3]...
- **Заголовок** правової позиції
- **Посилання** на позицію та судове рішення
- **Score** - показник релевантності (чим вище, тим краще)
### Технологія пошуку:
- Гібридний підхід: векторний пошук + BM25
- Автоматична дедуплікація результатів
- Топ-10 найрелевантніших позицій
---
## Закладка: Аналіз
### Призначення
Детальний порівняльний аналіз знайдених правових позицій.
### Як користуватися:
#### 1. Попередні кроки
⚠️ Спочатку потрібно виконати пошук у закладці "Пошук"
#### 2. Вибір моделі аналізу та налаштувань
- Оберіть провайдер та модель для аналізу
- Рекомендовано: GPT-5.2, Claude Sonnet 4.6
- **Температура аналізу**: налаштування креативності порівняння.
- **Max Tokens (ліміт відповіді)**: максимальний обсяг деталізації аналізу (від 512 до 32768).
#### 3. Уточнююче питання (опціонально)
Додайте конкретне питання для AI, наприклад:
- "Чи підходять ці позиції для справ про відшкодування моральної шкоди?"
- "Які з позицій стосуються процесуальних питань?"
- "Чи є позиції щодо застосування норм ЦКУ?"
#### 4. Запуск аналізу
Натисніть **"⚖️ Аналіз результатів пошуку"**
### Результат аналізу:
Для кожної релевантної позиції ви отримаєте:
- **Номер позиції** у списку
- **Детальне обґрунтування** релевантності
- **Аналіз спільних аспектів** з вашим рішенням
- **Рекомендації** щодо застосування
### Час обробки:
- Залежить від кількості знайдених позицій
- 1-3 позиції: 15-30 секунд
- 5-10 позицій: 30-60 секунд
---
## Закладка: Налаштування
### Призначення
Персоналізація промптів для AI відповідно до ваших потреб.
### Три типи промптів:
#### 1. Системний промпт
**Що це:** Визначає роль та базові інструкції для AI
**Приклад стандартного:**
```
Ти - кваліфікований юрист-аналітик, експерт з правових позицій Верховного Суду.
```
**Коли змінювати:**
- Для зміни стилю відповідей (формальний, академічний)
- Для додавання спеціалізації (цивільне право, кримінальне)
#### 2. Промпт генерації правової позиції
**Що це:** Шаблон для створення правових позицій з судових рішень
**Важливо:** Містить плейсхолдери:
- `{court_decision_text}` - текст рішення
- `{comment}` - ваш коментар
**Коли змінювати:**
- Для зміни структури позиції
- Для додавання специфічних вимог
- Для фокусу на певних аспектах
#### 3. Промпт аналізу прецедентів
**Що це:** Шаблон для порівняльного аналізу позицій
**Важливо:** Містить плейсхолдери:
- `{query}` - нова позиція
- `{question}` - уточнююче питання
- `{context_str}` - знайдені позиції
**Коли змінювати:**
- Для зміни критеріїв аналізу
- Для глибшого порівняння
### Як редагувати:
1. Відредагуйте текст промпту у відповідному полі
2. Натисніть **"💾 Зберегти промпти"**
3. Побачите підтвердження: ✅ "Промпти успішно збережено"
4. Поверніться до генерації - тепер використовуються ваші промпти!
### Скинути до стандартних:
Натисніть **"🔄 Скинути до стандартних"** для повернення дефолтних промптів.
### Важливо:
- Промпти зберігаються тільки для вашої сесії
- Час сесії: 30 хвилин без активності
- Кожен користувач має свої власні промпти
- Повна ізоляція між користувачами
---
## Закладка: Пакетне тестування
### Призначення
Масова генерація правових позицій з CSV файлів для тестування та порівняння моделей.
### Покрокова інструкція:
#### Крок 1: Підготовка CSV файлу
Створіть CSV файл з обов'язковою колонкою `text`:
```csv
id_lp,text
1,"Текст судового рішення 1..."
2,"Текст судового рішення 2..."
3,"Текст судового рішення 3..."
```
**Приклади:** дивіться `test_docs/test_sample.csv`
#### Крок 2: Налаштування параметрів
1. **Провайдер AI** - оберіть постачальника (OpenAI, Anthropic, Gemini, DeepSeek)
2. **Модель генерації** - виберіть модель для тестування
3. **Пауза між запитами** - встановіть затримку (0-10 секунд)
**Рекомендовані паузи:**
- 1-10 рядків: 0.5-1 сек
- 10-50 рядків: 1-2 сек
- 50-100 рядків: 2-3 сек
- 100+ рядків: 3-5 сек
#### Крок 3: Завантаження файлу
1. Натисніть **"📁 Завантажте CSV файл з тестовими даними"**
2. Виберіть ваш CSV файл
3. Натисніть **"📂 Завантажити CSV файл"**
4. Перевірте попередній перегляд:
- Кількість рядків
- Список колонок
- Перші 3 рядки тексту
#### Крок 4: Запуск тестування
1. Натисніть **"▶️ Запустити пакетне тестування"**
2. Слідкуйте за прогресом:
- Прогрес-бар показує поточний стан
- "Обробка рядка X з Y"
#### Крок 5: Завантаження результатів
Після завершення:
1. З'явиться кнопка **"📥 Завантажити результати"**
2. Файл збережено у `test_results/`
3. Назва файлу: `batch_test_results_{модель}_{дата_час}.csv`
### Формат результатів:
Результуючий CSV містить:
- Всі оригінальні колонки
- Нова колонка з назвою моделі
- У новій колонці - **повний JSON об'єкт**:
```json
{
"title": "Заголовок правової позиції",
"text": "Текст правової позиції",
"proceeding": "Тип судочинства",
"category": "Категорія"
}
```
### Обробка результатів у Python:
```python
import pandas as pd
import json
# Завантажити результати
df = pd.read_csv('test_results/batch_test_results_gemini-3.0-flash_20260103_120000.csv')
# Парсити JSON
df['parsed'] = df['gemini-3.0-flash'].apply(json.loads)
# Витягти поля
df['title'] = df['parsed'].apply(lambda x: x['title'])
df['text'] = df['parsed'].apply(lambda x: x['text'])
```
### Час виконання:
**Розрахунок:** `кількість_рядків × (час_запиту + пауза)`
**Приклади:**
- 10 рядків × (3 сек + 1 сек) = ~40 секунд
- 100 рядків × (3 сек + 1 сек) = ~6.7 хвилин
### Поради:
- Для великих обсягів (100+ рядків) використовуйте паузу 3-5 сек
- При помилках rate limit - збільште паузу
- Результати зберігаються автоматично навіть при помилках окремих рядків
---
## Підтримувані провайдери
### OpenAI
**Моделі:**
- GPT-5.2 - остання потужна модель (рекомендована)
- GPT-5 Mini - швидка і потужна модель нового покоління
- GPT-4o - попередня потужна модель
- GPT-4o-mini - баланс ціна/якість
- GPT-4.1 - версія GPT-4 (reasoning)
- Fine-tuned моделі - власні налаштовані моделі
**Особливості:**
- Швидка обробка
- Підтримка Reasoning Effort (до `xhigh` в GPT-5.2) та Verbosity
- Висока якість структурованих даних (JSON Schema)
**API Key:** `OPENAI_API_KEY`
### Anthropic (Claude)
**Моделі:**
- Claude Sonnet 4.6 - рекомендована (за замовчуванням)
- Claude Opus 4.6 - найпотужніша
- Claude Haiku 4.5 - швидка модель
**Особливості:**
- Детальний аналіз та структурування
- **Adaptive Thinking** у серії 4.6 для гнучкого використання ресурсів
- **Extended Thinking** у серії 4.5 для складних завдань
- Великий контекст
**API Key:** `ANTHROPIC_API_KEY`
### Google (Gemini)
**Моделі:**
- Gemini 3.0 Flash - швидка
- Gemini 3.5 Flash - з Thinking Mode
- Gemini 2.0 Flash - експериментальна
**Особливості:**
- Thinking Mode для глибокого аналізу
- Безкоштовний tier
- Швидка обробка
**API Key:** `GEMINI_API_KEY`
### DeepSeek
**Моделі:**
- DeepSeek Chat - універсальна
**Особливості:**
- Низька ціна
- Хороша якість
- Підтримка українською
**API Key:** `DEEPSEEK_API_KEY`
---
## Часті питання
### Загальні питання
**Q: Чи потрібна реєстрація?**
A: Ні, додаток працює без реєстрації. Кожна сесія автоматично ідентифікується.
**Q: Скільки коштує використання?**
A: Додаток безкоштовний, оплачується тільки API провайдерів (якщо використовуєте платні моделі).
**Q: Чи зберігаються мої дані?**
A: Дані зберігаються тільки на час сесії (30 хвилин). Після закриття - автоматично видаляються.
**Q: Чи можуть інші користувачі бачити мої промпти?**
A: Ні, повна ізоляція між користувачами. Кожна сесія унікальна.
### Генерація
**Q: Яку модель обрати?**
A: Для початку - Gemini 3.0 Flash (безкоштовно) або GPT-4o-mini (дешево).
**Q: Чому генерація повільна?**
A: Залежить від моделі і режиму Thinking. Вимкніть Thinking для швидшої роботи.
**Q: Що робити з URL, які не працюють?**
A: Скопіюйте текст вручну та вставте як "Текстовий ввід".
### Пошук
**Q: Чому мало результатів?**
A: База містить тільки позиції Верховного Суду. Не всі теми представлені.
**Q: Що означає Score?**
A: Показник схожості (0-1). Чим вище - тим релевантніше.
### Налаштування
**Q: Промпти не працюють після збереження**
A: Перевірте наявність плейсхолдерів `{court_decision_text}` і `{comment}`.
**Q: Чи можу я зберегти промпти назавжди?**
A: Поки що ні - тільки на час сесії. Скопіюйте їх у файл для збереження.
### Пакетне тестування
**Q: Який максимальний розмір CSV?**
A: Технічно необмежений, але рекомендовано до 500 рядків за раз.
**Q: Що робити при помилках rate limit?**
A: Збільште паузу між запитами до 3-5 секунд.
**Q: Чи можна зупинити тестування?**
A: Поки що ні - дочекайтеся завершення або оновіть сторінку.
---
## Поради та рекомендації
### Для генерації якісних позицій:
1. **Використовуйте повний текст рішення**
- Не тільки мотивувальну частину
- Включайте контекст справи
2. **Додавайте коментарі**
- Вказуйте на що звернути увагу
- Що важливо виділити
3. **Експериментуйте з моделями**
- Різні моделі - різні стилі
- Claude - детальний аналіз
- GPT - структурованість
- Gemini - баланс
### Для ефективного пошуку:
1. **Спочатку згенеруйте позицію**
- Пошук на основі позиції точніший
- Ніж пошук за сирим текстом
2. **Перевіряйте топ-3 результати**
- Найвищий score = найрелевантніше
- Нижче 0.7 - можливо нерелевантно
### Для налаштування промптів:
1. **Змінюйте поступово**
- Не змінюйте все одразу
- Тестуйте кожну зміну
2. **Зберігайте резервні копії**
- Скопіюйте промпти у файл
- Перед великими змінами
3. **Використовуйте приклади**
- Додавайте конкретні приклади у промпт
- Для кращих результатів
### Для пакетного тестування:
1. **Почніть з малого**
- Спочатку 5-10 рядків
- Перевірте якість
- Потім збільшуйте обсяг
2. **Налаштуйте паузу правильно**
- Краще довше, ніж rate limit
- Оптимально 1-2 секунди
3. **Зберігайте результати**
- Одразу завантажуйте файл
- Назва містить дату/час
---
## Технічна підтримка
Якщо виникли проблеми:
1. **Перезавантажте сторінку** - часто допомагає
2. **Перевірте API ключі** - чи налаштовані правильно
3. **Спробуйте іншу модель** - можливо проблема з конкретною
4. **Очистіть кеш браузера** - F12 → Application → Clear Storage
---
**Дякуємо за використання AI Асистента!** 🎉
Для додаткової інформації дивіться:
- [README.md](README.md) - технічна документація
- [BATCH_TESTING_README.md](BATCH_TESTING_README.md) - детально про пакетне тестування
- [PROMPT_EDITING.md](docs/PROMPT_EDITING.md) - глибоке занурення у промпти