Перейти к содержанию

Взаимодействие с моделями: практическое руководство

В этом разделе мы разберем, как практически работать с ИИ-моделями: через чат, через API, и как настраивать их поведение для юридических задач.

Общение через чат

Веб-интерфейсы

Самый простой способ начать работу — использовать веб-интерфейсы провайдеров:

  • ChatGPT: chat.openai.com
  • Claude: claude.ai
  • Gemini: gemini.google.com

Как работает:
1. Регистрируетесь на платформе
2. Открываете чат
3. Задаете вопросы или загружаете документы
4. Получаете ответы

Преимущества:
- Не требует технических знаний
- Быстрый старт
- Удобный интерфейс

Ограничения:
- Сложно автоматизировать
- Ограниченные возможности настройки
- Данные уходят в облако


Локальные чаты

Для открытых моделей можно использовать локальные интерфейсы:

  • Ollama Web UI: Веб-интерфейс для Ollama
  • LM Studio: Графический интерфейс
  • Text Generation WebUI: Универсальный интерфейс

Преимущества:
- Данные остаются локально
- Полный контроль
- Бесплатно


Доступ через API

API (Application Programming Interface) — это способ программно взаимодействовать с моделью. Ваше приложение отправляет запросы и получает ответы.

Как это работает?

graph LR
    A[Ваше приложение] -->|Запрос| B[API модели]
    B -->|Ответ| A

    style A fill:#e1f5ff
    style B fill:#c8e6c9

Аналогия: API — как телефонный звонок. Вы звоните (отправляете запрос), говорите что нужно (промпт), получаете ответ.


Структура API-запроса

Типичный запрос к модели состоит из:

  1. Системный промпт — инструкции модели, как себя вести
  2. История диалога — предыдущие сообщения
  3. Текущий запрос — что вы хотите сейчас

Пример структуры:

{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "Ты опытный юрист, специализирующийся на договорном праве..."
    },
    {
      "role": "user",
      "content": "Проанализируй этот договор и найди риски..."
    }
  ],
  "temperature": 0.2,
  "max_tokens": 2000
}


Системный промпт: настройка "стиля поведения"

Системный промпт — это инструкции модели о том, как она должна себя вести. Это как "должностная инструкция" для ИИ.

Примеры системных промптов:

Для анализа договоров:

Ты опытный юрист, специализирующийся на договорном праве. 
Твоя задача — анализировать договоры и находить потенциальные риски.

При анализе обращай внимание на:  
- Неясные формулировки  
- Отсутствие важных условий  
- Несбалансированные условия  
- Соответствие законодательству

Всегда указывай конкретные пункты договора и объясняй, почему это риск.

Для генерации документов:

Ты помощник юриста, который готовит проекты документов.

Твои принципы:  
- Используй точную юридическую терминологию  
- Следуй структуре типовых документов  
- Включай все необходимые разделы  
- Указывай места для заполнения переменных

Всегда начинай документ с преамбулы и заканчивай реквизитами сторон.

Для работы с судебной практикой:

Ты юрист, который анализирует судебную практику.

При работе с прецедентами:  
- Указывай точные реквизиты решения (номер, дата, суд)  
- Выделяй ключевые правовые позиции  
- Объясняй применимость к конкретному случаю  
- Указывай ограничения и исключения

Всегда проверяй актуальность практики.

Параметры работы модели

Температура (Temperature)

Что делает: Контролирует случайность/креативность ответов.

Диапазон: 0.0 - 2.0 (обычно 0.0 - 1.0)

Для юридических задач:

Задача Рекомендуемая температура Почему
Анализ договоров 0.1 - 0.3 Нужна точность, соответствие стандартам
Генерация документов 0.2 - 0.4 Баланс между стандартностью и адаптацией
Поиск решений 0.1 - 0.2 Точность важнее креативности
Мозговой штурм 0.6 - 0.8 Нужны разные варианты

Примеры:

# Высокая точность для анализа
temperature = 0.2

# Средняя для генерации
temperature = 0.4

# Высокая для креативности
temperature = 0.7

Максимальное количество токенов (max_tokens)

Что делает: Ограничивает длину ответа модели.

Как выбрать:
- Короткие ответы (100-500 токенов): Простые вопросы, краткие справки
- Средние ответы (500-2000 токенов): Анализ документов, развернутые ответы
- Длинные ответы (2000+ токенов): Генерация документов, подробный анализ

Важно: - Один токен ≈ 0.75 слова на русском - 1000 токенов ≈ 750 слов ≈ 1.5 страницы текста

Примеры:

# Краткий ответ
max_tokens = 200

# Развернутый анализ
max_tokens = 2000

# Генерация документа
max_tokens = 4000

Top-p (Nucleus Sampling)

Что делает: Ограничивает выбор слов только наиболее вероятными вариантами.

Диапазон: 0.0 - 1.0

Рекомендации:
- 0.1 - 0.3: Очень точные, предсказуемые ответы
- 0.5 - 0.7: Баланс точности и разнообразия
- 0.8 - 1.0: Более разнообразные ответы

Для юридических задач: Обычно 0.3 - 0.5


Top-k

Что делает: Ограничивает выбор только K наиболее вероятными словами.

Примеры:
- Top-k = 1: Всегда выбирает самое вероятное слово (очень предсказуемо)
- Top-k = 10: Выбирает из 10 наиболее вероятных
- Top-k = 50: Больше разнообразия

