Что такое Flowise?
Flowise — open-source платформа для визуального построения LLM-приложений. Использует концепцию узлов и соединений (как LangFlow), но проще в настройке и имеет большую библиотеку готовых компонентов.
Установка через npm
npm install -g flowise
flowise start --PORT=3000 --HOST=0.0.0.0Установка через Docker
docker run -d \
--name flowise \
-p 3000:3000 \
-v flowise:/root/.flowise \
--restart always \
flowiseai/flowiseПодключение Ollama в Flowise
- Откройте Flowise:
http://IP:3000 - Создайте новый Chatflow
- Перетащите узел ChatOllama
- Укажите Base URL:
http://host.docker.internal:11434 - Выберите модель из списка (llama3.2, mistral и т.д.)
Готовые шаблоны
- Conversational Chain — базовый чат-бот с памятью
- QA Retrieval Chain — вопрос-ответ по документам
- ReAct Agent — агент с инструментами
- SQL Database Chain — работа с базами данных
Настройка авторизации
flowise start \
--USERNAME=admin \
--PASSWORD=securepassword \
--PORT=3000Частые ошибки при настройке
ChatOllama не видит модель
При обращении к узлу появляется ошибка вида:
Error: model "llama3.2" not found, try pulling it firstFlowise не скачивает модели сам — он лишь обращается к уже запущенному Ollama по указанному Base URL. Модель нужно заранее загрузить командой ollama pull llama3.2 на той машине, куда смотрит Base URL.
Flowise в контейнере не достучаться до Ollama на хосте
connect ECONNREFUSED 127.0.0.1:11434Причина та же, что и в других контейнеризированных сценариях: localhost внутри контейнера — это сам контейнер. Замените адрес на http://host.docker.internal:11434 или запустите Flowise с --network=host — тогда контейнер использует сетевой стек хоста напрямую.
После рестарта контейнера пропали все Chatflow
Настроенные потоки исчезают при пересоздании контейнера, если volume не был примонтирован явно. Проверьте, что в команде запуска указан -v flowise:/root/.flowise — без этого состояние живёт только внутри контейнера и теряется при его удалении.
CORS-ошибка при вызове API снаружи браузера
Access to fetch at 'http://IP:3000/api/v1/prediction/...' has been blocked by CORS policyFlowise по умолчанию ограничивает источники запросов к своему API. Если фронтенд на другом домене должен обращаться к потоку напрямую, задайте переменную окружения CORS_ORIGINS со списком разрешённых доменов при запуске контейнера. Без этого браузер будет молча блокировать запрос ещё до того, как он дойдёт до сервера, а в консоли разработчика будет видна только сетевая ошибка без деталей от самого Flowise.
Flowise, n8n и LangFlow: что выбрать
Все три инструмента строят LLM-пайплайны визуально, но расходятся в том, для какого масштаба и команды они удобнее.
| Критерий | Flowise | n8n | LangFlow |
|---|---|---|---|
| Фокус | LLM-пайплайны и RAG | Общая автоматизация | LLM-пайплайны |
| Библиотека готовых компонентов | Большая | Средняя (для AI) | Средняя |
| Порог входа | Низкий | Низкий | Средний |
| Готовые интеграции вне AI-задач | Минимальные | Сотни сервисов | Минимальные |
Когда Flowise не подходит
Визуальный редактор упрощает сборку RAG и агентов, но не заменяет полноценную платформу автоматизации или язык программирования там, где они нужны по сути задачи. Границу стоит проводить по сложности логики, а не по личным предпочтениям в инструменте.
- Нужна интеграция с десятками внешних сервисов (CRM, таск-трекеры, почта) — для этого у n8n готовых нод сильно больше
- Логику агента нужно версионировать и тестировать как обычный код — визуальный граф плохо ложится в CI
- Команда пишет на Python и хочет полный контроль над промптами и цепочками — проще взять LangChain напрямую
- Проект должен работать без единой точки отказа в виде UI-сервера — для простого API дешевле собственный FastAPI-сервис
- Нужна версионируемая история изменений потока с откатом — git по JSON-экспорту потока читается плохо
Проверка результата
После сборки потока стоит проверить его так же, как проверяли бы обычный API-эндпоинт.
- Откройте Chatflow и отправьте тестовое сообщение через встроенный чат-виджет
- Проверьте вкладку с логами узла ChatOllama — там видно, какой промпт ушёл модели и что она вернула
- Убедитесь, что после перезапуска контейнера Chatflow и API-ключи сохранились
- Проверьте API-эндпоинт потока напрямую
- Отправьте запрос с домена фронтенда и убедитесь, что CORS не блокирует вызов
curl -X POST http://IP:3000/api/v1/prediction/<flow-id> \
-H "Content-Type: application/json" \
-d '{"question": "Привет"}'По теме: no-code автоматизация с AI — n8n на VDS, свой код на Python — LangChain на VDS, локальный backend для моделей — Ollama на VDS.