# 📖 Довідка - 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) - глибоке занурення у промпти