Как получить доступ к промежуточным шагам агента в LangChain?

Kak Polucit Dostup K Promezutocnym Sagam Agenta V Langchain



LangChain — это платформа для создания моделей чата или языковых моделей, которые могут отвечать на вопросы на человеческом языке. Пользователь вводит строку на естественном языке, и модель понимает ее и генерирует ответ. Если посмотреть на структуру со стороны, считается, что модели чата выполняют только эти действия/задачи. Однако он содержит несколько промежуточных шагов, которые должны выполняться в определенном порядке для достижения оптимальной производительности.

Краткое описание

Этот пост продемонстрирует следующее:

Как получить доступ к промежуточным шагам агента в LangChain?

Чтобы построить агент в LangChain, пользователю необходимо настроить его инструменты и структуру шаблона, чтобы получить количество шагов, участвующих в модели. Агент отвечает за автоматизацию промежуточных шагов, таких как мысли, действия, наблюдения и т. д. Чтобы узнать, как получить доступ к промежуточным шагам агента в LangChain, просто выполните перечисленные шаги:







Шаг 1: Установка фреймворков

Прежде всего, просто установите зависимости LangChain, выполнив следующий код в Блокноте Python:



pip install langchain_experimental



Установите модуль OpenAI, чтобы получить его зависимости, используя команду пункт команду и используйте их для построения языковой модели:





pip установить openai

Шаг 2. Настройка среды OpenAI

После установки модулей настройте среда OpenAI используя ключ API, сгенерированный из его учетной записи:



Импортировать ты
Импортировать получить пропуск

ты. примерно [ 'ОПЕНАЙ_API_KEY' ] '=' получить пропуск. получить пропуск ( «Ключ API OpenAI:» )

Шаг 3. Импорт библиотек

Теперь, когда у нас установлены зависимости, используйте их для импорта библиотек из LangChain:

из Лангчейна. агенты Импортировать load_tools
из Лангчейна. агенты Импортировать инициализировать_агент
из Лангчейна. агенты Импортировать Тип агента
из Лангчейна. llms Импортировать ОпенАИ

Шаг 4: Создание LLM и агента

После того как библиотеки импортированы, пришло время использовать их для построения языковой модели и инструментов для агента. Определите переменную llm и назначьте ее с помощью метода OpenAI(), содержащего аргументы «температура» и «имя_модели». « инструменты Переменная ” содержит метод load_tools() с инструментами SerpAPi и llm-math, а также языковую модель в своем аргументе:

лм '=' ОпенАИ ( температура '=' 0 , название модели '=' 'текст-давинчи-002' )
инструменты '=' load_tools ( [ 'серпапи' , 'ЖМ-математика' ] , лм '=' лм )

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

агент '=' инициализировать_агент (
инструменты ,
лм ,
агент '=' Тип Агента. ZERO_SHOT_REACT_DESCRIPTION ,
подробный '=' Истинный ,
return_intermediate_steps '=' Истинный ,
)

Шаг 5: Использование агента

Теперь протестируйте агента, задав вопрос на входе метода агента() и выполнив его:

ответ '=' агент (
{
'вход' : «Кто девушка Лео Ди Каприо и какая у них разница в возрасте»
}
)

Модель эффективно поработала, чтобы узнать имя девушки Лео Ди Каприо, ее возраст, возраст Лео Ди Каприо и разницу между ними. На следующем снимке экрана показано несколько вопросов и ответов, которые агент искал для получения окончательного ответа:

На приведенном выше снимке экрана не показана работа агента и то, как он доходит до этапа поиска всех ответов. Давайте перейдем к следующему разделу, чтобы найти шаги:

Способ 1: тип возвращаемого значения по умолчанию для доступа к промежуточным шагам

Первый метод доступа к промежуточному шагу — использование типа возвращаемого значения по умолчанию, предлагаемого LangChain, с использованием следующего кода:

Распечатать ( ответ [ 'промежуточные_шаги' ] )

Следующий GIF-изображение отображает промежуточные шаги в одной строке, что не совсем хорошо с точки зрения читабельности:

Метод 2: использование «дампов» для доступа к промежуточным шагам

Следующий метод объясняет другой способ получения промежуточных шагов с использованием библиотеки дампа из платформы LangChain. Используйте метод dumps() с аргументом Pretty, чтобы сделать вывод более структурированным и удобным для чтения:

из Лангчейна. нагрузка . свалка Импортировать свалки

Распечатать ( свалки ( ответ [ 'промежуточные_шаги' ] , симпатичный '=' Истинный ) )

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

Вот и все, что касается доступа к промежуточным шагам агента в LangChain.

Заключение

Для доступа к промежуточным шагам работы агента в LangChain установите модули импорта библиотек для построения языковых моделей. После этого настройте инструменты для инициализации агента, используя инструменты, llm и тип агента, который может отвечать на вопросы. После настройки агента протестируйте его, чтобы получить ответы, а затем используйте тип по умолчанию или библиотеку дампов для доступа к промежуточным шагам. В этом руководстве подробно описан процесс доступа к промежуточным шагам агента в LangChain.