Как использовать агент Async API в LangChain?

Kak Ispol Zovat Agent Async Api V Langchain



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

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

Этот пост содержит следующие разделы:

Как использовать агент Async API в LangChain?

Модели чата одновременно выполняют несколько задач, таких как понимание структуры подсказки, ее сложности, извлечение информации и многое другое. Использование агента Async API в LangChain позволяет пользователю создавать эффективные модели чата, которые могут отвечать на несколько вопросов одновременно. Чтобы изучить процесс использования агента Async API в LangChain, просто следуйте этому руководству:







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

Прежде всего, установите фреймворк LangChain, чтобы получить его зависимости от менеджера пакетов Python:



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



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





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

Шаг 2: Среда OpenAI

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



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

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

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

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

от лангчейн. агенты Импортировать инициализировать_агент , load_tools
Импортировать время
Импортировать асинхронный
от лангчейн. агенты Импортировать Тип агента
от лангчейн. llms Импортировать ОпенАИ
от лангчейн. обратные вызовы . стандартный вывод Импортировать StdOutCallbackHandler
от лангчейн. обратные вызовы . трассеры Импортировать LangChainTracer
от айоhttp Импортировать Клиентская сессия

Шаг 4. Вопросы по настройке

Установите набор данных вопросов, содержащий несколько запросов, относящихся к различным доменам или темам, которые можно искать в Интернете (Google):

вопросы '=' [
«Кто победитель Открытого чемпионата США в 2021 году» ,
«Сколько лет парню Оливии Уайлд» ,
«Кто является обладателем титула чемпиона мира в Формуле-1» ,
«Кто выиграл женский финал US Open в 2021 году» ,
«Кто муж Бейонсе и сколько ему лет» ,
]

Метод 1: использование последовательного выполнения

После завершения всех шагов просто выполните вопросы, чтобы получить все ответы, используя последовательное выполнение. Это означает, что одновременно будет выполняться/отображаться один вопрос, а также будет возвращено полное время, необходимое для выполнения этих вопросов:

лм '=' ОпенАИ ( температура '=' 0 )
инструменты '=' load_tools ( [ 'заголовок Google' , 'ЖМ-математика' ] , лм '=' лм )
агент '=' инициализировать_агент (
инструменты , лм , агент '=' Тип Агента. ZERO_SHOT_REACT_DESCRIPTION , подробный '=' Истинный
)
с '=' время . perf_counter ( )
#настройка счетчика времени, чтобы получить время, затраченное на весь процесс
для д в вопросы:
агент. бегать ( д )
истек '=' время . perf_counter ( ) - с
#распечатываем общее время, затраченное агентом на получение ответов
Распечатать ( ж «Последовательный выпуск выполнен за {elapsed:0.2f} секунд». )

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

Метод 2: использование одновременного выполнения

Метод одновременного выполнения одновременно задает все вопросы и получает на них ответы.

лм '=' ОпенАИ ( температура '=' 0 )
инструменты '=' load_tools ( [ 'заголовок Google' , 'ЖМ-математика' ] , лм '=' лм )
#Настройка агента с использованием вышеуказанных инструментов для одновременного получения ответов
агент '=' инициализировать_агент (
инструменты , лм , агент '=' Тип Агента. ZERO_SHOT_REACT_DESCRIPTION , подробный '=' Истинный
)
#настройка счетчика времени, чтобы получить время, затраченное на весь процесс
с '=' время . perf_counter ( )
задания '=' [ агент. болезнь ( д ) для д в вопросы ]
жду асинсио. собирать ( *задания )
истек '=' время . perf_counter ( ) - с
#распечатываем общее время, затраченное агентом на получение ответов
Распечатать ( ж «Одновременное выполнение за {elapsed:0.2f} секунд» )

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

Это все, что касается использования агента Async API в LangChain.

Заключение

Чтобы использовать агент Async API в LangChain, просто установите модули для импорта библиотек из их зависимостей, чтобы получить библиотеку asyncio. После этого настройте среды, используя ключи API OpenAI и Serper, войдя в соответствующие учетные записи. Настройте набор вопросов, связанных с разными темами, и выполняйте цепочки последовательно и одновременно, чтобы получить время их выполнения. В этом руководстве подробно описан процесс использования агента Async API в LangChain.