Разработка простого LLM-приложения
В этом разделе показан пример разработки LLM-приложения, которое переводит текст с английского языка на другой язык. Итоговое приложение включает всего один вызов LLM плюс некоторую работу с промптами. Это довольно простое приложение, но оно показывает, что множество фу нкций можно реализовать только с помощью промптов и вызова LLM.
Подготовка к разработке
Jupyter-блокноты
Это руководство, как и большинство других в документации, использует Jupyter-блокноты . Они отлично подходят для изучения работы с LLM-системами, так как предоставляют интерактивную среду для работы с руководствами и позволяют работать с непредвиденными ситуациями: недоступностью API, нетипичным выводом и другими.
Подробнее об установке jupyter — в официальной документации .
Установка
Для установки GigaChain выполните команду:
pip install langchain-gigachat
Подробнее об установке — в разделе Установка.
Работа с языковыми моделями
В первую очередь для использования GigaChain нужно подключить языковую модель.
Хотя GigaChain поддерживает различные языковые модели, основным преимуществом библиотеки является возможность работы с моделями GigaChat.
# | output: false
# | echo: false
from langchain_gigachat.chat_models import GigaChat
model = GigaChat(
credentials="ключ_авторизации",
scope="GIGACHAT_API_PERS",
model="GigaChat",
verify_ssl_certs=False,
)
Объект GigaChat принимает параметры:
-
credentials— ключ авторизации для обмена сообщениями с GigaChat API. О том, как получить ключ авторизации — в разделе Быстрый старт. -
scope— необязательный параметр, позволяющий указать версию API, к которой нужно обратиться. Возможные значения:GIGACHAT_API_PERS— версия API для физических лиц;GIGACHAT_API_CORP— версия API для ИП и юрлиц.
По умолчанию запросы передаются в версию для физических лиц.
-
model— необязательный параметр, в котором можно явно задать модель GigaChat. -
verify_ssl_certs— необя зательный параметр, с помощью которого можно отключить проверку сертификатов НУЦ Минцифры.
Попробуйте обратиться к модели напрямую.
Объекты ChatModel — это экземпляры Runnable-интерфейса GigaChain.
Все экземпляры Runnable предоставляют стандартный интерфейс для взаимодействия.
Так, чтобы обратиться к модели, достаточно вызвать метод .invoke() со списком сообщений.
from langchain_core.messages import HumanMessage, SystemMessage
messages = [
SystemMessage(content="Переведи следующее сообщение с русского на английский"),
HumanMessage(content="привет!"),
]
model.invoke(messages)