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

GigaChain

Обновлено 1 декабря 2023

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

Взаимодействие с GigaChat выполняется с помощью одноименной библиотеки, которая предоставляет интерфейсы для авторизации и обращения к сервису с помощью GigaChat API.

Библиотека GigaChain обратно совместима с LangChain, что позволяет использовать ее не только для работы с GigaChat, но и при работе с другими LLM в различных комбинациях.

Подробная документация для GigaChain доступна в репозитории.

GigaChain находится ранней стадии разработки. Будьте осторожны при использовании SDK в своих проектах, так как не все компоненты оригинальной библиотеки проверены на совместимость с GigaChat.

Назначение

SDK упростит интеграцию вашего приложения с нейросетевой моделью GigaChat и поможет в таких задачах, как:

  • Работа с промптами.

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

  • Создание цепочек.

    Цепочки — это последовательность вызовов к LLM или другим инструментам. GigaChain дает доступ к стандартному интерфейсу для создания цепочек, различным интеграциям с другими инструментами и готовым цепочкам для популярных приложений.

  • Дополнение данных.

    Генерация с дополненными данными включает в себя специфические типы цепочек. Эти цепочки сначала получают данные от внешнего источника, а затем используют их в генерации ответа нейросети. Примеры генерации ответов на основе дополненных данных включают в себя суммирование больших текстов и ответы на вопросы по заданным источникам.

    Пример — Ответы на вопросы по статьям из Wikipedia

  • Работа с агентами.

    Агент — это LLM, которая принимает решение о дальнейшем действии, отслеживает его результат, и, с учетом результата, принимает новое решение. Процесс повторяется до завершения. GigaChain предоставляет стандартный интерфейс для работы с агентами, выбор агентов и примеры готовых агентов.

    Пример — Игра в стиле DnD с GPT-3.5 и GigaChat.

  • Создание памяти.

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

Установка

GigaChain можно установить с помощью pip:

pip install gigachain

Работа с GigaChain

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

Авторизация запросов к GigaChat

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

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

Для работы с сервисом GigaChat передайте полученные авторизационные данные в параметре credentials объекта GigaChat.

chat = GigaChat(credentials=<авторизационные данные>)

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

Вы можете установить сертификаты с помощью утилиты gigachain-cli. Для этого:

  1. Установите утилиту с помощью менеджера пакетов pip:
pip install gigachain-cli
  1. Установите сертификаты с помощью команды:
gigachain install-rus-certs

Если вы не используете сертификат минцифры, то при создании объекта GigaChat вам нужно передать параметр verify_ssl_certs=False .

chat = GigaChat(credentials=<авторизационные данные>, verify_ssl_certs=False)

Для передачи аторизационных данных и других параметров GigaChat вы также можете настроить переменные окружения, например, GIGA_CREDENTIALS, GIGA_VERIFY_SSL_CERTS и другие.

Использование модуля 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)

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

Развернутую версию примера смотрите в репозитории.

Описание модуля gigachat

Модуль gigachat позволяет авторизовать запросы от вашего приложения в GigaChat с помощью библиотеки GigaChat. Модуль поддерживает работу как в синхронном, так и в асинхронном режиме.

Модуль поддерживает не только GigaChat. Поэтому, если ваше приложение уже использует другие нейросетевые модели, интеграция с GigaChat не составит труда.

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

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

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