Как реплицировать систему MRKL с помощью агентов в LangChain?

Kak Replicirovat Sistemu Mrkl S Pomos U Agentov V Langchain



Модульная система рассуждений, знаний и языка (MRKL) представляет собой архитектуру, которая может извлекать ответы с причинами их проверки. Он объединяет языковые модели, дискретные рассуждения и внешние источники знаний. Языковые модели создают текст на человеческих языках в соответствии с запросами пользователя. MRKL (произносится: чудо) добавляет рассуждения при составлении ответов, чтобы сделать ответ точным и действительным.

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

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







Как реплицировать систему MRKL с помощью агентов в LangChain



Заключение



Как реплицировать систему MRKL с помощью агентов в LangChain?

LangChain позволяет пользователю создавать агентов, которые можно использовать для выполнения нескольких задач для языковых моделей или чат-ботов. Агенты хранят свою работу со всеми шагами в памяти, прикрепленной к языковой модели. Используя эти шаблоны, агент может воспроизвести работу любой системы, такой как MRKL, чтобы получить оптимизированные результаты без необходимости создавать их заново.





Чтобы изучить процесс репликации системы MRKL с помощью агентов в LangChain, просто выполните перечисленные шаги:

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

Прежде всего, установите экспериментальные модули LangChain с помощью pip с командой langchain-experimental:



pip install langchain-experimental

Установите модуль OpenAI для построения языковой модели системы MRKL:

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

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

Импортируйте библиотеки os и getpass, чтобы получить доступ к операционной системе, предлагающей пользователю предоставить ключи API для учетных записей OpenAI и SerpAPi:

Импортировать ты

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

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

ты . примерно [ 'SERPAPI_API_KEY' ] '=' получить пропуск . получить пропуск ( «Ключ API Serpapi:» )

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

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

от лангчейн. цепи Импортировать LLMMathChain

от лангчейн. llms Импортировать ОпенАИ

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

от лангчейн. коммунальные услуги Импортировать База данных SQL

от langchain_experimental. sql Импортировать SQLDatabaseChain

от лангчейн. агенты Импортировать инициализировать_агент , Инструмент

от лангчейн. агенты Импортировать Тип агента

Шаг 4: Создание базы данных

MRKL использует внешние источники знаний для извлечения информации из данных. В этом посте используется SQLite, который можно скачать по этому адресу. гид для создания базы данных. Следующая команда подтверждает процесс загрузки SQLite, отображая его установленную версию:

sqlite3

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

CD Рабочий стол

CD mydb

sqlite3 Чинук. БД

Загрузите База данных файл и сохраните его в каталоге, чтобы использовать следующую команду для создания файла « .дб ' файл:

. читать Чинук_Sqlite. sql

ВЫБРАТЬ * ИЗ ПРЕДЕЛА исполнителя 10 ;

Шаг 5: Загрузка базы данных

После успешного создания базы данных загрузите файл в коллабораторию Google:

от Google. И ДРУГИЕ Импортировать файлы

загружено '=' файлы. загрузить ( )

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

Шаг 6: Настройка инструментов

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

поиск '=' СерпAPIWrapper ( )
лм '=' ОпенАИ ( температура '=' 0 )
llm_math_chain '=' LLMMathChain ( лм '=' лм , подробный '=' Истинный )
БД '=' SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain '=' SQLDatabaseChain. from_llm ( лм , БД , подробный '=' Истинный )
инструменты '=' [
Инструмент (
имя '=' 'Поиск' ,
функция '=' поиск. бегать ,
описание '=' «Задавайте целевые подсказки, чтобы получить ответы о недавних событиях»
) ,
Инструмент (
имя '=' 'Калькулятор' ,
функция '=' llm_math_chain. бегать ,
описание '=' «полезно для ответа/решения математических задач»
) ,
Инструмент (
имя '=' 'ФуБар БД' ,
функция '=' db_chain. бегать ,
описание '=' «полезно для ответа на запросы из базы данных, и входной вопрос должен иметь полный контекст»
)
]
  • Определите лм переменная с использованием ОпенАИ() метод для получения языковой модели.
  • поиск это инструмент, который вызывает СерпAPIWrapper() метод доступа к своей среде.
  • ЛММатчейн() Метод используется для получения ответов, связанных с математическими задачами.
  • Определите БД переменная с путем к файлу внутри SQLDatabase() метод.
  • SQLDatabaseChain() Этот метод можно использовать для получения информации из базы данных.
  • Определите такие инструменты, как поиск , калькулятор , и ФуБар БД для создания агента для извлечения данных из разных источников:

Шаг 7. Создание и тестирование агента

Инициализируйте систему MRKL с помощью инструментов llm и агента, чтобы получить ответы на вопросы, заданные пользователем:

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

Запустите систему MRKL, используя метод run() с вопросом в качестве аргумента:

мркл. бегать ( «Сколько сейчас лет Лео Ди Каприо и его девушке, это также говорит об их разнице в возрасте» )

Выход

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

Шаг 8. Репликация системы MRKL

Теперь просто используйте мркл Ключевое слово с методом run() для получения ответов из разных источников, таких как базы данных:

мркл. бегать ( «Как полное имя исполнителя, чей альбом под названием «The Storm Before the Calm» вышел недавно, и есть ли они в базе данных FooBar, а также какие из их альбомов есть в базе данных?» )

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

Шаг 9: Использование ChatModel

Пользователь может просто изменить языковую модель, используя метод ChatOpenAI(), чтобы сделать ее ChatModel и использовать с ней систему MRKL:

от лангчейн. чат_модели Импортировать ЧатOpenAI

поиск '=' СерпAPIWrapper ( )
лм '=' ЧатOpenAI ( температура '=' 0 )
ллм1 '=' ОпенАИ ( температура '=' 0 )
llm_math_chain '=' LLMMathChain ( лм '=' ллм1 , подробный '=' Истинный )
БД '=' SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain '=' SQLDatabaseChain. from_llm ( ллм1 , БД , подробный '=' Истинный )
инструменты '=' [
Инструмент (
имя '=' 'Поиск' ,
функция '=' поиск. бегать ,
описание '=' «Задавайте целевые подсказки, чтобы получить ответы о недавних событиях»
) ,
Инструмент (
имя '=' 'Калькулятор' ,
функция '=' llm_math_chain. бегать ,
описание '=' «полезно для ответа/решения математических задач»
) ,
Инструмент (
имя '=' 'ФуБар БД' ,
функция '=' db_chain. бегать ,
описание '=' «полезно для ответа на запросы из базы данных, и входной вопрос должен иметь полный контекст»
)
]

Шаг 10. Проверьте агент MRKL

После этого соберите агент и инициализируйте его в переменной mrkl с помощью метода Initialize_agent(). Добавьте параметр метода для интеграции таких компонентов, как инструменты, llm, агент и подробный процесс, чтобы получить на выходе полный процесс:

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

Выполните вопрос, запустив систему mrkl, как показано на следующем снимке экрана:

мркл. бегать ( «Кто девушка Лео Ди Каприо? Сколько им сейчас лет» )

Выход

Следующий фрагмент отображает окончательный ответ, полученный агентом:

Шаг 11. Репликация системы MRKL

Используйте систему MRKL, вызвав метод run() с вопросом на естественном языке, чтобы извлечь информацию из базы данных:

мркл. бегать ( «Как полное имя исполнителя, чей альбом под названием «The Storm Before the Calm» вышел недавно, и есть ли они в базе данных FooBar, а также какие из их альбомов есть в базе данных?» )

Выход

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

Вот и все, что касается процесса репликации системы MRKL с помощью агентов в LangChain:

Заключение

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