GigaChat. Python-библиотека для GigaChain
Библиотека Python, позволяющая GigaChain обращаться к GigaChat — нейросетевой модели, которая умеет вести диалог, писать код, создавать тексты и картинки по запросу.
Обмен данными с сервисом обеспечивается с помощью GigaChat API. О том как получить доступ к 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)
Способы авторизации
Авторизация с помощью токена (в личном кабинете из поля Авторизационные данные):
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/v1
export GIGACHAT_USER=...
export GIGACHAT_PASSWORD=...
Release files for gigachat 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gigachat-0.1.9.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gigachat-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.7 kB
Release files / gigachat-0.1.9.tar.gz
| Download URL | gigachat-0.1.9.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94b03a2e8d3ce3e368aaa041a105bf94c3f7a2eca9361e34a52a32121de1f583
|
|
BLAKE2b-256 checksum How to use checksums |
66bf64825e2a8664391ac440af566d7e0bc086113eb9e01cc3023c46c7652c0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.11.6 Darwin/23.0.0
|
Release files / gigachat-0.1.9-py3-none-any.whl
| Download URL | gigachat-0.1.9-py3-none-any.whl |
|---|---|
| Size | 20.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9c0508e61b64cbec3ac13b97eb4c423adbaa26762f2c6a01d910ed823d3698d
|
|
BLAKE2b-256 checksum How to use checksums |
eb9acf7bfddfaf2df7b7ee08a63a081d52e730ecacdbc2992f6b192022a9f79a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.11.6 Darwin/23.0.0
|