Учебное пособие: Бесшовная интеграция базы знаний FastGPT в рабочий процесс n8n (на основе протокола MCP)
Общие сведения: Проблемы интеграции n8n с базой знаний RAG
n8n набирает обороты как мощный инструмент автоматизации рабочих процессов с открытым исходным кодом. Основанный в 2019 году Яном Оберхаузером, бывшим визуальным дизайнером "Пиратов Карибского моря", он призван обеспечить более гибкое и менее затратное решение для автоматизации, чем такие инструменты, как Zapier. Философия n8n - "свободная и устойчивая, открытая и прагматичная" - сосредоточена на идее автоматизации рабочего процесса посредством Визуализация и код Двойной режим, позволяющий пользователям подключать различные приложения для автоматизации сложных процессов (официальная документация: https://docs.n8n.io/). После того как пользователи освоят его, создание простых рабочих процессов с его помощью обычно происходит довольно быстро, и он поддерживает публикацию рабочих процессов в публичной сети одним щелчком мыши, что обеспечивает большое удобство.
n8n часто называют "Lego автоматизации", подчеркивая его гибкость и возможность комбинирования.
Однако в контексте растущей популярности приложений искусственного интеллекта возникла общая потребность: как эффективно интегрировать базы знаний RAG (Retrieval-Augmented Generation) в n8n? RAG - это технология, сочетающая поиск информации и генерацию текста, позволяющая большим языковым моделям ссылаться на внешние базы знаний при ответе на вопросы, обеспечивая тем самым более точные и контекстуализированные ответы. RAG - это технология, которая сочетает в себе поиск информации и генерацию текста, позволяя большим языковым моделям ссылаться на внешнюю базу знаний при ответе на вопросы, тем самым предоставляя более точные и контекстуальные ответы.
Стройте прямо в n8n RAG Базы знаний оказались довольно сложным процессом. Обычно разработчикам приходится вручную создавать два отдельных рабочих процесса: один для загрузки файлов, их векторизации и хранения в базе данных, а другой - для реализации взаимодействия с вопросами и ответами на основе RAG.
Пример: рабочий процесс загрузки файла слева, рабочий процесс вопросов и ответов RAG справа.
Даже в случае удачной сборки такое "родное" решение может оказаться неудовлетворительным с точки зрения опыта. Это натолкнуло нас на мысль: возможно ли подключить к n8n внешние зрелые решения баз знаний, такие как популярная FastGPT?
Решение: Использование протоколов FastGPT и MCP
FastGPT - это широко известная платформа для LLM-приложений с открытым исходным кодом, особенно известная своими мощными возможностями RAG и простотой использования. Недавнее обновление FastGPT (следите за его GitHub: https://github.com/labring/FastGPT) принесло интересную возможность: поддержку MCP (Meta Component Protocol).

MCP Разработанный для решения проблемы совместимости между различными приложениями и сервисами ИИ, FastGPT можно понимать как протокол "универсального сокета", который не только поддерживает доступ к другим сервисам в качестве клиента MCP, но и служит в качестве сервера MCP, раскрывая свои возможности (например, базу знаний) для других MCP-совместимых платформ.

По совпадению, n8n недавно официально поддержал протокол MCP. Это означает, что можно опубликовать возможности базы знаний FastGPT через MCP, а затем получить к ним прямой доступ как к "инструменту" в n8n. Это решение оказалось вполне осуществимым, а процесс сопряжения - достаточно гладким. Используя зрелую реализацию RAG от FastGPT, результаты работы интегрированной базы знаний Q&A часто оказываются очень хорошими.
Весь процесс работы можно свести к следующим этапам:
- Разверните среду n8n (локальную или серверную).
- Разверните или обновите FastGPT до версии, поддерживающей MCP.
- Создайте и настройте MCP-сервер в FastGPT для предоставления услуг извне.
- Доступ к этому FastGPT MCP-Server в рабочем процессе n8n.
Развертывание или обновление FastGPT
FastGPT поддерживает MCP с версии v4.9.6, и рекомендуется использовать последнюю стабильную версию (v4.9.7-fix2 на момент написания статьи). Вот введение в использование docker-compose
Способ развертывания или обновления (требуется предустановленная среда Docker).
Необходимо подготовить два следующих документа:
- Последние новости FastGPT
docker-compose.yml
Документация. - Последние новости FastGPT
config.json
Документация.
Оба файла можно получить из репозитория FastGPT на GitHub:
docker-compose-pgvector.yml
: https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.ymlconfig.json
: https://raw.githubusercontent.com/labring/FastGPT/refs/heads/main/projects/app/data/config.json
Примечание: Если у вас нет прямого доступа к GitHub, вы можете попробовать найти другой способ получить его или использовать внутренний зеркальный источник.
Следующие шаги относятся к новым развертываниям и обновлениям:
- Если вы обновляетесь, не забудьте сначала сделать резервную копию старой версии!
docker-compose.yml
и соответствующие объемы данных. - Получит самые актуальные
docker-compose.yml
ответить пениемconfig.json
Файлы помещаются в один и тот же каталог.

существовать config.json
В документе особое внимание необходимо уделить mcp.server.host
Элемент конфигурации.
- Если FastGPT и n8n развернуты в локальном окружении Docker, вы можете установить параметр
mcp.server.host
устанавливается на локальный IP-адрес машины, а порт обычно фиксируется на3005
. - Если он развернут на облачном сервере, следует установить IP-адрес или доменное имя сервера в экстрасети.
Убедившись в правильности конфигурации, откройте терминал или командную строку в каталоге файлов и выполните следующую команду:
docker-compose up -d
Если вы видите журнал, похожий на следующий рисунок, и все контейнеры работают нормально, это означает, что развертывание или обновление прошло успешно.

Совет: Если у вас возникли проблемы с извлечением образов Docker, попробуйте изменить параметр docker-compose.yml
замените адрес официального зеркала на адрес внутреннего зеркального репозитория (например, зеркало AliCloud).

Создание службы MCP в FastGPT
После успешного развертывания или обновления FastGPT зайдите в веб-интерфейс FastGPT через браузер (по умолчанию http://127.0.0.1:3000
).
Перейдите в раздел Workbench -> MCP Service -> New ServiceЗдесь можно создать MCP-сервер, чтобы показать его возможности внешнему миру. Здесь вы можете создавать MCP-серверы, которые открывают свои возможности внешнему миру.

После создания службы нажмите кнопку менеджментВы видите, что к этой службе MCP можно добавить "инструменты". Этими инструментами могут быть приложения, такие как Bot, Workflow и т. д., созданные в FastGPT.

Здесь есть ключевой момент: похоже, что невозможно напрямую добавить "базу знаний", созданную в FastGPT, в сервис MCP в качестве самостоятельного инструмента. Если бот с доступом к базе знаний будет добавлен в службу MCP в качестве инструмента, то на стороне n8n при вызове MCP может появиться контент, обработанный (например, обобщенный, переписанный) большой моделью бота, а не исходный фрагмент, полученный из базы знаний. Это может не соответствовать ожиданиям, особенно в сценариях, где требуется точное цитирование оригинального текста.
Умное обходное решение - использовать FastGPT рабочий процесс Функции. В FastGPT можно создать простой рабочий процесс, основной функцией которого является выполнение поиска по базе знаний и указание форматов ответов.
Конкретные шаги описаны ниже:
- Создайте новый рабочий процесс в FastGPT.
- Добавление только Поиск по базе знаний узлы и Назначенный ответ узлов (или других логических узлов, если это необходимо).
- настроить Поиск по базе знаний узел, выберите целевую базу знаний и задайте соответствующие параметры (например, минимальную релевантность, максимальное количество ссылок и т.д.).
- настроить Назначенный ответ узел, который решает, как вывести результаты поиска (например, напрямую вывести исходный блок текста).
- Нажмите на правый верхний угол Сохранить и опубликовать.

ВАЖНО: Название рабочего процесса рекомендуется указывать на английском языке и обязательно заполнить описание приложения. Эта информация отображается в n8n и помогает идентифицировать инструмент.

После завершения создания и публикации рабочего процесса вернитесь в Услуги MCP Интерфейс управления.
- Создайте новую службу MCP (или отредактируйте существующую).
- Добавьте только что созданный рабочий процесс, содержащий поиск по базе знаний, в качестве инструмента этой службы.

Когда вы закончите добавление, нажмите начать использовать.

Во всплывающем окне найдите SSE скопируйте указанный адрес. Этот адрес является точкой доступа для только что созданного вами MCP-сервера FastGPT.

Доступ к услугам FastGPT MCP в n8n
Теперь переключитесь на экран редактирования рабочего процесса n8n.
- Выберите подходящий узел, например. Агент искусственного интеллекта узлы в их Инструмент В разделе Конфигурация нажмите на знак плюс +.
- Найдите и добавьте официально предоставленные Инструмент клиента MCP Узлы.

- существовать Инструмент клиента MCP на экране конфигурации
- Вставьте адрес SSE, который вы скопировали ранее из FastGPT, в URL-адрес сервера Поля.
- Вы можете задать описательное имя для этого узла инструмента (например.
FastGPT Knowledge Base via MCP
) для удобства вызова агента.

После настройки вы можете проверить его в диалоговом окне чата n8n (или в других триггерах). Задайте вопрос, требующий обращения к базе знаний. Если конфигурация верна, вы увидите, что n8n успешно вызывает службу FastGPT MCP и получает соответствующую информацию из базы знаний FastGPT в качестве основы для ответа.

Как уже упоминалось ранее, база знаний RAG в FastGPT считается достаточно эффективной для легких прикладных платформ LLM.
Кроме того, вы видите, что имя и набор вводных для рабочего процесса в FastGPT отображаются в виде информации об инструменте на стороне n8n, чтобы помочь агенту понять и выбрать, какой инструмент использовать.

Расширение идей и альтернативный доступ
Доступ к базе знаний FastGPT (заключенной в рабочий процесс) для n8n через MCP - это эффективный и гибкий подход. На основе этого подхода можно также расширить его:
- Настройка FastGPT плагин (программный компонент) возможно Бот с базой знаний сам по себе упакован как сервис MCP для внешнего мира.
- Используя FastGPT's API FastGPT позволяет опубликовать созданное приложение (например, бота с базой знаний) в виде интерфейса, совместимого с форматом OpenAI API.

Этот подход к API также может быть использован для доступа к базе знаний FastGPT в n8n:
- В n8n's Агент искусственного интеллекта узел (или любой другой узел, которому нужно вызвать LLM), добавьте новый Модель чата.
- опция Модель чата, совместимая с OpenAI Тип.
- Учетные данные конфигурации:
Base URL
Введите адрес API, предоставленный FastGPT.API Key
Введите API-ключ, соответствующий приложению FastGPT.
Model Name
Его можно заполнить произвольно, и фактическая модель будет соответствовать конфигурации бота FastGPT.

Таким образом, n8n отправляет запрос на конечную точку API FastGPT, который FastGPT обрабатывает и возвращает результат. Это эквивалентно вызову бота FastGPT (и его базы знаний) как внешнего сервиса больших моделей.

Сравните подходы MCP и API:
- Метод MCP::
- Плюсы: больше соответствует понятию "инструменты" в n8n, может использоваться в сочетании с другими инструментами в Agent, более "родной"; потенциально более богатые метаданные (например, описания инструментов).
- Минусы: Относительно больше шагов для настройки (создание рабочего процесса, настройка служб MCP).
- Метод API::
- Плюсы: относительно простая настройка, нужно только получить адрес и ключ API; подходит для сценариев, в которых FastGPT используется как единый движок Q&A.
- Недостатки: в n8n она ведет себя как вызов внешней модели, а не как комбинируемый "инструмент"; конфигурация модели (например, температура, max_tokens и т. д.) может потребовать согласования на стороне n8n и на стороне FastGPT.
Разработчики могут выбрать подходящий метод интеграции в зависимости от конкретных потребностей и предпочтений.
Публикации и приложения
Независимо от того, как интегрирована база знаний FastGPT, ее легко опубликовать для внешнего использования, как только вы закончите отладку рабочего процесса n8n.
Например, с помощью Чат Сообщение При использовании в качестве триггерного узла:
- двойной щелчок Чат Сообщение Узлы.
- открывает Сделайте чат общедоступным Варианты.
- Система генерирует публичную ссылку URL-адреса чата, которую вы можете скопировать, чтобы поделиться ею.
- Не забывайте. Сохранить кроме того, Активируйте Рабочий процесс.

Эта страница публичного чата может быть доступна и использована даже в браузере мобильного устройства.

Стоит отметить, что эта публичная страница чата, предоставленная n8n, также поддерживает множество настроек, таких как установка пароля, разрешение пользователям загружать файлы и т.д.

Таким образом, n8n идеально подходит для быстрого создания прототипов продуктов MVP (Minimum Viable Product) или для создания рабочих процессов с использованием искусственного интеллекта для отдельных людей и команд, повышающих эффективность.
помимо Чат Сообщение узлов, многие из других триггерных узлов n8n (например, Webhook) также поддерживают публикацию для доступа в экстрасеть, что обеспечивает чрезвычайно высокую степень свободы. Если n8n развернута локально, доступ к экстрасети может быть обеспечен с помощью таких методов, как проникновение в интрасеть.
Заключительные мысли: ценностное предложение n8n
Часто при обсуждении подобных инструментов автоматизации с низким содержанием кода/без кода возникает вопрос: почему бы просто не реализовать их в коде? Для разработчиков, знакомых с программированием, использование кода кажется более простым и контролируемым.
Правда, такие инструменты, как n8n, имеют кривую обучения, и для начала работы может потребоваться некоторое время. Однако после освоения эффективность построения и итерации рабочих процессов часто намного превосходит эффективность традиционной разработки кода, особенно в сценариях, связанных с интеграцией нескольких API и сервисов. Сильная экосистема узлов n8n и поддержка сообщества могут удовлетворить широкий спектр потребностей в автоматизации, от простых до сложных, и позволяют быстро воплотить идеи в жизнь.
Конечно, для проектов корпоративного уровня, требующих высокой степени кастомизации, экстремальной производительности или сложной логики, разработка чистого кода по-прежнему необходима. Но для большого количества сценариев автоматизации, создания внутренних инструментов, быстрого прототипирования и других нужд n8n и подобные ему инструменты представляют собой очень эффективный и гибкий вариант. Интеграция превосходных приложений искусственного интеллекта, таких как FastGPT, через такие протоколы, как MCP, еще больше расширяет границы возможностей n8n.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...