gigachatmirror
GigaChat. Python-библиотека для GigaChain
Библиотека Python, позволяющая GigaChain обращаться к GigaChat — нейросетевой модели, которая умеет вести диалог, писать код, создавать тексты и картинки по запросу.
Обмен данными с сервисом обеспечивается с помощью GigaChat API. О том как получить доступ к API читайте в официальной документации.
Библиотека поддерживает обработку потоковой передачи токенов, а также работу в синхронном или в асинхронном режиме.
Библиотека позволяет выполнить точный подсчет токенов в тексте с помощью GigaChat API.
:)
Установка
Библиотеку можно установить с помощью pip:
pip install gigachat
Работа с GigaChat
Перед использованием модуля:
-
В личном кабинете нажмите кнопку Сгенерировать новый Client Secret.
Откроется окно Новый Client Secret.
-
В открывшемся окне, скопируйте и сохраните токен, указанный в поле Авторизационные данные.
[!WARNING] Не закрывайте окно, пока не сохраните токен. В противном случае его нужно будет сгенерировать заново.
Пример показывает как импортировать библиотеку в GigaChain и использовать ее для обращения к GigaChat:
from gigachat import GigaChat
# Используйте токен, полученный в личном кабинете из поля Авторизационные данныеwith GigaChat(credentials=..., verify_ssl_certs=False) as giga: response = giga.chat("Какие факторы влияют на стоимость страховки на дом?") print(response.choices[0].message.content)
[!NOTE] Вы можете явно указать используемую модель с помощью параметра
model
, напримерGigaChat(model='GigaChat-Pro')
Получить список доступных моделей можно с помощью методаget_models()
[!NOTE] Чтобы точно вычислить сколько токенов занимают тексты, используйте метод
tokens_count(["текст1", "текст2", ...])
[!WARNING] Функция для получения эмбеддингов находится на этапе тестирования и может быть не доступна некоторым категориям пользователей. Для получения эмбеддингов используйте метод
embeddings("текст")
Способы авторизации
Авторизация с помощью токена (в личном кабинете из поля Авторизационные данные):
giga = GigaChat(credentials=...)
# Личное пространствоgiga = GigaChat(credentials=..., scope="GIGACHAT_API_PERS")
# Корпоративное пространствоgiga = GigaChat(credentials=..., scope="GIGACHAT_API_CORP")
Авторизация с помощью логина и пароля:
giga = GigaChat( base_url="https://gigachat.devices.sberbank.ru/api/v1", user=..., password=...,)
Взаимная аутентификация по протоколу TLS (mTLS):
giga = GigaChat( base_url="https://gigachat.devices.sberbank.ru/api/v1", ca_bundle_file="certs/ca.pem", # chain_pem.txt cert_file="certs/tls.pem", # published_pem.txt key_file="certs/tls.key", key_file_password="123456",)
Авторизация с помощью временного токена
Дополнительные настройки
Отключение проверки сертификатов:
giga = GigaChat(verify_ssl_certs=False)
[!WARNING] Отключение проверки сертификатов снижает безопасность обмена данными.
Установка корневого сертификата "Минцифры России":
curl -k "https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer" -w "\n" >> $(python -m certifi)
Настройки в переменных окружения
Чтобы задать настройки с помощью переменных окружения, используйте префикс GIGACHAT_
.
Авторизация с помощью токена и отключение проверки сертификатов:
export GIGACHAT_CREDENTIALS=...export GIGACHAT_SCOPE=...export GIGACHAT_VERIFY_SSL_CERTS=False
Авторизация с помощью логина и пароля:
export GIGACHAT_BASE_URL=https://gigachat.devices.sberbank.ru/api/v1export GIGACHAT_USER=...export GIGACHAT_PASSWORD=...