ym88659208ym87991671
Быстрый старт | Документация для разработчиков

Быстрый старт

Обновлено 20 ноября 2024

Для работы начала работы:

  1. Установите пакет langchain-gigachat.
  2. Установите сертификаты минцифры.
  3. Настройте авторизацию запросов к GigaChat API.

Установка

Для установки пакета langchain-gigachat используйте менеджер пакетов pip:

pip install langchain-gigachat

После выполнения команды автоматически устанавливаются фреймворк LangChain и библиотека gigachat, которая позволяет отправлять запросы к разным моделям GigaChat.

Настройка авторизации запросов к GigaChat API

Для авторизации запросов к GigaChat вам понадобится получить ключ авторизации для работы с GigaChat API.

О том как это сделать — в разделах Быстрый старт для физических лиц и Быстрый старт для ИП и юридических лиц.

Подробнее о ключе авторизации

Ключ авторизации — строка, полученная в результате кодирования в Base64 клиентского идентификатора (Client ID) и ключа (Client Secret) API. Вы можете использовать готовые данные из личного кабинета или самостоятельно закодировать идентификатор и ключ.

Ключ авторизации нужен для получения токена доступа Access token с помощью запроса POST /api/v2/oauth.

При этом, если вы хотите протестировать API с помощью консоли в документации, для получения токена доступа потребуются именно идентификатор и ключ, которые используются в качестве логина и пароля соответственно. Консоль автоматически кодирует их в Base64.

Это связано с тем, что запрос POST /api/v2/oauth работает по Basic-схеме аутентификации.

Передайте ключ авторизации в параметре credentials объекта GigaChat.

model = GigaChat(
credentials="ключ_авторизации",
scope="GIGACHAT_API_PERS",
model="GigaChat",
streaming=False,
verify_ssl_certs=False,
)

Объект GigaChat принимает параметры:

  • credentials — ключ авторизации для обмена сообщениями с GigaChat API. О том как получить ключ авторизации — в разделе Быстрый старт.

  • scope — версия API, к которой будет выполнен запрос. Необязательный параметр. Возможные значения:

    • GIGACHAT_API_PERS — версия API для физических лиц;
    • GIGACHAT_API_B2B — версия API для ИП и юрлиц при работе по предоплате.
    • GIGACHAT_API_CORP — версия API для ИП и юрлиц при работе по постоплате.

    По умолчанию запросы передаются в версию для физических лиц.

  • model — необязательный параметр, в котором можно явно задать модель GigaChat.

    По умолчанию запросы передаются в модель GigaChat Lite.

  • streaming — необязательный параметр, который включает потоковую передачу токенов.

  • verify_ssl_certs — необязательный параметр, с помощью которого можно отключить проверку сертификатов НУЦ Минцифры.

Подробнее о параметрах GigaChat — в репозитории.

Ключ авторизации и другие параметры GigaChat можно задать с помощью переменных среды. Для этого используйте переменные с префиксом GIGACHAT:

export GIGACHAT_CREDENTIALS=...
export GIGACHAT_SCOPE=...
export GIGACHAT_VERIFY_SSL_CERTS=False

Установка сертификатов минцифры

Для обращения к GigaChat в вашем приложении или в вашей операционной системе должны быть установлены сертификаты минцифры.

Если нужно вы можете отключить проверку сертификатов с помощью параметра verify_ssl_certs=False.

Пример работы

Простой пример работы с чатом с помощью модуля GigaChat:

"""Пример обращения к GigaChat с помощью GigaChain"""
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_gigachat.chat_models import GigaChat

# Авторизация в GigaChat
model = GigaChat(
credentials="ключ_авторизации",
scope="GIGACHAT_API_PERS",
model="GigaChat",
# Отключает проверку наличия сертификатов НУЦ Минцифры
verify_ssl_certs=False,
)

messages = [
SystemMessage(
content="Ты эмпатичный бот-психолог, который помогает пользователю решить его проблемы."
)
]

while(True):
user_input = input("Пользователь: ")
if user_input == "пока":
break
messages.append(HumanMessage(content=user_input))
res = model.invoke(messages)
messages.append(res)
print("GigaChat: ", res.content)

Смотрите также

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.