Package: gigachat
GigaChat. Python-библиотека для GigaChainБиблиотека Python, позволяющаяGigaChainобращаться к GigaChat — нейросетевой модели, которая умеет вести диалог, писать код, создавать тексты и картинки по запросу.Обмен данными с сервисом обеспечивается с помощью GigaChat API. О том как получить доступ к API читайте вофициальной документации.Библиотека поддерживает обработкупотоковой передачи токенов, а также работу в синхронном или в асинхронном режиме.Библиотека позволяет выполнитьточный подсчет токеновв тексте с помощью GigaChat API.[!WARNING]
В версии 0.1.14 добавлена поддержка функций (functions). Данная опция находится на этапе тестирования и пока доступна только для
некоторых моделей, а протокол может быть изменен в следующих версиях.УстановкаБиблиотеку можно установить с помощью pip:pipinstallgigachatРабота с GigaChatПеред использованием модуля:Подключите проект GigaChat API.В личном кабинете нажмите кнопкуСгенерировать новый Client Secret.Откроется окноНовый Client Secret.В открывшемся окне, скопируйте и сохраните токен, указанный в полеАвторизационные данные.[!WARNING]
Не закрывайте окно, пока не сохраните токен. В противном случае его нужно будет сгенерировать заново.Пример показывает как импортировать библиотеку вGigaChainи использовать ее для обращения к GigaChat:fromgigachatimportGigaChat# Используйте токен, полученный в личном кабинете из поля Авторизационные данныеwithGigaChat(credentials=<авторизационныеданные>,verify_ssl_certs=False)asgiga: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.txtcert_file="certs/tls.pem",# published_pem.txtkey_file="certs/tls.key",key_file_password="123456",)Авторизация с помощью временного токенаДополнительные настройкиВыбор моделиС помощью GigaChain вы можете обращаться к различным моделям, которые предоставляет GigaChat.Для этого передайте название модели в параметреmodel:giga=GigaChat(model="GigaChat-Pro")Полный список доступных моделей можно получить с помощью запросаGET /modelsк GigaChat API.[!WARNING]
Стоимость запросов к разным моделям отличается. Подробную информацию о тарификации запросов к той или иной модели вы ищите вофициальной документации.Подсчет количества токеновДля подсчета количества токенов в запросах используйте методtokens_count(["текст1", "текст2", ...]).Метод выполняет запросPOST /tokens/countк GigaChat API и возвращает список объектов с информацией о количестве токенов в каждой строке.Векторное представление текстаЭмбеддинг (англ. embedding) — это вектор, представленный в виде массива чисел, который получается в результате преобразования данных, например, текста. Комбинация этих чисел, составляющих вектор, действует как многомерная карта для измерения сходства.Для получения эмбеддингов используйте методembeddings("текст").[!WARNING]
Функция получения эмбеддингов находится на этапе тестирования и может быть недоступна некоторым категориям пользователей.Отключение проверки сертификатовДля отключения проверки сертификатов передайте параметрverify_ssl_certs=False:giga=GigaChat(verify_ssl_certs=False)[!WARNING]
Отключение проверки сертификатов снижает безопасность обмена данными.Установка корневого сертификата НУЦ Минцифры:Для установка корневого сертификата НУЦ Минцифры выполните команду:curl-k"https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer"-w"\n">>$(python-mcertifi)Настройки в переменных окруженияЧтобы задать настройки с помощью переменных окружения, используйте префиксGIGACHAT_.Авторизация с помощью токена и отключение проверки сертификатов:exportGIGACHAT_CREDENTIALS=...exportGIGACHAT_SCOPE=...exportGIGACHAT_VERIFY_SSL_CERTS=FalseАвторизация с помощью логина и пароля:exportGIGACHAT_BASE_URL=https://gigachat.devices.sberbank.ru/api/v1exportGIGACHAT_USER=...exportGIGACHAT_PASSWORD=...