Учебное пособие: Бесшовная интеграция базы знаний 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 справа.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)   教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

Даже в случае удачной сборки такое "родное" решение может оказаться неудовлетворительным с точки зрения опыта. Это натолкнуло нас на мысль: возможно ли подключить к n8n внешние зрелые решения баз знаний, такие как популярная FastGPT?

 

Решение: Использование протоколов FastGPT и MCP

FastGPT - это широко известная платформа для LLM-приложений с открытым исходным кодом, особенно известная своими мощными возможностями RAG и простотой использования. Недавнее обновление FastGPT (следите за его GitHub: https://github.com/labring/FastGPT) принесло интересную возможность: поддержку MCP (Meta Component Protocol).

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

По совпадению, n8n недавно официально поддержал протокол MCP. Это означает, что можно опубликовать возможности базы знаний FastGPT через MCP, а затем получить к ним прямой доступ как к "инструменту" в n8n. Это решение оказалось вполне осуществимым, а процесс сопряжения - достаточно гладким. Используя зрелую реализацию RAG от FastGPT, результаты работы интегрированной базы знаний Q&A часто оказываются очень хорошими.

Весь процесс работы можно свести к следующим этапам:

  1. Разверните среду n8n (локальную или серверную).
  2. Разверните или обновите FastGPT до версии, поддерживающей MCP.
  3. Создайте и настройте MCP-сервер в FastGPT для предоставления услуг извне.
  4. Доступ к этому FastGPT MCP-Server в рабочем процессе n8n.

 

Развертывание или обновление FastGPT

FastGPT поддерживает MCP с версии v4.9.6, и рекомендуется использовать последнюю стабильную версию (v4.9.7-fix2 на момент написания статьи). Вот введение в использование docker-compose Способ развертывания или обновления (требуется предустановленная среда Docker).

Необходимо подготовить два следующих документа:

  1. Последние новости FastGPT docker-compose.yml Документация.
  2. Последние новости FastGPT config.json Документация.

Оба файла можно получить из репозитория FastGPT на GitHub:

  • docker-compose-pgvector.yml: https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.yml
  • config.json: https://raw.githubusercontent.com/labring/FastGPT/refs/heads/main/projects/app/data/config.json

Примечание: Если у вас нет прямого доступа к GitHub, вы можете попробовать найти другой способ получить его или использовать внутренний зеркальный источник.

Следующие шаги относятся к новым развертываниям и обновлениям:

  • Если вы обновляетесь, не забудьте сначала сделать резервную копию старой версии! docker-compose.yml и соответствующие объемы данных.
  • Получит самые актуальные docker-compose.yml ответить пением config.json Файлы помещаются в один и тот же каталог.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

существовать config.json В документе особое внимание необходимо уделить mcp.server.host Элемент конфигурации.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

  • Если FastGPT и n8n развернуты в локальном окружении Docker, вы можете установить параметр mcp.server.host устанавливается на локальный IP-адрес машины, а порт обычно фиксируется на 3005.
  • Если он развернут на облачном сервере, следует установить IP-адрес или доменное имя сервера в экстрасети.

Убедившись в правильности конфигурации, откройте терминал или командную строку в каталоге файлов и выполните следующую команду:

docker-compose up -d

Если вы видите журнал, похожий на следующий рисунок, и все контейнеры работают нормально, это означает, что развертывание или обновление прошло успешно.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

 

Создание службы MCP в FastGPT

После успешного развертывания или обновления FastGPT зайдите в веб-интерфейс FastGPT через браузер (по умолчанию http://127.0.0.1:3000).

Перейдите в раздел Workbench -> MCP Service -> New ServiceЗдесь можно создать MCP-сервер, чтобы показать его возможности внешнему миру. Здесь вы можете создавать MCP-серверы, которые открывают свои возможности внешнему миру.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

Умное обходное решение - использовать FastGPT рабочий процесс Функции. В FastGPT можно создать простой рабочий процесс, основной функцией которого является выполнение поиска по базе знаний и указание форматов ответов.

Конкретные шаги описаны ниже:

  1. Создайте новый рабочий процесс в FastGPT.
  2. Добавление только Поиск по базе знаний узлы и Назначенный ответ узлов (или других логических узлов, если это необходимо).
  3. настроить Поиск по базе знаний узел, выберите целевую базу знаний и задайте соответствующие параметры (например, минимальную релевантность, максимальное количество ссылок и т.д.).
  4. настроить Назначенный ответ узел, который решает, как вывести результаты поиска (например, напрямую вывести исходный блок текста).
  5. Нажмите на правый верхний угол Сохранить и опубликовать.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

После завершения создания и публикации рабочего процесса вернитесь в Услуги MCP Интерфейс управления.

  1. Создайте новую службу MCP (или отредактируйте существующую).
  2. Добавьте только что созданный рабочий процесс, содержащий поиск по базе знаний, в качестве инструмента этой службы.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

 

Доступ к услугам FastGPT MCP в n8n

Теперь переключитесь на экран редактирования рабочего процесса n8n.

  1. Выберите подходящий узел, например. Агент искусственного интеллекта узлы в их Инструмент В разделе Конфигурация нажмите на знак плюс +.
  2. Найдите и добавьте официально предоставленные Инструмент клиента MCP Узлы.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
  1. существовать Инструмент клиента MCP на экране конфигурации
    • Вставьте адрес SSE, который вы скопировали ранее из FastGPT, в URL-адрес сервера Поля.
    • Вы можете задать описательное имя для этого узла инструмента (например. FastGPT Knowledge Base via MCP) для удобства вызова агента.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

 

Расширение идей и альтернативный доступ

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

  • Настройка FastGPT плагин (программный компонент) возможно Бот с базой знаний сам по себе упакован как сервис MCP для внешнего мира.
  • Используя FastGPT's API FastGPT позволяет опубликовать созданное приложение (например, бота с базой знаний) в виде интерфейса, совместимого с форматом OpenAI API.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

Этот подход к API также может быть использован для доступа к базе знаний FastGPT в n8n:

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

  1. Model Name Его можно заполнить произвольно, и фактическая модель будет соответствовать конфигурации бота FastGPT.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

Сравните подходы MCP и API:

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

Разработчики могут выбрать подходящий метод интеграции в зависимости от конкретных потребностей и предпочтений.

 

Публикации и приложения

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

Например, с помощью Чат Сообщение При использовании в качестве триггерного узла:

  1. двойной щелчок Чат Сообщение Узлы.
    教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
  2. открывает Сделайте чат общедоступным Варианты.
    教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
  3. Система генерирует публичную ссылку URL-адреса чата, которую вы можете скопировать, чтобы поделиться ею.
  4. Не забывайте. Сохранить кроме того, Активируйте Рабочий процесс.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

Таким образом, n8n идеально подходит для быстрого создания прототипов продуктов MVP (Minimum Viable Product) или для создания рабочих процессов с использованием искусственного интеллекта для отдельных людей и команд, повышающих эффективность.

помимо Чат Сообщение узлов, многие из других триггерных узлов n8n (например, Webhook) также поддерживают публикацию для доступа в экстрасеть, что обеспечивает чрезвычайно высокую степень свободы. Если n8n развернута локально, доступ к экстрасети может быть обеспечен с помощью таких методов, как проникновение в интрасеть.

 

Заключительные мысли: ценностное предложение n8n

Часто при обсуждении подобных инструментов автоматизации с низким содержанием кода/без кода возникает вопрос: почему бы просто не реализовать их в коде? Для разработчиков, знакомых с программированием, использование кода кажется более простым и контролируемым.

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

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

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...