Інтеграція GigaChat API Сбер

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Інтеграція GigaChat API Сбер
Простий
~1 день
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Інтеграція GigaChat API (Сбер)

GigaChat — LLM від Сбербанку через SberCloud. Як і YandexGPT — російська юрисдикція для обробки даних, що важливо для фінансових установ, держструктур та компаній з вимогами локалізації даних за 152-ФЗ. GigaChat інтегрується з екосистемою Сбера: SberDevices, SberCloud, GigaChain (форк LangChain).

Отримання доступу

# 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"]

Базові запити

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)  # Токен живе 30 хв

    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 Базова модель
GigaChat-Plus Покращена версія
GigaChat-Pro Максимальна якість
GigaChat-Max Флагман

Кейс використання

Банківський контакт-центр: автоматичні відповіді на запитання клієнтів про продукти. GigaChat обраний через вимоги регулятора до локалізації даних банківських клієнтів. Інтеграція з внутрішньою CRM через REST API.

Терміни виконання

  • Отримання доступу + базова інтеграція: 2–3 дні
  • GigaChain/LangChain інтеграція: 1 тиждень
  • Production з token refresh та retry: +2–3 дні