Skip to content

⚡ Набор решений для разработки LLM-приложений на русском языке с поддержкой GigaChat ⚡

License

Notifications You must be signed in to change notification settings

ai-forever/gigachain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT


Logo

🦜️🔗 GigaChain (GigaChat + LangChain)

Набор решений для разработки LLM-приложений на русском языке с поддержкой GigaChat
Создать issue · Документация GigaChain

Product Name Screen Shot


Warning

С 29.10.2024 GigaChain изменяет способ взаимодействия с LangChain. Проект перестает быть ответвлением LangChain и будет предоставлять всю функциональность в рамках партнерского пакета langchain-gigachat.

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

Предыдущую версию GigaChain (v0.2.x) вы можете найти в ветке v_2.x_legacy.

О GigaChain

GigaChain – это набор решений для создания приложений с использованием больших языковых моделей (LLM), который охватывает все этапы разработки от прототипирования и исследования, до запуска в эксплуатацию и поддержки.

Один из компонентов GigaChain — партнерский пакет langchain-gigachat, который позволяет использовать модели GigaChat при работе с LangChain. Также, благодаря этому пакету, вы сможете использовать GigaChat для разработки агентов с помощью LangGraph.

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

Чтобы начать работу, установите партнерский пакет:

pip install langchain-gigachat

Запустите простой пример:

from langchain_core.messages import HumanMessage, SystemMessage
from langchain_gigachat.chat_models import GigaChat

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

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

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

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

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

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

    • GIGACHAT_API_PERS — версия API для физических лиц;
    • GIGACHAT_API_B2B — доступ для ИП и юридических лиц по предоплате;
    • GIGACHAT_API_CORP — доступ для ИП и юридических лиц по схеме pay-as-you-go.

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

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

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

  • streaming — необязательный параметр, который включает и отключает потоковую генерацию токенов. Потоковая генерация позволяет повысить отзывчивость интерфейса программы при работе с длинными текстами. По умолчанию False.

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

About

⚡ Набор решений для разработки LLM-приложений на русском языке с поддержкой GigaChat ⚡

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 99.8%
  • Other 0.2%