🇷🇺

GigaChat API: создание AI-агента на русском LLM

Российская LLM от Сбера: API, function calling, эмбеддинги. Сравнение с OpenAI API. Полный туториал.

российское ⏱ 20 мин
GigaChat API — возможности для AI-агентов 🇷🇺 GigaChat API https://gigachat.devices.sberbank.ru 💬 Chat Completion Аналог GPT chat/completions GigaChat Lite и Pro 🔧 Function Calling Инструменты для агента Поиск, калькулятор, БД 🧮 Embeddings Векторные представления RAG, поиск, кластеры 💰 Цены: Lite — бесплатно / Pro — от 0.60 ₽ за 1K токенов Сертификат Минцифры | Данные в РФ | 152-ФЗ compliance

# 1. Что такое GigaChat

GigaChat — российская LLM от Сбера, аналог GPT-4 для русского языка. Две версии: GigaChat Lite (быстрая, бесплатная) и GigaChat Pro (мощная, платная). Ключевое преимущество: данные хранятся и обрабатываются в РФ, сертификат Минцифры, соответствие 152-ФЗ. API совместимо с форматом OpenAI — миграция с GPT занимает 15 минут.

# 2. Получение API-ключа и первый запрос

Регистрация через Сбер ID на developers.sber.ru. Создаёте проект, получаете Client ID и Client Secret. Авторизация по протоколу client_credentials (OAuth2). Токен живёт 30 минут, нужно обновлять.

import requests
import uuid

CLIENT_ID = "your-client-id"
CLIENT_SECRET = "your-client-secret"
AUTH_URL = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth"
API_URL = "https://gigachat.devices.sberbank.ru/api/v1"

# Получаем токен
rq_uid = str(uuid.uuid4())
auth_response = requests.post(AUTH_URL, data={
    'scope': 'GIGACHAT_API_PERS'
}, headers={
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept': 'application/json',
    'RqUID': rq_uid,
    'Authorization': f'Basic {CLIENT_ID}:{CLIENT_SECRET}'
}, verify=False)
token = auth_response.json()['access_token']

# Первый запрос
response = requests.post(f"{API_URL}/chat/completions", json={
    "model": "GigaChat",
    "messages": [{"role": "user", "content": "Привет! Кто ты?"}],
    "temperature": 0.7
}, headers={
    'Authorization': f'Bearer {token}'
}, verify=False)
print(response.json()['choices'][0]['message']['content'])

# 3. Function Calling на GigaChat

GigaChat поддерживает function calling — ключевую технологию для AI-агентов. Вы описываете функции, которые агент может вызывать (поиск, калькулятор, запрос к БД), и GigaChat решает, какую функцию вызвать и с какими параметрами.

# Function Calling с GigaChat — даём агенту инструменты
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Получить погоду для города",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string",
                          "description": "Город на русском"}
            },
            "required": ["city"]
        }
    }
}]

response = requests.post(f"{API_URL}/chat/completions", json={
    "model": "GigaChat-Pro",
    "messages": [{"role": "user", "content": "Какая погода в Москве?"}],
    "functions": tools,
    "function_call": "auto"
}, headers={'Authorization': f'Bearer {token}'}, verify=False)

func_call = response.json()['choices'][0]['message']['function_call']
print(f"Вызов: {func_call['name']}({func_call['arguments']})")

# 4. GigaChat vs OpenAI API: сравнение

GigaChat Pro сравним с GPT-4o-mini по качеству русского текста. Преимущества: цена (в 2-3 раза дешевле для русского языка), данные в РФ, compliance. Недостатки: меньше языков (русский + английский), меньшее контекстное окно (32K vs 128K у GPT-4o), нет vision. Вывод: для русскоязычных проектов с требованиями к хранению данных — GigaChat. Для мультиязычных проектов — OpenAI.

# 5. Создание AI-агента на GigaChat

Полный цикл: получаем токен, описываем инструменты, создаём агента с памятью (история сообщений в списке), обрабатываем function calls в цикле. Готовый агент умеет искать информацию, считать, работать с локальными данными — всё на российском LLM.

✅ Итог

GigaChat — зрелое российское решение для AI-агентов. API полностью совместимо с форматом OpenAI, миграция занимает 15 минут. Function Calling работает стабильно. Рекомендация: используйте GigaChat для русскоязычных проектов (особенно с требованиями 152-ФЗ), а OpenAI — для мультиязычных. Комбинированный подход: GigaChat для русскоязычного общения, OpenAI для английского и vision-задач.