Встроенный узел OpenAI
Кроме универсального HTTP Request, в n8n есть отдельный узел OpenAI, который скрывает технические детали запроса. Внутри он делает то же самое — отправляет HTTP-запрос на api.openai.com — но вам не нужно вручную прописывать URL, заголовки и структуру тела.
Примечание. Структура самого узла OpenAI и список его операций со временем меняются: добавляются новые модели, операции и параметры. То, что описано ниже — общий принцип. Конкретные названия полей в вашей версии n8n могут отличаться.
Когда стоит использовать встроенный узел
- Узел OpenAI удобен, когда сценарий простой и вам нужен быстрый результат: «отправить вопрос и получить ответ», «сгенерировать картинку», «сделать транскрипцию аудио».
- HTTP Request даёт полный контроль: вы можете передать любые параметры, включая те, которые встроенный узел ещё не поддерживает.
Если в OpenAI вышло что-то новое, а в узле этого пока нет — проще отправить через HTTP Request. Если задача стандартная — встроенный узел проще и компактнее.
Что нужно для работы узла
- Учётные данные. Создайте в n8n запись
Credentialsдля OpenAI и вставьте туда свой API-ключ. Один раз — потом эту запись будут использовать все узлы OpenAI в любых сценариях. - Выбор операции. Узел поддерживает несколько типов задач — например, генерация текста (chat), генерация изображений, работа с аудио (распознавание/синтез), эмбеддинги. Выберите подходящую операцию.
- Выбор модели. Внутри операции укажите модель (например, одну из моделей семейства
gpt-...для текста). Список моделей у OpenAI обновляется — что доступно в вашем аккаунте, можно посмотреть в личном кабинете OpenAI. - Содержимое запроса. Для chat-операции это сообщения от пользователя (и при необходимости системное сообщение). Для генерации изображения — текстовое описание. И так далее.
Замена HTTP Request на узел OpenAI в нашем сценарии
В сценарии Ask AI можно заменить узел HTTP Request на узел OpenAI (операция, связанная с chat / message), не трогая Webhook и Respond to Webhook.
В настройках узла:
- выберите учётные данные OpenAI;
- выберите операцию для общения с моделью;
- укажите модель;
- в качестве сообщения пользователя подставьте
{{ $json.body.question }}из webhook.
После выполнения узел вернёт текст ответа уже в более удобном виде — обычно есть поле, в котором лежит готовый текст без необходимости разбирать choices[0].message.content. Точное имя поля зависит от версии узла; посмотрите вывод и используйте то поле, в котором лежит итоговый текст, в Respond to Webhook.
Что выбрать
Для учебного сценария — оба варианта рабочие. Полезно попробовать оба: сначала через HTTP Request, чтобы понять, как это устроено «снизу», а потом через встроенный узел, чтобы оценить разницу. В реальных проектах обычно используют встроенный узел, а на HTTP Request переключаются, когда нужна тонкая настройка или ещё не поддерживаемая возможность.