№4. Как подключить внешнее API к ИИ-агенту

1. Введение

В предыдущих гайдах мы собрали RAG-агента с памятью и базой знаний в Supabase. Агент умеет отвечать на вопросы из загруженных документов. Но у него есть принципиальное ограничение: он знает только то, что уже загружено. Реальные данные — температура за окном — ему недоступны.

 

В этом гайде мы исправим это: добавим к агенту новый инструмент (tool) для получения актуальной погоды. Агент будет сам решать — обратиться к базе знаний или запросить свежие данные из интернета.

 

Что найдёте в этой инструкции:

  • Как работает механизм tools в агентах Нейро42
  • Как добавить ноду HTTP Request Tool и правильно её настроить
  • Как подключить бесплатное API погоды (open-meteo.com) без регистрации
  • Как написать описание tool так, чтобы агент понимал когда его использовать
  • Как протестировать агента с новым инструментом

 

💡 Совет:  Принцип, который вы освоите в этом гайде, масштабируется бесконечно: любой сервис с HTTP API становится инструментом вашего агента. Достаточно добавить ноду и написать правильное описание.

 

2. Как это работает

Инструменты агента (Tools)

В агентах Нейро42 есть особый тип подключения — tool (инструмент). Когда вы подключаете ноду к агенту как tool, агент получает описание этого инструмента и сам решает когда его использовать.

 

Это принципиально отличается от обычной цепочки нод:

 

Обычная нода в цепочке (main) Нода как инструмент агента (tool)
Выполняется всегда при запуске воркфлоу Вызывается агентом только когда нужно
Агент не управляет вызовом Агент сам решает вызвать или нет
Подходит для фиксированных шагов Подходит для ситуативных запросов

 

Как агент выбирает нужный инструмент

Каждый tool имеет текстовое описание (поле Description). Когда пользователь задаёт вопрос, агент читает описания всех доступных инструментов и принимает решение — похоже на то, как менеджер читает должностные инструкции своих сотрудников, прежде чем делегировать задачу.

 

💡 Совет:  Именно поэтому Description — самое важное поле. Чем точнее вы опишете когда использовать инструмент — тем умнее будет вести себя агент.

 

В конце этого гайда у агента будет 2 инструмента:

 

Инструмент Когда вызывается
Supabase Vector Store Вопросы из базы знаний (документы, вебинары)
HTTP Request Tool — Погода Вопросы про погоду в любом городе

 

3. Что понадобится

Что нужно Зачем
Готовый воркфлоу с агентом (Гайды 1–3) Добавляем новый инструмент к существующему агенту
Нода HTTP Request Tool (встроена в Нейро42) Подключается к агенту как tool. Устанавливать ничего не нужно.
API open-meteo.com Бесплатная погода без ключа и регистрации

 

Об API который мы используем

open-meteo.com — профессиональное метеорологическое API с открытым доступом. Использует данные национальных метеослужб (Германия, США, Великобритания). Запрос принимает координаты (широту и долготу) — агент на базе GPT знает координаты большинства городов мира и подставит их автоматически.

Пример запроса: https://api.open-meteo.com/v1/forecast?latitude=55.75&longitude=37.62&current=temperature_2m,wind_speed_10m

 

4. Основные шаги

Часть 1: Открываем воркфлоу и готовимся

Шаг 1. Откройте воркфлоу с агентом

Зайдите в Нейро42 и откройте воркфлоу из предыдущих гайдов. На холсте должны быть девять нод:

  • When chat message received (Chat Trigger)
  • AI Agent
  • OpenAI Chat Model
  • Simple Memory
  • Supabase Vector Store — режим retrieve-as-tool (чтение из базы знаний)
  • Supabase Vector Store — режим insert (загрузка документов)
  • Download File (Google Drive)
  • Embeddings OpenAI
  • Default Data Loader

💡 Совет:  Перед добавлением новых нод убедитесь, что воркфлоу сохранён и работает. Задайте тестовый вопрос из базы знаний — агент должен ответить корректно.

 

✅  Часть 1 завершена. Воркфлоу открыт и готов к работе.

 

Часть 2: Добавляем инструмент погоды

Шаг 2. Добавьте ноду HTTP Request Tool через агента

В Нейро42 инструменты агента удобнее добавлять прямо из самой ноды AI Agent — нода сразу подключится в нужный тип соединения.

  • Кликните на ноду AI Agent, чтобы выделить её
  • В нижней части ноды найдите секцию «Tools» и нажмите «+» рядом с ней
  • Откроется панель поиска нод — введите: HTTP Request Tool
  • Выберите ноду «HTTP Request Tool» из результатов
  • Нода автоматически появится на холсте и сразу подключится к агенту как tool

 

⚠️ Важно:  Убедитесь, что ищете именно «HTTP Request Tool», а не обычный «HTTP Request». Это разные ноды: обычный — для main-цепочек, Tool-версия — только для подключения к агентам.

 

