← Все гайды AI Release
EN Подписаться на @ai_release1

Как подключить n8n к локальной языковой модели: пошаговая настройка приватной автоматизации через Ollama

Обновлено: 23.10.2026 · AI Release · @ai_release1
Как подключить n8n к локальной языковой модели: пошаговая настройка приватной автоматизации через Ollama

TL;DR

- Ollama с загруженной локальной моделью (актуальный тег и размер сверьте в каталоге моделей Ollama)

- n8n: self-hosted через npx n8n или в Docker

- curl для проверки HTTP-API

- Свободные порты: 11434 (Ollama), 5678 (n8n по умолчанию)

- Запас ОЗУ/VRAM под выбранную модель

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Шаг 1. Установка Ollama и загрузка модели

Что сделать: поставить Ollama, убедиться, что HTTP-API отвечает, скачать одну модель.

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

Зачем: Ollama — локальный рантайм (программа, которая держит модель в памяти и отдаёт её по HTTP). После установки она поднимает сервис на 127.0.0.1:11434, и n8n общается с моделью обычными HTTP-запросами, без облака и ключей.

Как проверить: сервис жив и отдаёт список моделей.

curl -s http://localhost:11434/api/tags

Ожидаемый вывод на чистой установке:

{"models":[]}

Пример: загрузка модели и проверка списка.

ollama pull llama3.1
ollama list

ollama list печатает таблицу с колонками NAME, ID, SIZE, MODIFIED. Например, строка вида:

NAME               ID              SIZE      MODIFIED
llama3.1:latest    <id>            <размер>  <дата>

Значения <id>, <размер>, <дата> у вас будут свои — тег llama3.1 взят как пример, актуальное имя и размер сверьте в каталоге моделей Ollama.

Как проверить генерацию:

ollama run llama3.1 "Ответь одним словом: работает?"

На экране появится короткий ответ (например, Работает), после чего вернётся приглашение ввода — модель отвечает, память хватает.

Шаг 2. Подключение n8n к Ollama

Иллюстрация к разделу «Шаг 2. Подключение n8n к Ollama»
Иллюстрация к разделу «Шаг 2. Подключение n8n к Ollama»

Что сделать: запустить n8n, создать credential (сохранённые учётные данные подключения) типа Ollama с правильным Base URL и собрать минимальный workflow (рабочий поток из узлов).

Зачем: n8n не «встраивает» модель, а вызывает её HTTP-эндпоинт. Всё, что нужно, — указать адрес, по которому n8n дотянется до Ollama.

Вариант A — n8n на хосте:

npx n8n

Вариант B — n8n в Docker. Сохраните docker-compose.yml:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    extra_hosts:
      - "host.docker.internal:host-gateway"
volumes:
  n8n_data:

Запуск: docker compose up -d.

Зачем нужен extra_hosts: строка host.docker.internal:host-gateway создаёт внутри контейнера имя, указывающее на хост-машину. Без неё localhost внутри контейнера — это сам контейнер, где Ollama нет.

Как проверить, что n8n поднялся:

curl -s http://localhost:5678/healthz

Ожидаемо: {"status":"ok"}. Откройте http://localhost:5678 — должен появиться интерфейс n8n.

Дальше в интерфейсе:

1. Credentials → Add credential → в поиске Ollama.

2. В поле Base URL укажите:

- http://localhost:11434 — если n8n запущен на хосте;

- http://host.docker.internal:11434 — если n8n в Docker.

3. Сохраните. n8n выполнит проверку соединения — успехом считается отсутствие красной ошибки и подтверждение подключения (точную формулировку интерфейса сверьте с вашей версией n8n).

Пример проверки до похода в UI — Ollama отдаёт OpenAI-совместимый эндпоинт:

curl -s http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"llama3.1","messages":[{"role":"user","content":"Ответь одним словом: работает?"}]}'

В ответе будет JSON с полем choices[0].message.content. Если этот запрос проходит, а credential в n8n — нет, проблема в адресе (см. раздел про ошибки).

Сборка workflow: добавьте узел-триггер (например, Chat Trigger или Manual Trigger), затем узел Ollama Chat Model и свяжите его с Basic LLM Chain либо с агентом. В узле модели выберите созданный credential и ту же модель, что загружали через ollama pull.

Шаг 3. Проверка работы и финальный результат

Иллюстрация к разделу «Шаг 3. Проверка работы и финальный результат»
Иллюстрация к разделу «Шаг 3. Проверка работы и финальный результат»

Что сделать: прогнать workflow вручную и убедиться, что ответ пришёл от локальной модели.

Зачем: это end-to-end проверка всей цепочки: браузер → n8n → HTTP → Ollama → модель → обратно.

Как проверить: нажмите Execute workflow и отправьте тестовое сообщение, например Сколько будет 2+2?. В панели результата узла появится JSON с ответом модели (поле с текстом ответа зависит от типа узла — сверьтесь с выводом на экране). В списке executions (Executions в левом меню) запуск должен иметь статус Success.

Пример проверки структурированного ответа — попросите модель вернуть JSON, это часто нужно для автоматизации:

curl -s http://localhost:11434/api/chat -d '{
  "model": "llama3.1",
  "stream": false,
  "format": "json",
  "messages": [{"role": "user", "content": "Верни JSON вида {\"status\":\"ok\"}"}]
}'

Параметр format: "json" заставляет модель вернуть валидный JSON — его можно сразу разбирать следующим узлом n8n.

Финальный чек-лист:

Тот же стек (локальная модель + n8n-подобная автоматизация) разбирается в гайде Как собрать ИИ-помощника для интернет-магазина на локальной модели — полезно, когда базовая связка уже работает.

Возможные проблемы и решения

Проблема. n8n в Docker не видит Ollama

  docker compose exec n8n curl -s http://host.docker.internal:11434/api/tags

Проблема. Модель не найдена при запуске workflow

Проблема. Модель падает при загрузке

Резюме и следующие шаги

Связка работает, когда ollama list показывает модель, curl http://localhost:11434/api/tags отвечает JSON, а credential в n8n сохраняется без ошибки соединения. Дальше добавляйте в workflow узлы обработки (парсинг JSON, запись в базу, отправка в мессенджер) и проверяйте каждый шаг отдельным запуском.

FAQ

Можно ли подключить n8n Cloud к Ollama на моём компьютере?

По умолчанию нет: n8n Cloud работает на своих серверах и не имеет доступа к вашему localhost. Нужен либо self-hosted n8n рядом с Ollama, либо публикация эндпоинта через туннель с защитой — конкретные требования сверьте с документацией n8n.

Нужен ли API-ключ для Ollama?

Нет, локальный сервис на 127.0.0.1:11434 по умолчанию отвечает без авторизации. Если вы выставляете порт наружу, закройте его прокси с аутентификацией и файрволом.

Какая модель подойдёт для машины с небольшим объёмом памяти?

Зависит от размера и квантизации: чем сильнее сжатие, тем меньше памяти нужно и тем ниже качество. Ориентируйтесь на таблицу RAM/VRAM по ссылке выше, а точный размер конкретного тега смотрите в ollama list.

Обязательно ли использовать узел Ollama, или хватит OpenAI-совместимого?

Ollama отдаёт эндпоинт /v1/chat/completions, поэтому подойдёт и credential/узел OpenAI-типа с Base URL на ваш локальный адрес. Если позже понадобится облачная модель, схема выдачи доступа разобрана в гайде Как подключить модели OpenAI через Google Cloud.

🤖 Кратко для ИИ