GigaChat Rust SDK
Rust SDK для работы с GigaChat API от Сбера - доступ к русскоязычным LLM.
Возможности
- Поддержка Sber API:
- Генерация текста.
- Синхронная.
- Потоковая.
- Генерация эмбеддингов.
- Детекция LLM-сгенерированного текста.
- Пакетная обработка.
- Обработка медиа.
- Поддержка функций.
- Генерация текста.
- Конфигурация клиента:
- Автоматическое использование сертификатов мин.цифры.
- Возможности для конфигурации корпоративного прокси-сервера.
- OAuth авторизация с автоматической ротацией токенов.
- Средства интроспекции:
- Поддержка сквозной трассировки при помощи
tracing. - Поддержка перехвата HTTP запросов.
- Поддержка сквозной трассировки при помощи
Getting started
Добавьте в ваш Cargo.toml:
[]
= "0.1.0"
= { = "1", = ["full"] }
Быстрый старт
Аутентификация
Для использования GigaChat API вам необходимо получить токен аутентификации от Сбера. Установите его как переменную окружения:
Примеры использования
Вместо встраивания примеров кода в README, мы предоставляем подробные рабочие примеры в директории examples:
| Пример | Описание | Файл |
|---|---|---|
| Генерация текста | Демонстрирует генерацию текста с помощью GigaChat | generate.rs |
| Текстовые эмбеддинги | Пример создания векторных представлений текста | embeddings.rs |
Конфигурация
Опции Client Builder
GigaChatClientBuilder позволяет настраивать клиент:
use GigaChatClientBuilder;
use Proxy;
let client = new
// Настройка URL аутентификации при необходимости
// .auth_url("https://ваш-auth-url.com")
// Настройка базового URL при необходимости
// .base_url("https://ваш-base-url.com")
// Настройка прокси при необходимости
// .proxy(Proxy::http("http://proxy:8080").unwrap())
// Добавление заголовков по умолчанию
// .default_header("X-Custom-Header", "custom-value")
.build
.await?;
Обработка ошибок
Все вызовы API возвращают тип Result, что делает обработку ошибок прямолинейной:
use Result;
async
Типичные ошибки:
- Сетевые ошибки (проблемы с подключением, таймауты)
- Ошибки аутентификации (недействительные токены)
- Ошибки API (ограничение скорости, недостаточно прав)
- Ошибки парсинга (неожиданные форматы ответов)
Лицензия
Этот проект лицензирован по лицензии MIT - смотрите файл LICENSE для подробностей.