Download the PHP package tigusigalpa/gigachat-php without Composer
On this page you can find all versions of the php package tigusigalpa/gigachat-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tigusigalpa/gigachat-php
More information about tigusigalpa/gigachat-php
Files in tigusigalpa/gigachat-php
Package gigachat-php
Short Description 🚀 GigaChat PHP SDK - полнофункциональная библиотека для интеграции с Sber GigaChat API. Простое подключение GigaChat к PHP-приложениям с поддержкой Laravel. Генерация текста, чат-боты, AI-ассистенты. Полная документация, примеры кода, OAuth авторизация.
License MIT
Homepage https://github.com/tigusigalpa/gigachat-php
Informations about the package gigachat-php
GigaChat PHP SDK

PHP SDK для Sber GigaChat API с поддержкой Laravel. Streaming и обычные запросы.
Язык: Русский | English
Другие версии: Golang SDK
Возможности
- Интеграция с GigaChat API
- Управление OAuth-токенами (автообновление)
- Все модели GigaChat (GigaChat, GigaChat-Pro, GigaChat-Max)
- Laravel 8-13 (Service Provider, Facades)
- Диалоги и одиночные запросы
- Streaming-ответы
- Генерация изображений через text2image
- Скачивание и обработка изображений
- Стилизация через системные промпты
- Helper-методы
- Rate limiting middleware
- Artisan-команды
Установка
Из Packagist
Через Composer:
Laravel
Пакет регистрируется автоматически. Опубликуйте конфиг:
Настройка
1. Получение ключей
- Зарегистрируйтесь в Sber AI
- Создайте проект, получите Client ID и Client Secret
- Сгенерируйте Authorization Key (Base64 от "Client ID:Client Secret")
См.: Создание проекта и получение ключей
2. Окружение
Добавьте в .env:
Использование
Без Laravel
С Laravel
Используйте Facade:
Диалоги
Streaming
Eloquent Trait
Модели
Актуальный список: официальная документация
Генерация текста
| Модель | Описание | Использование |
|---|---|---|
| GigaChat-2 | Базовая модель второго поколения | Общие задачи, диалоги |
| GigaChat-2-Pro | Продвинутая модель с улучшенными возможностями | Сложные задачи, креативное письмо |
| GigaChat-2-Max | Максимальная модель для самых сложных задач | Профессиональные задачи, анализ |
Эмбеддинги
| Модель | Описание | Использование |
|---|---|---|
| Embeddings | Базовая модель для векторного представления | Поиск по смыслу, кластеризация |
| EmbeddingsGigaR | Улучшенная модель для создания эмбеддингов | Точный поиск, семантический анализ |
Константы моделей
Параметры генерации
php
Стилизация
php $result = $client->createImage("Нарисуй футуристический город", [ 'system_message' => 'Ты — архитектор будущего' ]);
// $result: content (base64), file_id, response file_put_contents('city.jpg', base64_decode($result['content']));
Laravel
Методы изображений
| Метод | Описание | Возвращает |
|---|---|---|
generateImage($prompt, $options) |
Генерация, ответ API | array |
downloadImage($fileId) |
Скачать по ID | string (base64) |
createImage($prompt, $options) |
Генерация + скачивание | array |
drawImage($description, $options) |
Laravel: добавляет "Нарисуй" | array |
drawImageInStyle($description, $style, $options) |
Laravel: со стилем художника | array |
extractImageId($content) |
Извлечь ID из HTML | string\|null |
Ошибки изображений
Важно: Промпт должен содержать "нарисуй". API вызывает text2image при function_call: auto.
Обработка ошибок
Исключения:
Коды ошибок
Авторизация (400-401)
| Код | HTTP | Описание | Решение |
|---|---|---|---|
| 1 | 400 | scope data format invalid |
Проверьте формат поля scope |
| 4 | 401 | Can't decode 'Authorization' header |
Проверьте корректность ключа авторизации |
| 5 | 400 | scope is empty |
Укажите scope: GIGACHAT_API_PERS, GIGACHAT_API_B2B или GIGACHAT_API_CORP |
| 6 | 401 | credentials doesn't match db data |
Перевыпустите ключ авторизации в личном кабинете |
| 7 | 401 | scope from db not fully includes consumed scope |
Укажите корректную версию API в scope |
Лимиты (402-403)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 402 | Payment Required |
Закончились токены модели | Проверьте лимит токенов в личном кабинете |
| 403 | Permission denied |
Нет доступа к методу | Проверьте тарифный план (например, GET /balance недоступен для pay-as-you-go) |
Размер данных (413)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 413 | Payload too large |
Превышен размер входных данных | Уменьшите размер промпта или файлов |
Параметры (422)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 422 | Requested model does not support functions |
Модель не поддерживает функции | Используйте другую модель или отключите функции |
| 422 | system message must be the first message |
Неверный порядок сообщений | Системное сообщение должно быть первым |
| 422 | Unprocessable Entity |
Файл превышает размер контекста | Разделите или сократите файл |
Rate Limit (429)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 429 | Too Many Requests |
Превышен лимит одновременных запросов | Уменьшите частоту запросов, добавьте задержки |
Сервер (500)
| HTTP | Описание | Причина | Решение |
|---|---|---|---|
| 500 | Internal Server Error |
Ошибка сервиса GigaChat | Обратитесь в службу поддержки |
Retry-обработчик
Отладка
См.: Ошибки GigaChat API
Artisan-команды
Rate Limiting
Тестирование
Запуск
Интеграционные тесты
Для запуска интеграционных тестов с реальным API:
Покрытие
- Генерация текста (chat, streaming)
- Генерация изображений
- Аутентификация (токены, обновление, кеш)
- Laravel (фасады, helpers, service provider)
- Валидация
- Интеграционные тесты
См. tests/README.md
Примеры
Чат-бот
Генерация контента
Streaming
Laravel-тесты
FAQ
Как получить Client ID и Client Secret?
Зарегистрируйтесь в Sber AI и создайте проект.
Ошибка "Invalid token response"?
Проверьте Client ID/Secret и доступность сервиса авторизации.
SSL-сертификаты?
Установите GIGACHAT_CERT_PATH в путь к сертификату или false.
Production?
Да. Настройте SSL и rate limiting.
Тарифы?
Официальная документация
SSL-ошибки
Очистите кэш после изменений:
Полная конфигурация
config/gigachat.php:
Требования
- PHP 8.2+
- Laravel 8+ (включая 11, 12)
- Guzzle HTTP 7.8.2+
- Учетные данные GigaChat API
Лицензия
MIT. См. LICENSE.
Ссылки
Поддержка
Участие
- Форкните репозиторий
- Создайте ветку (
git checkout -b feature/name) - Зафиксируйте изменения (
git commit -m 'Add feature') - Отправьте (
git push origin feature/name) - Откройте Pull Request
Следуйте PSR-12, добавляйте тесты, обновляйте документацию.
Безопасность
Уязвимости отправляйте на [email protected] (не в публичные issues).
Laravel 12
Полная совместимость:
- Service Provider авторегистрация
GigaChatFacade- Artisan-команды
- Rate limit middleware
HasGigaChattrait
Roadmap
- [ ] Кэширование
- [ ] Метрики
- [ ] WebSocket
- [ ] Другие PHP-фреймворки
All versions of gigachat-php with dependencies
guzzlehttp/guzzle Version ^7.8.2
illuminate/support Version ^8|^9|^10|^11|^12|^13