Шаг 3. Переименуйте ноду

Дайте ноде понятное имя — это поможет не запутаться в схеме.

  • Дважды кликните по заголовку ноды (или нажмите правую кнопку → Rename)
  • Введите: Погода (Weather API)
  • Нажмите Enter

Шаг 4. Откройте настройки ноды и заполните Description

Найдите поле «Description» и вставьте текст:

Используй этот инструмент, когда пользователь спрашивает про погоду, температуру, осадки или климатические условия в каком-либо городе или регионе. Передай широту (latitude) и долготу (longitude) запрашиваемого места.

💡 Совет:  Именно поэтому Description — самое важное поле. Чем точнее вы опишете когда использовать инструмент — тем умнее будет вести себя агент.

 

Шаг 5. Сформируйте URL на сайте open-meteo.com и вставьте в ноду

open-meteo.com предоставляет удобный визуальный конструктор запросов. Не нужно вручную добавлять параметры — просто настраиваете нужные галочки на сайте и копируете готовую ссылку.

  • Откройте в браузере: https://open-meteo.com/en/docs
  • В разделе «Current Weather» поставьте галочку «Temperature (2m)»
  • Также отметьте «Wind Speed (10m)» и «Weather code»

 

В самом низу страницы появится готовый URL. Скопируйте его — он будет выглядеть примерно так:

https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m

 

Теперь замените статические координаты на динамические значения $fromAI. Вставьте в поле URL ноды готовый адрес в таком виде:

 

Поле Значение
Method GET
URL https://api.open-meteo.com/v1/forecast?latitude={{ $fromAI(‘latitude’,’Широта’) }}&longitude={{ $fromAI(‘longitude’,’Долгота’) }}&current=temperature_2m,wind_speed_10m

💡 Совет:  $fromAI(‘latitude’, …) — это инструкция агенту подставить сюда нужное значение. Агент на базе GPT знает координаты большинства крупных городов мира и определит их автоматически из вопроса пользователя.

Либо выберите город или страну в списке

 

 

✅  Нода погоды настроена. Закройте панель настроек.

 

Часть 3: Настраиваем System Message агента

Теперь агент знает о новом инструменте, но нужно сказать ему как себя вести — дать роль и объяснить что он умеет. Для этого используется System Message.

 

Шаг 6. Откройте настройки AI Agent и добавьте System Message

  • Кликните дважды по ноде AI Agent, чтобы открыть её настройки
  • Найдите кнопку «Add Option» (обычно внизу панели настроек)
  • В выпадающем меню выберите «System Message»
  • Появится текстовое поле — вставьте в него текст:

Ты полезный ассистент. Ты можешь отвечать на вопросы из базы данных о вебинарах, а также получать актуальную информацию о погоде с помощью инструмента Weather API. Если пользователь спрашивает про погоду — используй инструмент Weather API. Если вопрос касается вебинара или материалов из базы знаний — обращайся к Supabase. На остальные вопросы отвечай напрямую.

💡 Совет:  System Message — это инструкция, которую агент читает перед каждым разговором. Чем точнее вы опишете роль и доступные инструменты — тем предсказуемее будет поведение агента.

 

✅  System Message добавлен. Сохраните воркфлоу: Ctrl+S (Cmd+S на Mac).

 

Часть 4: Проверяем итоговую схему

Шаг 7. Убедитесь, что всё подключено

Поскольку мы добавляли ноду прямо через «+» в секции Tools агента, соединение уже установлено автоматически. Просто проверьте, что всё на месте.

Кликните на ноду AI Agent — в секции Tools должны быть:

 

Нода Тип подключения к AI Agent
OpenAI Chat Model ai_languageModel (языковая модель)
Simple Memory ai_memory (память диалога)
Supabase Vector Store ai_tool (база знаний)
Погода (Weather API) ai_tool (инструмент — погода) ← новое

✅  Всё подключено. 

Часть 5: Тестируем агента

Шаг 8. Откройте тестовый чат и проверьте погоду

Нажмите кнопку «Открыть чат» в правом нижнем углу или откройте публичную ссылку чата. Напишите в чат:

Какая сейчас погода в Москве?

Агент должен вызвать ноду «Погода (Weather API)», автоматически определить координаты Москвы (55.75, 37.62), сделать запрос к open-meteo и вернуть текущую температуру и условия погоды.

Шаг 9. Проверьте, что агент выбирает нужный инструмент

Задайте несколько разных вопросов — убедитесь, что агент переключается корректно:

 

Вопрос в чат Ожидаемое поведение агента
Какая погода в Москве? Вызывает Weather API, возвращает температуру
Расскажи про вебинар по ИИ Обращается к Supabase (базе знаний)
Привет! Отвечает напрямую, не вызывает никаких tools