Для юридических задач: Обычно 20-40


Stop tokens (Стоп-слова)

Что делает: Указывает модели, когда прекратить генерацию.

Примеры использования:

# Остановиться при достижении конца раздела
stop = ["КОНЕЦ РАЗДЕЛА", "---"]

# Остановиться при завершении списка
stop = ["\n\n\n", "Конец списка"]

# Для генерации списков
stop = ["10.", "11."]  # Остановиться после 10 пунктов

Практические примеры настройки

Пример 1: Анализ договора на риски

{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "Ты юрист, анализирующий договоры на риски. Будь точным и конкретным."
    },
    {
      "role": "user",
      "content": "[текст договора]"
    }
  ],
  "temperature": 0.2,      # Низкая для точности
  "max_tokens": 2000,       # Развернутый анализ
  "top_p": 0.3              # Предсказуемые формулировки
}

Пример 2: Генерация проекта договора

{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "Ты помощник, готовящий проекты договоров. Используй точную терминологию."
    },
    {
      "role": "user",
      "content": "Подготовь проект договора аренды офиса..."
    }
  ],
  "temperature": 0.3,       # Немного выше для адаптации
  "max_tokens": 4000,       # Длинный документ
  "top_p": 0.5
}

Пример 3: Поиск в судебной практике

{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "Ты юрист, работающий с судебной практикой. Указывай точные реквизиты."
    },
    {
      "role": "user",
      "content": "Найди прецеденты по..."
    }
  ],
  "temperature": 0.1,       # Очень низкая для точности
  "max_tokens": 1500,
  "top_p": 0.2
}

Влияние параметров на юридические задачи

Анализ документов

Цель: Точность, соответствие стандартам

Рекомендуемые параметры:
- Temperature: 0.1 - 0.3
- Top-p: 0.2 - 0.4
- Max tokens: 2000 - 4000 (зависит от объема анализа)

Почему: Нужны точные, проверяемые выводы, а не креативные интерпретации.


Генерация документов

Цель: Соответствие шаблонам с адаптацией под конкретный случай

Рекомендуемые параметры:
- Temperature: 0.2 - 0.4
- Top-p: 0.4 - 0.6
- Max tokens: 2000 - 8000 (зависит от типа документа)

Почему: Нужен баланс между стандартностью и адаптацией.


Поиск и анализ прецедентов

Цель: Точность информации, релевантность

Рекомендуемые параметры:
- Temperature: 0.1 - 0.2
- Top-p: 0.2 - 0.3
- Max tokens: 1500 - 3000

Почему: Критически важна точность фактов и релевантность.


Мозговой штурм и поиск решений

Цель: Разнообразие идей, нестандартные подходы

Рекомендуемые параметры:
- Temperature: 0.6 - 0.8
- Top-p: 0.7 - 0.9
- Max tokens: 1000 - 2000

Почему: Нужны разные варианты и подходы.


Работа с длинными документами

Проблема контекстного окна

Модели имеют ограничение на длину обрабатываемого текста. Если документ длиннее, нужно:

  1. Разбить на части и обрабатывать по частям
  2. Использовать модель с большим контекстом (Claude 200K, GPT-4 128K)
  3. Использовать RAG (см. раздел RAG)

Стратегии работы с длинными документами

Стратегия 1: Разбиение на разделы

graph TD
    A[Длинный договор] --> B[Раздел 1]
    A --> C[Раздел 2]
    A --> D[Раздел 3]
    B --> E[Анализ раздела 1]
    C --> F[Анализ раздела 2]
    D --> G[Анализ раздела 3]
    E --> H[Объединение результатов]
    F --> H
    G --> H

    style A fill:#e1f5ff
    style H fill:#c8e6c9

Как делать:
1. Разбиваете договор на логические разделы
2. Анализируете каждый раздел отдельно
3. Объединяете результаты


Стратегия 2: Суммаризация и детальный анализ

  1. Сначала делаете краткое резюме всего документа
  2. Затем детально анализируете важные части

Стратегия 3: Использование RAG

RAG позволяет модели "понимать" весь документ, даже если он не помещается в контекстное окно (см. раздел RAG).


Практические советы

Совет 1: Начните с консервативных параметров

Для юридических задач лучше начать с низкой температуры (0.1-0.3) и увеличивать только если нужно больше разнообразия.

Совет 2: Тестируйте на реальных задачах

Параметры, которые работают для общих задач, могут не подойти для ваших специфических документов.

Совет 3: Используйте системные промпты

Правильный системный промпт часто важнее, чем настройка параметров.

Совет 4: Сохраняйте историю диалога

Модель работает лучше, когда видит контекст предыдущих сообщений.

Совет 5: Обрабатывайте ошибки

Всегда проверяйте ответы модели, особенно для критически важных задач.


Резюме

  • Веб-чат — простой способ начать, но ограниченные возможности
  • API — для автоматизации и интеграции в системы
  • Системный промпт — ключевой инструмент настройки поведения модели
  • Параметры (temperature, max_tokens и др.) — тонкая настройка для конкретных задач
  • Для юридических задач обычно нужны консервативные параметры (низкая температура, предсказуемые ответы)

В следующем разделе мы разберем квантование — как запускать большие модели на обычных компьютерах.