gigachat-php
Описание
Комплексная библиотека для интеграции Сбер GigaChat API в PHP-приложения. Нативная поддержка Laravel, автоматизация OAuth-авторизации, работа со всеми моделями GigaChat. SDK включает streaming-поддержку, rate limiting, готовые helper-методы. Оптимизирован для enterprise-разработки. Полная документация и примеры использования AI в production.
Языки
- PHP100%
🚀 GigaChat PHP SDK

Мощный PHP SDK для интеграции с Sber GigaChat API. Библиотека обеспечивает простой и удобный интерфейс для работы с AI-моделями GigaChat, включая полную поддержку потоковой передачи данных и стандартных запросов.
🌐 Язык: Русский | English
🔗 GitHub Repository: https://github.com/tigusigalpa/gigachat-php
✨ Основные возможности
- 🔌 Быстрая интеграция - минимальная настройка для начала работы
- 🔐 Автоматическая авторизация - управление OAuth токенами без лишних усилий
- 🎯 Все модели GigaChat - поддержка GigaChat, GigaChat-Pro и GigaChat-Max
- 🛠 Laravel из коробки - Service Provider, Facades и конфигурация для Laravel 8-12
- 💬 Диалоги и чаты - поддержка контекстных бесед и одиночных запросов
- ⚡ Потоковая передача - получение ответов в режиме реального времени
- 🎨 Генерация изображений - создание картинок через функцию text2image
- 🖼️ Работа с изображениями - автоматическая загрузка и обработка
- 🎭 Стилизация контента - настройка стиля через системные промпты
- 🔧 Вспомогательные методы - упрощенный API для частых задач
- 🚦 Ограничение запросов - встроенный rate limiting и middleware
- 🧪 Artisan команды - консольные инструменты для тестирования
- 📖 Полная документация - примеры и руководства для всех функций
📦 Установка
Через Composer (рекомендуется)
Установите пакет с помощью Composer:
Настройка для Laravel
Пакет регистрируется автоматически. Опубликуйте файл конфигурации:
⚙️ Конфигурация
Шаг 1: Получение учетных данных
Для работы с API необходимо получить авторизационные данные:
- Зарегистрируйтесь в личном кабинете Sber AI
- Создайте новый проект и получите Client ID и Client Secret
- Сформируйте Authorization Key (Base64 кодирование "Client ID:Client Secret")
💡 Подробная инструкция: Создание проекта и получение ключей
Шаг 2: Переменные окружения
Добавьте в файл :
💡 Примеры использования
Базовое использование (без Laravel)
Использование в Laravel
После публикации конфигурации используйте Facade:
Работа с диалогами
Потоковая передача данных
🤖 Доступные модели
GigaChat предлагает несколько моделей для различных задач. Актуальный список доступен в официальной документации.
Модели генерации текста
| Модель | Описание | Применение |
|---|---|---|
| GigaChat-2 | Базовая модель второго поколения | Общие задачи, диалоги |
| GigaChat-2-Pro | Улучшенная модель с расширенными функциями | Сложные задачи, креативное письмо |
| GigaChat-2-Max | Максимальная модель для сложнейших задач | Профессиональные задачи, анализ |
Модели эмбеддингов
| Модель | Описание | Применение |
|---|---|---|
| Embeddings | Базовая модель векторного представления | Поиск по смыслу, кластеризация |
| EmbeddingsGigaR | Улучшенная модель эмбеддингов | Точный поиск, семантический анализ |
🎨 Генерация изображений
GigaChat поддерживает создание изображений через встроенную функцию text2image. Для генерации используйте глагол "нарисуй" и параметр .
Базовая генерация
Генерация со стилизацией
Упрощенный метод createImage
Laravel Helper методы
⚠️ Обработка ошибок
SDK предоставляет специализированные исключения:
Коды ошибок GigaChat API
🔐 Ошибки авторизации (400-401)
| Код | HTTP | Описание | Решение |
|---|---|---|---|
| 1 | 400 | | Проверьте формат поля scope |
| 4 | 401 | | Проверьте корректность ключа |
| 5 | 400 | | Укажите scope |
| 6 | 401 | | Перевыпустите ключ |
💳 Ошибки лимитов (402-403)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 402 | | Закончились токены | Проверьте лимит в личном кабинете |
| 403 | | Нет доступа к методу | Проверьте тарифный план |
🚦 Ошибки лимитов запросов (429)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 429 | | Превышен лимит запросов | Уменьшите частоту запросов |
📖 Подробнее об ошибках: Официальная документация
🛠️ Artisan команды
Консольные команды для работы с SDK:
🧪 Тестирование
Пакет включает полный набор тестов.
Запуск тестов
Интеграционные тесты
Для запуска с реальным API:
Покрытие
- ✅ Генерация текста - все методы chat и streaming
- ✅ Генерация изображений - создание, скачивание, полный workflow
- ✅ Аутентификация - управление токенами, обновление, кеширование
- ✅ Laravel интеграция - фасады, helper методы, сервис-провайдер
- ✅ Валидация - проверка данных, обработка ошибок
- ✅ Интеграционные тесты - реальные запросы к API
Подробнее: tests/README.md
📚 Примеры использования
Чат-бот для Laravel
Генерация контента
❓ FAQ и решение проблем
Часто задаваемые вопросы
Q: Как получить Client ID и Client Secret?
A: Зарегистрируйтесь в личном кабинете Sber AI и создайте проект.
Q: Что делать при ошибке "Invalid token response"?
A: Проверьте правильность Client ID и Client Secret, а также доступность сервиса авторизации.
Q: Как использовать собственные SSL сертификаты?
A: Установите в путь к файлу сертификата или для отключения проверки.
Q: Поддерживается ли работа в production?
A: Да, SDK готов для production. Убедитесь в правильной настройке SSL и rate limiting.
Q: Где посмотреть информацию о тарифах?
A: Актуальная информация доступна в официальной документации.
📄 Лицензия
MIT License. Подробнее см. LICENSE.
🤝 Вклад в проект
Мы приветствуем вклад в развитие проекта! Пожалуйста, ознакомьтесь с CONTRIBUTING.md для получения дополнительной информации.
📞 Поддержка
🙏 Благодарности
Спасибо Sber AI за предоставление API GigaChat и всем контрибьюторам проекта!