ИИ-агенты 10.07.2026 1 просмотров

GigaChat + n8n: подключение российской нейросети к автоматизации

#gigachat #n8n #нейросеть #сбер #автоматизация
GigaChat + n8n: подключение российской нейросети к автоматизации
Как подключить GigaChat от Сбера к n8n: получить OAuth-токен, делать запросы, строить чат-боты и ИИ-агентов с хранением данных в России. Соответствие ФЗ-152.

Что такое GigaChat и почему его стоит интегрировать с n8n

GigaChat — российская нейросеть от Сбера, полностью соответствующая требованиям ФЗ-152 о персональных данных. Модель обрабатывает данные на серверах в России, что делает её предпочтительным выбором для государственных структур, банков, медицины и других регулируемых отраслей.

GigaChat n8n — интеграция через REST API, которая позволяет использовать возможности российской нейросети в любом воркфлоу автоматизации: классификация обращений, генерация текстов, анализ документов, чат-боты и ИИ-агенты без выхода данных за рубеж.

Ключевые преимущества GigaChat API перед зарубежными аналогами:

  • Данные обрабатываются в России — соответствие ФЗ-152 и требованиям регуляторов
  • Оплата в рублях без проблем с банковскими переводами
  • Поддержка русского языка на уровне нейтива — лучше, чем у GPT-4o для сложных нюансов
  • Бесплатный доступ для тестирования (тариф Personal)
  • Совместимость с форматом OpenAI API — минимальные изменения в существующих воркфлоу

Получение доступа к GigaChat API

Шаг 1: регистрация в GigaChat Studio

  1. Перейдите на developers.sber.ru/studio.
  2. Зарегистрируйтесь через СберID или создайте аккаунт.
  3. Создайте новый проект → выберите «GigaChat API».
  4. Перейдите в настройки → «Авторизационные данные».
  5. Скопируйте Client Id и Client Secret.

Шаг 2: получение OAuth-токена

GigaChat API использует OAuth 2.0. Токен нужно получать перед каждой серией запросов (действует 30 минут):

Method: POST
URL: https://ngw.devices.sberbank.ru:9443/api/v2/oauth

Headers:
Authorization: Basic BASE64(client_id:client_secret)
RqUID: любой UUID
Content-Type: application/x-www-form-urlencoded

Body:
scope=GIGACHAT_API_PERS

Для формирования Base64 в n8n Code Node:

const clientId = "ВАШ_CLIENT_ID";
const clientSecret = "ВАШ_CLIENT_SECRET";
const credentials = Buffer.from(`${clientId}:${clientSecret}`).toString('base64');
return [{ json: { authHeader: `Basic ${credentials}` } }];

Шаг 3: сохранение токена

Токен возвращается в поле access_token. В n8n сохраните его в переменную воркфлоу или используйте Static Data node для хранения между запусками. Проверяйте истечение через поле expires_at (Unix timestamp).

Подключение GigaChat к n8n: первый запрос

После получения токена используйте HTTP Request node. Подключение GigaChat через API совместимо с форматом OpenAI chat completions:

Method: POST
URL: https://gigachat.devices.sberbank.ru/api/v1/chat/completions

Headers:
Authorization: Bearer {{ $json.access_token }}
Content-Type: application/json

Body:
{
  "model": "GigaChat",
  "messages": [
    {
      "role": "system",
      "content": "Ты помощник по обработке клиентских обращений. Отвечай кратко и по делу."
    },
    {
      "role": "user",
      "content": "{{ $json.userMessage }}"
    }
  ],
  "temperature": 0.7,
  "max_tokens": 1024
}

Извлечение ответа в Code Node:

const response = $input.first().json;
const text = response.choices[0].message.content;
return [{ json: { reply: text } }];

Доступные модели GigaChat

GigaChat API предлагает несколько версий модели под разные задачи:

МодельПрименениеКонтекст
GigaChat Базовая — чаты, классификация, простые тексты 32K токенов
GigaChat-Plus Сложные тексты, аналитика, юридические документы 32K токенов
GigaChat-Pro Максимальное качество, корпоративные задачи 32K токенов
GigaChat-2 Новое поколение — улучшенное следование инструкциям 128K токенов

Для автоматизации бизнес-процессов рекомендуется начать с GigaChat-Plus — оптимальный баланс качества и стоимости.

Сценарий 1: классификация обращений клиентов

Классический кейс: входящие обращения через форму сайта или email автоматически классифицируются и направляются в нужный отдел. GigaChat в автоматизации отлично справляется с русскоязычными текстами клиентов.

Структура воркфлоу

  1. Webhook — получает новое обращение
  2. HTTP Request (OAuth) — обновляет токен GigaChat если истёк
  3. HTTP Request (GigaChat) — классифицирует тему
  4. Switch Node — маршрутизация по категории
  5. AmoCRM / Telegram — создание задачи в нужном отделе

Системный промпт для классификации

{
  "role": "system",
  "content": "Классифицируй обращение клиента. Верни ТОЛЬКО одно слово из списка: ОПЛАТА, ДОСТАВКА, ВОЗВРАТ, КАЧЕСТВО, ДРУГОЕ. Никаких объяснений."
}
// Code Node после GigaChat
const category = $input.first().json.choices[0].message.content.trim();
const departments = {
  ОПЛАТА: { chat: '-100123456', manager: 'Финансовый отдел' },
  ДОСТАВКА: { chat: '-100234567', manager: 'Логистика' },
  ВОЗВРАТ: { chat: '-100345678', manager: 'Клиентский сервис' },
  КАЧЕСТВО: { chat: '-100456789', manager: 'ОТК' },
  ДРУГОЕ: { chat: '-100567890', manager: 'Общий' }
};
return [{ json: { category, ...departments[category] } }];

