# Langflow и Ollama: локальный агентный flow с проверкой инструмента

Источник: https://modelium.tech/zhurnal/langflow-ollama-lokalno/

Langflow позволяет подать локальную модель Ollama на вход Agent и подключить к нему инструмент, например Calculator. Соберите небольшой flow, затем в Playground проверьте не только ответ, но и запись о вызове инструмента с его результатом. Возможность вызова зависит от выбранной модели и конфигурации; без реального trace нельзя считать агентную связку рабочей или полностью офлайн.

**Проверено по официальной документации 3 октября 2026 года.** Интерфейс Langflow в источниках относится к ветке 1.12.x. Ниже — сценарий для собственного теста, а не сообщение о запуске Modelium [s1](#src-s1) [s2](#src-s2) [s5](#src-s5).

## Какой результат считать успешным?

Соберите короткий маршрут **Chat Input → Agent → Chat Output**, подключите к Agent локальную модель Ollama и один безвредный Calculator. В Playground задайте простой вопрос на сложение. Успех — не только правильное число в ответе, но и фактическая запись о выборе Calculator, переданных аргументах и результате инструмента. Бывает, что модель пишет правдоподобный ответ без вызова; такой ответ не доказывает работоспособность агентной функции. Langflow показывает инструменты и их вывод в Playground, а официальный Simple Agent уже содержит Calculator как учебный инструмент [s6](#src-s6) [s4](#src-s4).

Это полезный первый шаг для локального помощника, которому затем можно разрешить чтение безопасных данных, но демонстрационное сложение не подтверждает доступ к корпоративной системе, корректность других действий и сетевую изоляцию. В Ollama вызов функции и её фактическое исполнение с передачей результата — разные шаги протокола [s7](#src-s7).

## Что подготовить для локального пилота?

Понадобятся работающий сервер Ollama, локально доступный тег модели с поддержкой tool calling и отдельный экземпляр Langflow. Запишите версии Ollama и Langflow, точный тег модели и адрес, доступный **из процесса Langflow**. Проверьте ответ Ollama на `GET /api/tags`; endpoint перечисляет локальные модели, но не означает, что выбранный тег уже загружен в память или умеет вызывать инструмент через конкретную интеграцию [s8](#src-s8) [s1](#src-s1) [s7](#src-s7). Подбор модели под железо и её фактическое размещение — отдельная проверка, а размер файла весов не является минимумом RAM/VRAM.

Для установки Langflow используйте официальный сценарий Docker/Compose с фиксированной версией образа, паролем администратора и постоянным хранилищем, если хотите сохранить flow после перезапуска. Документация различает быстрый контейнерный запуск и Compose с PostgreSQL и томами; её образ `latest` не фиксирует версию, поэтому в воспроизводимом пилоте записывайте тег образа. Локальный UI описан на порту 7860, но не выставляйте административный интерфейс в интернет ради пробы. Настройка Docker и пароль Langflow не заменяют правила сети или проверку исходящих соединений [s5](#src-s5).

Если Ollama и Langflow работают в разных контейнерах, `127.0.0.1` означает адрес **своего** контейнера, не второго. Укажите в Ollama-компоненте достижимый из Langflow Base URL Ollama; документация Langflow приводит `http://127.0.0.1:11434` как значение по умолчанию, подходящее лишь тогда, когда это действительно адрес нужного сервера из той же сетевой среды. Проверяйте путь из среды исполнения и ограничивайте его локальной сетью стенда; не открывайте API без необходимости [s1](#src-s1).

## Как связать Ollama и Agent в Langflow?

Создайте новый flow; для ориентира можно открыть шаблон **Simple Agent** с Chat Input, Agent, Chat Output и Calculator. В документации quickstart агенту выбирают провайдера из настроенных моделей; Ollama упомянута как провайдер для локального либо удалённого экземпляра. Альтернатива — добавить отдельный компонент **Ollama** и соединить именно его выход **Language Model** (не текстовый Model Response) с входом **Language Model** Agent. Компонент Ollama позволяет задать Base URL и выбрать модель из списка после соединения с сервером [s6](#src-s6) [s1](#src-s1).

Соедините **Tool**-выход Calculator с **Tools**-входом Agent. Если у другого безопасного компонента нет Tool-выхода, проверьте переключатель **Tool Mode** и список разрешённых действий. Не подключайте URL, shell, файловую запись или внешние API только ради демонстрации: набор инструментов задаёт границу возможных действий, а модель решает, когда вызвать доступный инструмент. Langflow разрешает отключать лишние действия и включать подтверждение для выбранного инструмента перед его исполнением [s2](#src-s2) [s3](#src-s3).

Если модель отсутствует в списке, сначала сверьте Base URL и результат `/api/tags` из подходящей сетевой среды. Если flow отвечает на обычное приветствие, но не вызывает Calculator, это ещё не «работающий агент»: проверьте точный тег, поддержку tool calling, связь Tools и выбор языка модели; затем повторите испытание на сохранённом тестовом вопросе [s1](#src-s1) [s8](#src-s8) [s7](#src-s7) [s2](#src-s2).

## Как проверить реальный вызов, а не догадку модели?

Откройте **Playground** и спросите: «Вызови Calculator для 4 + 4 и покажи полученное значение». При успешном выполнении ожидается число **8**; но отдельно откройте вывод инструмента в Playground и проверьте, что он действительно был вызван и вернул это значение. Документация Langflow прямо предлагает вопрос такого типа для Calculator и показывает agent steps; Playground отображает использованные инструменты и их outputs [s6](#src-s6) [s4](#src-s4). Если инструмента в истории нет, зафиксируйте отрицательный результат, даже если итоговый текст верен.

Повторите с другим вводом и сохраните: версию обоих сервисов, тег модели, скриншот или экспорт flow, текст вопроса, trace инструмента и финальный ответ. Для инструментов, меняющих данные, отдельно проверьте отказ или паузу перед действием: в Langflow можно включить **Requires approval**, и тогда человек принимает или отклоняет вызов в Playground [s2](#src-s2). Это предложенный протокол проверки, а не собственный замер Modelium. Для корпоративных пилотов не используйте реальные пароли и документы на демонстрационном стенде.

## Когда такой flow не подходит?

Если нужен исключительно ответ на текст, отдельный Agent и инструмент могут быть лишней сложностью: локальную модель можно использовать без tools. Если модель не выдаёт tool call, не заменяйте след выполнения промптом «скажи, что ты использовал инструмент». Возможности Ollama API и фактическая работа Langflow с выбранной моделью проверяются раздельно [s7](#src-s7) [s1](#src-s1) [s4](#src-s4).

Локальный Base URL означает место одного компонента, а не доказательство закрытого контура всей системы. Экспорт flow, безопасность учётных записей, зависимости контейнеров и любые разрешённые URL-инструменты требуют самостоятельной оценки. До внедрения на данных компании пройдите [проверку офлайн-контура](/zhurnal/proverka-offline-kontura-ii/) и оставьте инструментам минимальные права. Modelium не запускал этот flow, не проверял реальный вызов и не измерял требования к памяти или качество модели.

**Следующий шаг:** после наблюдаемого trace вызова соберите маленький набор вопросов, ожидаемых действий и отказов и используйте [протокол оценки результатов](/zhurnal/ocenka-kachestva-rag/) только для части, где агент действительно ищет по документам. Точность ответа и факт исполнения инструмента оцениваются отдельно [s4](#src-s4) [s2](#src-s2).

## Источники

1. [Langflow — Ollama bundle и выход Language Model](https://docs.langflow.org/bundles-ollama) — получено 2026-10-03
2. [Langflow — настройка инструментов агента и подтверждение действий](https://docs.langflow.org/agents-tools) — получено 2026-10-03
3. [Langflow — компонент Agent и вход Tools](https://docs.langflow.org/components-agents) — получено 2026-10-03
4. [Langflow — проверка agent logic в Playground](https://docs.langflow.org/concepts-playground) — получено 2026-10-03
5. [Langflow — официальный Docker/Compose и постоянное хранение](https://docs.langflow.org/deployment-docker) — получено 2026-10-03
6. [Langflow — Simple Agent, Calculator и выбор провайдера](https://docs.langflow.org/get-started-quickstart) — получено 2026-10-03
7. [Ollama — tool calling и возврат результата инструмента](https://docs.ollama.com/capabilities/tool-calling) — получено 2026-10-03
8. [Ollama — GET /api/tags, список моделей](https://docs.ollama.com/api/tags) — получено 2026-10-03
