ym88659208ym87991671
Использование SDK | Документация для разработчиков

Использование SDK

Обновлено 8 июня 2026

Для работы с REST API GigaChat доступны одноименные библиотеки на Python , TypeScript/JavaScript и Java .

Перед началом работы убедитесь, что у вас установлены сертификаты НУЦ Минцифры.

SDK позволяет автоматически авторизовать запросы, и предоставляет методы для работы с GigaChat API. С их помощью можно:

  • получить список доступных моделей;
  • получить ответ модели на сообщение;
  • загрузить файл в хранилище;
  • скачать сгенерированное изображение;
  • создать эмбеддинг;
  • посчитать токены в сообщении;
  • работать в пакетном режиме;
  • проверить текст на ИИ.

Для работы с GigaChat также доступны партнерские пакеты LangChain, которые позволяют использовать модели GigaChat с фреймворком LangChain .

Подробнее — в документации GigaChain.

Начало работы

Чтобы начать работу с API с помощью SDK:

  1. Установите или подключите в проект подходящую библиотеку:

    pip install gigachat
  2. Инициализируйте объект GigaChat:

    from gigachat import GigaChat

    giga = GigaChat(
    credentials="ключ_авторизации",
    scope="GIGACHAT_API_PERS",
    model="GigaChat",
    )

При работе с библиотеками на Python и TS/JS объект GigaChat принимает параметры:

  • credentials — ключ авторизации для обмена сообщениями с GigaChat API. О том как получить ключ авторизации — в разделе Быстрый старт.

  • scope — версия API, к которой будет выполнен запрос. Необязательный параметр. Возможные значения:

    • GIGACHAT_API_PERS — версия API для физических лиц;
    • GIGACHAT_API_B2B — версия API для ИП и юрлиц при работе по предоплате.
    • GIGACHAT_API_CORP — версия API для ИП и юрлиц при работе по постоплате.

    По умолчанию запросы передаются в версию для физических лиц.

  • model — необязательный параметр, в котором можно явно задать модель GigaChat.

Примеры работы с SDK

Получить список доступных моделей

Выполняет запрос GET /models и возвращает список доступных моделей.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as client:
models = client.get_models()
for model in models.data:
print(f"{model.id_} (owned_by={model.owned_by})")

Сгенерировать текст

Метод выполняет запрос POST /chat/completions и возвращает ответ модели, сгенерированный на основе переданных сообщений.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
scope="GIGACHAT_API_PERS",
model="GigaChat",
verify_ssl_certs=False,
) as client:
response = client.chat.create("Привет, как дела?")
print(response.messages[0].content[0].text)

Потоковая генерация токенов

Используйте SDK, чтобы получать токены по мере их генерации — без ожидания полного ответа от модели.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as client:
for chunk in client.chat.stream("Напиши короткое стихотворение о программировании"):
for msg in chunk.messages or []:
for part in msg.content or []:
if part.text:
print(part.text, end="", flush=True)
print()

Сгенерировать эмбеддинг

Выполняет запрос POST /embeddings и возвращает векторное представление текста.

Подробнее об использовании эмбеддингов — в разделе Векторное представление текста.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as giga:
response = giga.embeddings(["Hello world!"], model="EmbeddingsGigaR")
print(response)

Скачать сгенерированное изображение

Метод выполняет запрос GET /files/{file_id}/content и возвращает файл изображения в бинарном представлении в формате JPG.

Подробнее о работе с файлами с помощью API — в разделе Обработка файлов.

image = giga.get_image(file_id='идентификатор_файла')

Работа с хранилищем файлов

Методы для работы с хранилищем файлов.

Загрузить файл в хранилище

Метод выполняет запрос POST /files и возвращает объект с данными загруженного файла. Загруженные файлы доступны только вам.

Подробнее о работе с файлами с помощью API — в разделе Обработка файлов.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as client:
with open("document.pdf", "rb") as f:
uploaded = client.upload_file(f, purpose="general")
print(f"Файл загружен: {uploaded.id_}")

Получить список файлов

Просмотр файлов, доступных в хранилище с помощью метода GET /files.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as client:
files = client.get_files()
for file in files.data:
print(f"{file.id_}: {file.filename}")

Просмотр информации о файле

Вызов метода GET /files/{file}.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as client:
single_file = client.get_file("<идентификатор_файла>")
print(f"{single_file}")

Удаление файла

Вызов метода POST /files/{file}/delete.

from gigachat import GigaChat

with GigaChat() as client:
client.delete_file("<идентификатор_файла>")

Подсчитать количество токенов в запросе

Выполняет запрос POST /tokens/count и возвращает объект с информацией о количестве токенов, подсчитанных заданной моделью в строках.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
verify_ssl_certs=False
) as client:
result = client.tokens_count(["12345"], model="GigaChat-2-Pro")
print(result)

Проверить баланс токенов

Метод доступен только при покупке пакетов токенов. Если вы оплачиваете работу с API по схеме pay-as-you-go, запрос вернет ошибку 403 Permission Denied.

from gigachat import GigaChat

with GigaChat(
credentials="ключ_авторизации",
scope="GIGACHAT_API_B2B",
verify_ssl_certs=False,
) as client:
balance = client.get_balance()
for entry in balance.balance:
print(f"{entry.usage}: {entry.value}")

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.