Сценарий 2: чат-бот для Telegram на базе GigaChat

Создание Telegram-бота с GigaChat API в n8n — это одно из лучших применений подключения GigaChat и использования ГигаЧат (GigaChat для автоматизации диалогов) без выхода данных за рубеж. — полноценный диалоговый ИИ-агент на российской нейросети. Воркфлоу обрабатывает сообщения пользователей и поддерживает историю разговора.

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

// Code Node: формируем сообщения с историей
const history = $workflow.staticData?.history || {};
const userId = $json.message.from.id;
const userHistory = history[userId] || [];

const newMessage = {
  role: 'user',
  content: $json.message.text
};

const messages = [
  { role: 'system', content: 'Ты полезный ассистент компании. Отвечай на русском языке.' },
  ...userHistory.slice(-10), // последние 10 сообщений
  newMessage
];

$workflow.staticData.history = {
  ...history,
  [userId]: [...userHistory, newMessage]
};

return [{ json: { messages, userId } }];

Запрос к GigaChat и ответ в Telegram

После получения ответа от GigaChat добавьте его в историю и отправьте через Telegram node:

// Сохранение ответа в историю
const reply = $input.first().json.choices[0].message.content;
const userId = $('История').first().json.userId;
const history = $workflow.staticData.history || {};
history[userId] = [...(history[userId] || []), { role: 'assistant', content: reply }];
$workflow.staticData.history = history;
return [{ json: { text: reply, chat_id: userId } }];

Сценарий 3: анализ и краткое изложение документов

GigaChat-Plus и GigaChat-Pro отлично работают с длинными документами. Воркфлоу: загрузить PDF или текстовый документ → отправить в GigaChat → получить краткое изложение и ключевые тезисы.

{
  "model": "GigaChat-Plus",
  "messages": [
    {
      "role": "system",
      "content": "Ты эксперт по анализу документов. Составь краткое изложение в 3-5 предложениях и выдели 5 ключевых тезисов в виде маркированного списка."
    },
    {
      "role": "user",
      "content": "Проанализируй следующий документ:\n\n{{ $json.documentText }}"
    }
  ],
  "temperature": 0.3,
  "max_tokens": 2048
}

Для извлечения текста из PDF используйте в n8n Extract from File node (доступен в n8n 1.60+) или внешний сервис через HTTP Request.

Автоматическое обновление токена GigaChat в n8n

Токен GigaChat живёт 30 минут — нужна логика обновления. Используйте Static Data и проверку перед каждым запросом:

// Code Node: проверка и обновление токена
const staticData = $workflow.staticData;
const now = Date.now() / 1000;

if (!staticData.gigachatToken || staticData.gigachatExpires < now + 60) {
  // Токен истёк или истечёт через минуту — нужно обновить
  return [{ json: { needRefresh: true } }];
}

return [{ json: {
  needRefresh: false,
  token: staticData.gigachatToken
}}];

После IF node с условием needRefresh === true добавьте HTTP Request для получения нового токена и Code Node для сохранения в Static Data.

Сравнение GigaChat с другими моделями в n8n

ПараметрGigaChatGPT-4oOllama (локально)
Хранение данных Россия (ФЗ-152 ✅) США ❌ Ваш сервер ✅
Русский язык Отлично Хорошо Зависит от модели
Оплата Рубли Доллары Бесплатно
Совместимость с n8n HTTP Request OpenAI node Ollama node
Контекст 32K–128K 128K 4K–128K

Важно: SSL-сертификат Sberbank

API GigaChat использует SSL-сертификат Сбербанка, который не включён в стандартные системные хранилища. При запросах из n8n возможна ошибка CERTIFICATE_VERIFY_FAILED.

Решения:

  • В HTTP Request node включите опцию SSL Certificate Verification: OFF (допустимо для внутренних сервисов)
  • Или скачайте корневой сертификат Минцифры с сайта gosuslugi.ru и добавьте в системное хранилище вашего сервера

Часто задаваемые вопросы

Как подключить GigaChat к n8n?

Зарегистрируйтесь на developers.sber.ru/studio, получите Client Id и Client Secret. В n8n используйте HTTP Request node: сначала запрос токена через OAuth (POST на ngw.devices.sberbank.ru:9443/api/v2/oauth), затем запрос к GigaChat API с заголовком Authorization: Bearer TOKEN. Формат запроса совместим с OpenAI chat completions.

Чем GigaChat отличается от ChatGPT для автоматизации бизнеса?

GigaChat хранит данные в России и соответствует ФЗ-152, оплата в рублях, сильный русский язык. ChatGPT (GPT-4o) — более широкая экосистема, готовый n8n-node, лучше для многоязычных задач. GigaChat выбирают при работе с персональными данными россиян или требованиях регуляторов.

Как долго действует токен GigaChat API?

Токен GigaChat действует 30 минут (1800 секунд). В n8n нужна логика автообновления: перед каждым запросом проверяйте поле expires_at через Code Node и Static Data. Если токен истёк — получайте новый через отдельный HTTP Request к OAuth-эндпоинту.

Можно ли использовать GigaChat для создания Telegram-бота через n8n?

Да. Воркфлоу: Webhook получает сообщение → Code Node формирует историю диалога → HTTP Request к GigaChat API → Telegram node отправляет ответ. Историю хранят в Static Data n8n — до 10 последних сообщений для поддержания контекста разговора.

Почему n8n выдаёт ошибку SSL при запросе к GigaChat?

GigaChat использует сертификат Сбербанка, которого нет в стандартных хранилищах. Быстрое решение: в HTTP Request node выключите SSL Certificate Verification. Правильное решение: установите корневой сертификат Минцифры на сервер с n8n. Для продакшена рекомендуется второй вариант.

Полезные материалы по теме