Интеграция GigaChat API Сбер

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция GigaChat API Сбер
Простая
~1 рабочий день
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Интеграция 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 дня