Бързо очертание
Тази публикация съдържа следните раздели:
- Как да използвате Async API Agent в LangChain
- Метод 1: Използване на серийно изпълнение
- Метод 2: Използване на едновременно изпълнение
- Заключение
Как да използвате Async API агент в LangChain?
Моделите за чат изпълняват множество задачи едновременно като разбиране на структурата на подканата, нейната сложност, извличане на информация и много други. Използването на Async API агент в LangChain позволява на потребителя да изгради ефективни модели за чат, които могат да отговорят на множество въпроси едновременно. За да научите процеса на използване на Async API агент в LangChain, просто следвайте това ръководство:
Стъпка 1: Инсталиране на Frameworks
Първо, инсталирайте рамката LangChain, за да получите нейните зависимости от мениджъра на пакети на Python:
pip инсталирайте langchain
След това инсталирайте модула OpenAI, за да изградите езиковия модел като llm и да зададете неговата среда:
pip инсталирайте openai
Стъпка 2: OpenAI среда
Следващата стъпка след инсталирането на модулите е настройка на средата използвайки API ключа на OpenAI и API на Serper за търсене на данни от Google:
импортиране Вие
импортиране getpass
Вие . приблизително [ „OPENAI_API_KEY“ ] = getpass . getpass ( „API ключ на OpenAI:“ )
Вие . приблизително [ „SERPER_API_KEY“ ] = getpass . getpass ( „API ключ на Serper:“ )
Стъпка 3: Импортиране на библиотеки
Сега, когато средата е зададена, просто импортирайте необходимите библиотеки като asyncio и други библиотеки, използвайки зависимостите на LangChain:
от Langchain. агенти импортиране инициализиращ_агент , load_toolsимпортиране време
импортиране асинхронен
от Langchain. агенти импортиране AgentType
от Langchain. llms импортиране OpenAI
от Langchain. обратни повиквания . стандартен изход импортиране StdOutCallbackHandler
от Langchain. обратни повиквания . маркери импортиране LangChainTracer
от aiohttp импортиране ClientSession
Стъпка 4: Въпроси за настройка
Задайте набор от данни за въпроси, съдържащ множество заявки, свързани с различни домейни или теми, които могат да се търсят в интернет (Google):
въпроси = [„Кой е победителят в Откритото първенство на САЩ през 2021 г.“ ,
'На каква възраст е гаджето на Оливия Уайлд' ,
'Кой е носителят на световната титла във Формула 1' ,
„Кой спечели финала на US Open за жени през 2021 г.“ ,
'Кой е съпругът на Бионсе и на каква възраст е' ,
]
Метод 1: Използване на серийно изпълнение
След като всички стъпки са изпълнени, просто изпълнете въпросите, за да получите всички отговори с помощта на серийното изпълнение. Това означава, че един въпрос ще бъде изпълнен/показан наведнъж и също ще върне цялото време, необходимо за изпълнение на тези въпроси:
llm = OpenAI ( температура = 0 )инструменти = load_tools ( [ 'google-header' , 'llm-math' ] , llm = llm )
агент = инициализиращ_агент (
инструменти , llm , агент = AgentType. ZERO_SHOT_REACT_DESCRIPTION , многословен = Вярно
)
с = време . perf_counter ( )
#конфигуриране на брояча на времето, за да получите времето, използвано за целия процес
за р в въпроси:
агент. тичам ( р )
изтекъл = време . perf_counter ( ) - с
#отпечатайте общото време, използвано от агента за получаване на отговорите
печат ( f „Поредица, изпълнена за {elapsed:0.2f} секунди.“ )
Изход
Следната екранна снимка показва, че на всеки въпрос се отговаря в отделна верига и след като първата верига приключи, втората верига става активна. Серийното изпълнение отнема повече време, за да получите всички отговори поотделно:
Метод 2: Използване на едновременно изпълнение
Методът за едновременно изпълнение приема всички въпроси и получава техните отговори едновременно.
llm = OpenAI ( температура = 0 )инструменти = load_tools ( [ 'google-header' , 'llm-math' ] , llm = llm )
#Конфигуриране на агент с помощта на горните инструменти за получаване на отговори едновременно
агент = инициализиращ_агент (
инструменти , llm , агент = AgentType. ZERO_SHOT_REACT_DESCRIPTION , многословен = Вярно
)
#конфигуриране на брояча на времето, за да получите времето, използвано за целия процес
с = време . perf_counter ( )
задачи = [ агент. заболяване ( р ) за р в въпроси ]
изчакайте asyncio. събирам ( *задачи )
изтекъл = време . perf_counter ( ) - с
#отпечатайте общото време, използвано от агента за получаване на отговорите
печат ( f „Едновременно изпълнено за {elapsed:0.2f} секунди“ )
Изход
Едновременното изпълнение извлича всички данни едновременно и отнема много по-малко време от серийното изпълнение:
Това е всичко за използването на Async API агент в LangChain.
Заключение
За да използвате Async API агента в LangChain, просто инсталирайте модулите, за да импортирате библиотеките от техните зависимости, за да получите asyncio библиотеката. След това настройте средите с помощта на ключовете OpenAI и Serper API, като влезете в съответните им акаунти. Конфигурирайте набора от въпроси, свързани с различни теми, и изпълнете веригите последователно и едновременно, за да получите времето им за изпълнение. Това ръководство разработи подробно процеса на използване на Async API агент в LangChain.