✅  Агент работает корректно, если погодный запрос идёт через API, а вопрос по вебинару — из базы знаний.

 

🎉  Отличная работа! Агент умеет работать с реальными данными из интернета!

 

Итого агент умеет:

  • Отвечать на вопросы из базы знаний (Supabase RAG)
  • Получать актуальные данные о погоде из любой точки мира
  • Хранить контекст диалога в памяти
  • Самостоятельно выбирать — база знаний или внешний API

 

5. Бонус: Три способа поставить HTTP Request в воркфлоу

В этом гайде мы подключили HTTP Request как tool — и это один из трёх возможных способов. В Нейро42 нода HTTP Request может стоять в разных местах цепочки, и каждый способ решает свою задачу.

 

Позиция Когда выполняется Для чего использовать
1. До агента (в начале цепочки) Каждый раз при любом сообщении пользователя — автоматически Всегда вставлять свежие данные в контекст (курс валют, погода по умолчанию)
2. Как tool агента (что мы делали) Только когда агент сам решает, что ему нужны эти данные Данные нужны не всегда, а только по запросу
3. После агента (в конце цепочки) После того как агент сформулировал ответ — всегда, автоматически Отправить результат куда-то ещё: в Telegram, CRM, Google Sheets

 

Позиция 1 — До агента: данные всегда в контексте

Если поставить HTTP Request до ноды AI Agent и соединить через обычное main-соединение — запрос будет выполняться при каждом сообщении пользователя, автоматически, без каких-либо условий. Результат попадает в поток данных и агент получает его как часть входящей информации.

Chat Trigger  →  HTTP Request  →  AI Agent

⚠️ Важно:  Минус этого подхода: запрос к API будет делаться при КАЖДОМ сообщении, даже если пользователь просто написал «привет». Если API платный или с лимитами — используйте этот вариант осторожно.

 

Позиция 2 — Как tool: данные по запросу (что мы уже сделали)

Это именно то, что мы настраивали в этом гайде. Нода подключена к агенту через tool-соединение. Агент читает описание инструмента и вызывает его только когда считает нужным.

Chat Trigger  →  AI Agent  ⇢  HTTP Request Tool

 

💡 Совет:  Это самый гибкий вариант — агент сам оптимизирует количество запросов к API. Используйте для большинства случаев.

 

Позиция 3 — После агента: отправить результат куда-то ещё

HTTP Request после AI Agent используется не для получения данных, а для отправки. Агент сформировал ответ — и этот ответ нужно куда-то передать: в Telegram, в базу данных, в CRM, в Google Sheets через webhook.

Chat Trigger  →  AI Agent  →  HTTP Request

💡 Совет:  Запомните простое правило: если данные нужны ВСЕГДА — ставьте до агента. Если ИНОГДА — подключайте как tool. Если нужно что-то ОТПРАВИТЬ — ставьте после.

 

6. Что делать, если не работает

Проблема Решение
Агент не вызывает Weather API Улучшите Description — добавьте примеры: «в том числе если пользователь спрашивает «тепло ли сейчас в…» или «какая температура в…»»
Ошибка при запросе к open-meteo Проверьте URL в браузере: api.open-meteo.com/v1/forecast?latitude=55.75&longitude=37.62&current=temperature_2m — если открывается, проблема в настройках ноды
Агент вызывает tool, но даёт странный ответ Агент получил сырой JSON. Добавьте в Description: «Из полученного JSON извлеки нужные данные и объясни ответ пользователю понятным языком».
Нода не видна в секции Tools агента Попробуйте удалить ноду и добавить заново через «+» в секции Tools на ноде AI Agent.

 

7. Что делать дальше

Принцип, который вы освоили в этом гайде, масштабируется бесконечно: любой сервис с HTTP API становится инструментом вашего агента. Вот что попробовать дальше — другие бесплатные API без ключей:

 

Что добавить API
Информация о стране restcountries.com/v3.1/name/{country}
Случайный факт на английском uselessfacts.jsph.pl/api/json/v1/today
Курс криптовалют api.coinbase.com/v2/prices/BTC-USD/spot

 

Предупреждение о применении иностранного языка

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

Техническая документация не является информацией для широкого круга потребителей. Документация предназначена исключительно для специализированных целей и рассчитана на аудиторию профессионалов, обладающих соответствующей квалификацией и знанием отраслевых стандартов и терминологии. Использование иностранной лексики согласуется с положениями действующего российского законодательства, регулирующего употребление иностранных слов в специальных материалах, направленных на профессиональных пользователей

Данная мера принята для минимизации рисков неправильного толкования ключевых понятий и предотвращения негативных последствий, связанных с некорректностью переводов сложных технических терминов и выражений.

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

Свяжитесь с нами

* нажимая на кнопку, Вы даете согласие на обработку персональных данных