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

Быстрый старт для ИП и юридических лиц

Обновлено 13 марта 2024

Следуйте инструкциям из этого раздела и вы пройдете путь от регистрации в личном кабинете до первых запросов API и SDK.

Для работы с GigaChat API установите сертификаты НУЦ Минцифры.

Шаг 1. Отправьте заявку на доступ к проекту GigaChat API

Проект GigaChat API нужен для получения авторизационных данных. С их помощью вы можете получить токен доступа для авторизации запросов к API, а также для управления платными опциями.

Авторизационные данные — это пара идентификатор (Client ID) и клиентский ключ (Client Secret), закодированные в base64.

Чтобы заполнить и отправить заявку для получение доступа к GigaChat API:

  1. Зарегистрируйтесь или авторизуйтесь в личном кабинете.

  2. Перейдите в корпоративное пространство.

  3. Нажмите Создать проект в левом меню.

  4. Выберите Запросить доступ GigaChat API в разделе AI-модели.

    Заполните заявку на получение доступа к GigaChat API.

    Перед отправкой заявки изучите условия оферты.

  5. Нажмите кнопку Отправить заявку.

Если у вас уже есть личный кабинет, авторизуйтесь и отправьте заявку на доступ к GigaChat API по ссылке.

Шаг 2. Подтвердите согласие с офертой

После отправки запроса на доступ к GigaChat API вам нужно сообщить о согласии с офертой. Для этого:

  1. Скачайте и заполните заявление.

    Чтобы заполнить поле Идентификатор (ID) Аккаунта (workspace ID), перейдите на главную страницу корпоративного пространства и скопируйте из адресной строки все символы после https://developers.sber.ru/studio/workspaces/.

  2. Отправьте нам заполненное заявление в формате doc/docx по ЭДО.

Рассмотрение запроса на доступ обычно занимает до двух рабочих дней после предоставления документов. Вы получите письмо на свой электронный адрес с положительным или отрицательным ответом. Чтобы сократить время рассмотрения заявки, отправьте письмо на электронную почту.

Шаг 3. Получите авторизационные данные

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

Для получения авторизационных данных нажмите кнопку Сгенерировать новый Client Secret. Авторизационные данные могут получить только пользователи с ролями Владелец и Администратор — для остальных ролей кнопка Сгенерировать новый Client Secret будет неактивна.

Подробнее о ролях и их возможностях — в разделе Настройка команды в пространстве.

Авторизационные данные — это строка, полученная в результате кодирования в base64 идентификатора и клиентский ключ.

Вы можете сгенерировать их самостоятельно.

В открывшемся окне скопируйте и сохраните значение поля Авторизационные данные. Полученные авторизационные данные нужно передавать в заголовке Authorization запросов к версии GigaChat API для ИП и юридических лиц: scope=GIGACHAT_API_CORP.

Получение авторизационных данных

Клиентский ключ, а следовательно и авторизационные данные, отображаются только один раз и не хранятся в личном кабинете.

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

Шаг 4. Получите токена доступа

Токен доступа нужен для авторизации запросов к GigaChat API по Bearer-схеме. Токен получается в обмен на авторизационные данные с помощью запроса POST /api/v2/oauth. Токен действителен в течение 30 минут.

Пример запроса для получения токена доступа:

curl -L -X POST 'https://ngw.devices.sberbank.ru:9443/api/v2/oauth' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-H 'RqUID: <идентификатор_запроса>' \
-H 'Authorization: Basic <авторизационные_данные>' \
--data-urlencode 'scope=GIGACHAT_API_CORP'

Пример ответа:

{
"access_token": "<токен_доступа>",
"expires_at": 1706026848841
}

В справочной документации вы найдете подробное описание параметров запроса и ответа. Также сможете сгенерировать токен доступа с помощью своего идентификатора (Client ID) и клиентского ключа (Client Secret).

Используйте полученный токен доступа для авторизации запросов к GigaChat API.

Шаг 5. Запросы к GigaChat API

Запросы к GigaChat API авторизуются с помощью токена доступа, который передан в заголовке Authorization:

curl https://gigachat.devices.sberbank.ru/api/v1/models \
-H 'Authorization: Bearer <токен_доступа>' \

Подробное описание всех запросов к API — в справочной документации.

Генерация текста

За генерацию текста отвечает запрос POST /chat/completions.

Запросы на генерацию текста тратят токены. Токены расходуются как на запрос, так и на ответ модели. Вы можете заранее оценить количество токенов в запросе с помощью запроса POST /tokens/count. Разные модели считают токены по-разному. Количество оставшихся токенов отображается в личном кабинете проекта GigaChat API.

Токен — единица тарификации. Токен может быть символом, несколькими символами, кусочком слова или словом целиком. В среднем в одном токене 3—4 символа, включая пробелы, знаки препинания и специальные символы.

Пример запроса:

curl -L -X POST 'https://gigachat.devices.sberbank.ru/api/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>' \
--data-raw '{
"model": "GigaChat",
"messages": [
{
"role": "user",
"content": "Привет! Как дела?"
}
],
"temperature": 1.0,
"top_p": 0.1,
"n": 1,
"stream": false,
"max_tokens": 512,
"repetition_penalty": 1
}'

Пример ответа:

{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Все отлично, спасибо. А как ваши дела?",
"role": "assistant"
}
}
],
"created": 1706096547,
"model": "GigaChat",
"object": "chat.completion",
"usage": {
"completion_tokens": 12,
"prompt_tokens": 173,
"system_tokens": 0,
"total_tokens": 185
}
}

Создание эмбеддинга

Для создания эмбеддингов используется запрос POST /embeddings. При создании эмбеддинга расходуются токены, также как и при генерации текста. Запросы на создание эмбеддингов передаются в модель Embeddings.

Подробнее о создании эмбеддингов читайте в разделе Векторное представление текста.

Пример запроса:

curl -L -X POST 'https://gigachat.devices.sberbank.ru/api/v1/embeddings' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>' \
--data-raw '{
"model": "Embeddings",
"input": [
"Расскажи о современных технологиях"
]
}'

Шаг 6. Использование GigaChat SDK (GigaChain)

GigaChain — это библиотека Python, которая позволяет упростить и автоматизировать работу с нейросетевой моделью GigaChat и другими большими языковыми моделями (LLM). GigaChain является версией библиотеки LangChain, которая адаптирована для работы с русским языком.

Для работы с SDK установите библиотеки gigachain и gigachat:

pip install gigachain
pip install gigachat

Библиотека gigachat — отдельная python-библиотека, которая позволяет отправлять запросы к GigaChat. Обмен данными с моделью обеспечивается с помощью GigaChat API.

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

"""Пример работы с чатом через gigachain"""
from langchain.schema import HumanMessage, SystemMessage
from langchain.chat_models.gigachat import GigaChat

# Авторизация в сервисе GigaChat
chat = GigaChat(credentials='<авторизационные_данные>', verify_ssl_certs=False)

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

while(True):
# Ввод пользователя
user_input = input("User: ")
messages.append(HumanMessage(content=user_input))
res = chat(messages)
messages.append(res)
# Ответ модели
print("Bot: ", res.content)

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

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