Узел LLM вызывает языковые модели для обработки текста, изображений и документов. Он отправляет промпты настроенным моделям и фиксирует их ответы, поддерживая структурированный вывод, управление контекстом и мультимодальный ввод.
Интерфейс настройки узла LLM

Интерфейс настройки узла LLM

Перед использованием узлов LLM настройте хотя бы одного поставщика модели в разделе Настройки → Поставщик модели.

Выбор модели и параметры

Выбирайте из любого настроенного вами поставщика модели. Разные модели хороши в разных задачах: GPT-4 и Claude 3.5 хорошо справляются со сложными рассуждениями, но стоят дороже, тогда как GPT-3.5 Turbo сочетает возможности с доступной ценой. Для локального развёртывания используйте Ollama, LocalAI или Xinference.
Выбор модели и настройка параметров

Выбор модели и настройка параметров

Параметры модели управляют генерацией ответа. Temperature изменяется от 0 (детерминированно) до 1 (творчески). Top P ограничивает выбор слов по вероятности. Frequency Penalty снижает повторения. Presence Penalty поощряет новые темы. Также можно использовать пресеты: Точный, Сбалансированный или Творческий.

Настройка промпта

Интерфейс адаптируется в зависимости от типа модели. Чат-модели используют роли сообщений (Система — для поведения, Пользователь — для ввода, Ассистент — для примеров), тогда как модели завершения текста используют простое продолжение текста. Ссылайтесь на переменные рабочего процесса в промптах с помощью двойных фигурных скобок: {{variable_name}}. Переменные заменяются фактическими значениями до того, как промпт достигнет модели.

Контекстные переменные

Контекстные переменные внедряют внешние знания, сохраняя при этом указание на источник. Это позволяет создавать RAG-приложения, в которых LLM отвечают на вопросы, опираясь на ваши конкретные документы.
Использование контекстных переменных в RAG-приложениях

Использование контекстных переменных в RAG-приложениях

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

Структурированный вывод

Заставьте модели возвращать данные в определённом формате, например в JSON, для программного использования. Настройка выполняется тремя способами:
Удобный интерфейс для простых структур. Добавляйте поля с именами и типами, отмечайте обязательные поля, задавайте описания. Редактор автоматически генерирует JSON Schema.
Модели с встроенной поддержкой JSON надёжно обрабатывают структурированный вывод. Для остальных Интеллос включает схему в промпт, но результаты могут отличаться.

Память и обработка файлов

Память LLM
Включите память, чтобы сохранять контекст между несколькими вызовами LLM в рамках разговора в Chatflow. Когда память включена, предыдущие взаимодействия добавляются в последующие промпты в виде отформатированных выводов «пользователь — ассистент». Вы можете настроить, что попадает в промпты пользователя, отредактировав шаблон USER. Память привязана к конкретному узлу и не сохраняется между разными разговорами. Для обработки файлов добавляйте файловые переменные в промпты для мультимодальных моделей. GPT-4V обрабатывает изображения, Claude обрабатывает PDF напрямую, тогда как другим моделям может потребоваться предварительная обработка.

Настройка распознавания изображений

При обработке изображений вы можете управлять уровнем детализации:
  • Высокая детализация — более высокая точность для сложных изображений, но расходует больше токенов
  • Низкая детализация — более быстрая обработка с меньшим числом токенов для простых изображений
Селектор переменной по умолчанию для распознавания изображений — userinput.files, который автоматически подхватывает файлы из узла пользовательского ввода.
Обработка файлов с помощью мультимодальных LLM

Обработка файлов с помощью мультимодальных LLM

Поддержка шаблонов Jinja2

Промпты LLM поддерживают шаблонизацию Jinja2 для продвинутой работы с переменными. В режиме Jinja2 (edition_type: "jinja2") вы можете:
Переменные Jinja2 обрабатываются отдельно от обычной подстановки переменных, что позволяет использовать в промптах циклы, условия и сложные преобразования данных.

Потоковый вывод

Узлы LLM по умолчанию поддерживают потоковый вывод. Каждый текстовый чанк передаётся как событие RunStreamChunkEvent, что позволяет отображать ответ в реальном времени. Файловые выводы (изображения, документы) обрабатываются и сохраняются автоматически во время стриминга.

Обработка ошибок

Настройте поведение при повторных попытках для неудачных вызовов LLM. Задайте максимальное число повторных попыток, интервалы между ними и множители экспоненциальной задержки. Определите запасные стратегии — значения по умолчанию, перенаправление при ошибке или альтернативные модели на случай, когда повторных попыток недостаточно.