Skip links

Telegram бот на базе LangChain OpenAi — шаблон n8n

Этот шаблон n8n представляет собой интеллектуального Telegram-бота, который использует возможности LangChain и OpenAI для обработки запросов пользователей. Бот может выполнять различные задачи, включая генерацию изображений с помощью DALL-E-3 и отправку их через Telegram. Давайте разберем его пошагово.


Основная функциональность

Шаблон позволяет:

  1. Получать сообщения от пользователей через Telegram.
  2. Анализировать запросы с помощью OpenAI (например, GPT-4o).
  3. Генерировать изображения с использованием DALL-E-3.
  4. Отправлять ответы пользователям через Telegram, включая текстовые сообщения и изображения.
  5. Поддерживать диалог благодаря оконному буферу памяти.

Пошаговое описание работы

1. Триггер: “Listen for incoming events”

  • Это точка входа в рабочий процесс.
  • Шаблон активируется, когда пользователь отправляет сообщение боту через Telegram.
  • Сообщение передается в следующий узел для анализа.

Примечания:

  • Поддерживается обработка всех типов обновлений Telegram ("*").
  • Используется API Telegram для получения данных о сообщении (текст, ID чата и т.д.).

2. AI Agent: “AI Agent”

  • Этот узел является основным ядром шаблона.
  • Он использует системное сообщение (system prompt) для определения поведения агента:
  • Агент знает имя пользователя ({{ $json.message.from.first_name }}).
  • Он может:
    • Анализировать текстовые запросы.
    • Генерировать изображения по запросу.
    • Отправлять финальные ответы через Telegram.

Примеры запросов:

  • Текстовый запрос:
  • Пользователь: “Привет!”
  • Агент: “Привет, [Имя]! Как я могу помочь вам сегодня?”
  • Запрос на генерацию изображения:
  • Пользователь: “Нарисуй кота, летящего на ракете.”
  • Агент: Генерирует изображение с помощью DALL-E-3 и отправляет его пользователю.

Особенности:

  • Агент работает с двумя основными инструментами:
  1. Генерация изображений (DALL-E-3).
  2. Отправка сообщений через Telegram.
  • Если запрос пользователя неясен, агент предлагает помощь:
  • “Привет, [Имя]! Я могу помочь вам создать изображение или ответить на ваши вопросы. Что бы вы хотели сделать?”

3. Модель OpenAI: “OpenAI Chat Model”

  • Здесь используется модель OpenAI (по умолчанию GPT-4o), которая анализирует запросы пользователя и формирует ответы.
  • Модель также управляет вызовом инструментов (например, генерации изображений).

Настройки:

  • Можно заменить GPT-4o на более дешевую модель (например, gpt-4o-mini).
  • Поддерживаются другие провайдеры LLM (Language Learning Models), но важно, чтобы они поддерживали tool-calling (вызов инструментов).

4. Память: “Window Buffer Memory”

  • Этот узел управляет контекстом диалога.
  • По умолчанию сохраняется последние 10 сообщений (размер окна памяти).
  • Это помогает агенту понимать контекст разговора и поддерживать последовательность.

Примечания:

  • Память временная. Если нужно сохранить историю разговоров, можно использовать базу данных (например, Postgres через Supabase).

5. Генерация изображений: “Generate image in Dalle”

  • Этот инструмент использует API DALL-E-3 для генерации изображений.
  • Для работы требуется текстовый запрос (prompt):
  • Например, “Нарисуй кота, летящего на ракете.”

Настройки:

  • URL API: https://api.openai.com/v1/images/generations.
  • Метод: POST.
  • Параметры:
  • model: dall-e-3.
  • prompt: Текстовый запрос.

6. Отправка изображений: “Send back an image”

  • Этот узел отправляет сгенерированное изображение пользователю через Telegram.
  • Используется операция sendDocument.

Примечания:

  • Убедитесь, что URL изображения корректный и доступен.

7. Финальный ответ: “Send final reply”

  • Этот узел отправляет финальный ответ пользователю через Telegram.
  • Может включать:
  • Текстовое сообщение.
  • Ссылку на изображение.

Какие задачи решает этот шаблон?

Автоматизация взаимодействия с Telegram-ботом:

    • Пользователи могут отправлять текстовые запросы и получать ответы.

    Генерация изображений:

      • Используется DALL-E-3 для создания изображений по запросу.

      Улучшение пользовательского опыта:

        • Агент уточняет детали, если запрос неясен.
        • Диалог поддерживается естественным образом.

        Интеграция с OpenAI:

          • Используется мощная модель для анализа запросов и выполнения действий.

          Как расширить функциональность?

          Добавить больше инструментов:

            • Например, добавить возможность отправлять аудио или видео.

            Интеграция с другими API:

              • Можно добавить инструменты для работы с Gmail, Slack или другими сервисами.

              Хранение истории диалогов:

                • Использовать базу данных для сохранения разговоров.

                Мультиязычная поддержка:

                  • Настроить агента на работу с разными языками.

                  Пример использования

                  1. Пользователь: “Нарисуй космический корабль.”
                  2. Агент: “Генерирую изображение космического корабля…”
                  3. Агент: Отправляет изображение через Telegram.

                  Другие шаблоны n8n

                  Мы используем ваши файлы cookie. Вы не против?

                  Вход

                  Вход

                  Регистрация

                  Регистрация
                  close-link

                  Заявка на внедрение

                  Заказ внедрения
                  close-link

                  Регистрация