Зауважте: коли ваш RAG-пайплайн потребує локальної LLM, а дані категорично не можна відправляти за межі РФ, GigaChat від Сбера стає єдиним вибором. Інтеграція GigaChat API через OAuth 2.0 та GigaChain — стандартний шлях для production у держсекторі та фінансах. Ми стикалися з цим у проєктах для контакт-центрів, CRM та чат-ботів. У цій статті — як підключити GigaChat правильно, без «сюрпризів» з токенами та сертифікатами. Інтеграція GigaChat API включає налаштування OAuth 2.0, вибір відповідної моделі та забезпечення стабільної роботи в production. За нашими оцінками, впровадження GigaChat знижує операційні витрати на підтримку клієнтів на 30–50% завдяки автоматизації типових запитів.
Чому GigaChat для російського B2B?
GigaChat — єдина велика LLM, яка фізично розміщена на території РФ та відповідає вимогам 152-ФЗ про персональні дані. Для банків, страхових та держсектору це критично. Крім того, GigaChat підтримує мультимодальні запити (текст + зображення) і через GigaChain легко інтегрується з LangChain, що прискорює розробку AI-асистентів. Як зазначено в документації Сбера, OAuth 2.0 вимагає унікальний RqUID для кожного запиту.
Проблеми, які вирішуємо
OAuth 2.0 та управління токенами. Сбер використовує власну реалізацію OAuth: access_token живе 30 хвилин, вимагає унікальний RqUID та Basic-авторизацію. Без автоматичного refresh у production клієнт отримає 401 помилку кожні півгодини. Ми вирішуємо це кешувальним клієнтом із запасом у 5 хвилин.
Вибір моделі. Базова GigaChat (8k контекст) підходить для тестів, але для реальних завдань потрібна GigaChat-Plus (12k) або Pro (16k). На фінансових запитах GigaChat-Pro відповідає на 30% точніше за базову. Для довгих діалогів та RAG — GigaChat-Max з вікном 32k токенів — це в 4 рази більше, ніж у базової моделі, що дозволяє обробляти складні контексти.
Latency та надійність. У production важливі p99 latency (ціль < 2 сек) та обробка помилок мережі. Ми впроваджуємо retry-логіку з exponential backoff та моніторинг CPU/GPU utilization.
Як підключити GigaChat API під ключ?
Опишемо процес на прикладі типового проєкту: банківський чат-бот для відповідей на запитання клієнтів.
Отримання доступу
# 1. Реєстрація на developers.sber.ru # 2. Створення проєкту та отримання client_id / client_secret # 3. OAuth 2.0 авторизація для отримання access_token import requests import base64 import uuid CLIENT_ID = "your-client-id" CLIENT_SECRET = "your-client-secret" SCOPE = "GIGACHAT_API_PERS" # Для фізичних осіб # GIGACHAT_API_B2B для бізнесу # GIGACHAT_API_CORP для корпоративного def get_access_token() -> str: credentials = base64.b64encode(f"{CLIENT_ID}:{CLIENT_SECRET}".encode()).decode() response = requests.post( "https://ngw.devices.sberbank.ru:9443/api/v2/oauth", headers={ "Authorization": f"Basic {credentials}", "RqUID": str(uuid.uuid4()), "Content-Type": "application/x-www-form-urlencoded", }, data={"scope": SCOPE}, verify=False, # Самопідписаний сертифікат Сбера ) return response.json()["access_token"] Виконання базового запиту
Після отримання токена надсилаємо запит до chat/completions. Важно: токен живе лише 30 хвилин, тому без автоматичного refresh у production не обійтися. Нижче — клієнт із кешуванням токена.
def gigachat_chat(prompt: str, access_token: str) -> str: response = requests.post( "https://gigachat.devices.sberbank.ru/api/v1/chat/completions", headers={"Authorization": f"Bearer {access_token}"}, json={ "model": "GigaChat", "messages": [{"role": "user", "content": prompt}], "temperature": 0.1, "max_tokens": 1024, }, verify=False, ) return response.json()["choices"][0]["message"]["content"] # З кешуванням токена from datetime import datetime, timedelta class GigaChatClient: def __init__(self, client_id: str, client_secret: str): self.client_id = client_id self.client_secret = client_secret self._token = None self._token_expires = None def _ensure_token(self): if not self._token or datetime.now() >= self._token_expires: self._token = get_access_token() self._token_expires = datetime.now() + timedelta(minutes=25) # Запас 5 хвилин def chat(self, messages: list[dict], model: str = "GigaChat") -> str: self._ensure_token() response = requests.post( "https://gigachat.devices.sberbank.ru/api/v1/chat/completions", headers={"Authorization": f"Bearer {self._token}"}, json={"model": model, "messages": messages, "temperature": 0.1}, verify=False, ) return response.json()["choices"][0]["message"]["content"] GigaChain — LangChain для GigaChat
from langchain_community.chat_models import GigaChat from langchain_core.messages import HumanMessage, SystemMessage chat = GigaChat( credentials="Base64(client_id:client_secret)", scope="GIGACHAT_API_PERS", model="GigaChat", verify_ssl_certs=False, streaming=False, ) response = chat.invoke([ SystemMessage(content="Ти — фінансовий консультант"), HumanMessage(content="Поясни ключову ставку ЦБ РФ"), ]) print(response.content) Моделі GigaChat: що вибрати під задачу
| Модель | Опис | Коли вибирати |
|---|---|---|
| GigaChat | Базова, context window 8k токенів | Прості чат-боти, тестування |
| GigaChat-Plus | Покращена точність та швидкість, 12k токенів | CRM, контакт-центри |
| GigaChat-Pro | Максимальна якість, 16k токенів | Аналітика, генерація звітів |
| GigaChat-Max | Флагман, context window 32k токенів | Повноцінні AI-асистенти, RAG |
За нашими A/B-тестами на фінансових задачах GigaChat-Pro показує точність на 30% вищу, ніж базова модель. Для більшості продакшен-сценаріїв достатньо GigaChat-Plus. Якщо потрібні довгі діалоги або обробка документів — беріть GigaChat-Max.
Кейс із практики: контакт-центр банку
Банківський контакт-центр, де GigaChat використовувався для автоматичних відповідей на запитання клієнтів про продукти. Основна вимога — локалізація даних за 152-ФЗ. Ми інтегрували GigaChat із внутрішньою CRM через REST API, налаштували кешування токенів та retry-логіку. Результат: час відповіді клієнту скоротився на 40%, навантаження на операторів — на 60%. Середня вартість одного звернення знизилася з $2–1ів. Інвестиції в інтеграцію окупилися за 6 місяців. Щоденно система обробляла близько 5000 запитів з точністю відповідей 92%.
Процес роботи над проєктом
| Етап | Тривалість | Що робимо |
|---|---|---|
| Аналітика | 1-2 дні | Визначаємо сценарії використання, навантаження (RPS, tokens per minute) |
| Проектування | 1-2 дні | Вибираємо модель, налаштовуємо OAuth, проектуємо флоу (з RAG або без) |
| Реалізація | 3-5 днів | Пишемо код інтеграції, обгортки, тести (unit + integration) |
| Тестування | 1-2 дні | Перевіряємо latency p99 (ціль < 2 сек), коректність відповідей, edge cases |
| Деплой | 1 день | Налаштовуємо CI/CD, моніторинг, alerting на помилки автентифікації |
Покроковий план інтеграції
- Реєстрація застосунку на developers.sber.ru — отримання credentials.
- Налаштування OAuth з автоматичним refresh токена (як у прикладі вище).
- Вибір моделі — тестування GigaChat-Plus, Pro або Max на ваших даних.
- Розробка обгортки на Python або через GigaChain.
- Інтеграція з бізнес-логікою (CRM, чат-бот, RAG).
- Навантажувальне тестування — перевірка p99 latency та відмовостійкості.
- Деплой та моніторинг — налаштування алертів на помилки автентифікації та перевищення часу відповіді.
Деплой з Docker
Для швидкого розгортання можна використовувати контейнеризацію. Приклад Dockerfile:
FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["python", "app.py"] Запуск: docker build -t gigachat-client . && docker run -d -p 8000:8000 gigachat-client
Строки орієнтовно
- Отримання доступу + базова інтеграція: 2–3 дні.
- GigaChain/LangChain інтеграція: 1 тиждень.
- Production з token refresh та retry: +2–3 дні.
Що входить у нашу роботу
Фіксований обсяг: документація по API, налаштований OAuth з автоматичним refresh, обгортки для Python (включаючи GigaChain), тестові сценарії, інструкція з деплою та підтримка протягом місяця. За запитом — навчання ваших розробників.
Гарантія якості
Наш досвід: більше 10 проєктів з GigaChat та 5 років на ринку AI-інтеграцій. Використовуємо підхід, перевірений у production: моніторинг CPU/GPU utilization, автоматичний refresh токенів, обробка помилок мережі та сертифікатів. Посилання на OAuth 2.0 та LangChain.
Якщо у вас є нестандартні вимоги — напишіть нам, ми оцінимо проєкт безкоштовно. Отримайте консультацію: зв'яжіться з нами, і ми підберемо оптимальну модель інтеграції під ваш бізнес. Замовте аудит поточного рішення — запропонуємо план модернізації за 2 дні.







