beeralex / beeralex.gigachat
My base Bitrix module
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:bitrix-module
pkg:composer/beeralex/beeralex.gigachat
Requires
- beeralex/beeralex.core: ~1.0
This package is auto-updated.
Last update: 2025-10-06 09:08:52 UTC
README
для работы обязателен модуль beeralex.core - https://git.beeralex-dev.ru/ITB-dev/beeralex.core минимальная версия php 8.1
Установка
добавьте в composer.json экстра опцию, чтобы композер поставил пакет в local/modules
"extra": { "installer-paths": { "local/modules/{$name}/": ["type:bitrix-module"] } }
composer require beeralex/beeralex.gigachat
- Установить модуль beeralex.core
- Установить этот модуль
- Выполнить регистрацию в ЛК гигачат - https://developers.sber.ru/docs/ru/gigachat/quickstart/ind-create-project
- Заполнить настройки модуля (Ключ авторизации и Scope)
- После сохранения настроек станет доступна настройка с выбором модели, которая будет отвечать на вопросы в чате. Выберите модель в настройке - Модель формирующая ответ на сообщение
Сертификат НУЦ минцифры
установите сертификаты по инструкции - https://developers.sber.ru/docs/ru/gigachat/certificates
после этого поставьте галочку в настройке модуля - Сертификат НУЦ Минцифры установлен на уровне системы
Когда эта настройка не установлена, то для всех запросов будет отключена проверка SSL.
Использование
Пользуйтесь классом Beeralex\Gigachat\Services\ChatService
чтобы отправлять запросы к модели гигачат. Метод getChat
объект \Beeralex\Gigachat\Entity\Chat\ChatParam
(подробнее https://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-chat). Метод выкидывает исключения в случае ошибок. В случае когда все успешно возвращается объект Beeralex\Gigachat\Entity\Chat\Chat
в котором хранится ответ модели.
Пример:
$service = new \Beeralex\Gigachat\Services\ChatService(); $chat = $service->getChat(new \Beeralex\Gigachat\Entity\Chat\ChatParam( new \Beeralex\Gigachat\Entity\Chat\MessagesParam('GigaChat — это сервис, который умеет взаимодействовать с пользователем в формате диалога, писать код, создавать тексты и картинки по запросу пользователя.', 'Ты профессиональный переводчик на английский язык. Переведи точно сообщение пользователя.') )); /** choices массив ответов */ $message = $chat->choices->first()->message->content;
Доступные сервисы:
- Beeralex\Gigachat\Services\ApiService - базовый класс для сервисов, в нем методы для отправки запросов к api.
- Beeralex\Gigachat\Services\AuthService - Сервис осуществляющий получение (метод
getAccessToken
) и обновление (методrefreshToken
) токена, токен кешируется на 30 минут. В случае ошибки 401 при использовании в других сервисах токена, используйте метод refreshToken и пробуйте выполнить запрос повторно. Остальные сервисы можно наследовать от него - Beeralex\Gigachat\Services\BalanceService - Сервис выполняет запрос за балансом ваших моделей (метод
getBalance
), возвращает объектBeeralex\Gigachat\Entity\Balance\Balance
. - Beeralex\Gigachat\Services\ChatService
- Beeralex\Gigachat\Services\EmbeddingService - сервис для генерации эмбеддинга (метод
getEmbeddings
), возвращает объектBeeralex\Gigachat\Entity\Embedding\Embeddings
- Beeralex\Gigachat\Services\ModelsService - сервис для получения доступных моделей (метод
getModels
), возвращает объектBeeralex\Gigachat\Entity\Models\Models