Szybki zarys
Ten post zawiera następujące sekcje:
- Jak korzystać z agenta Async API w LangChain
- Metoda 1: Korzystanie z wykonywania szeregowego
- Metoda 2: Korzystanie z wykonywania współbieżnego
- Wniosek
Jak korzystać z agenta Async API w LangChain?
Modele czatu wykonują jednocześnie wiele zadań, takich jak zrozumienie struktury podpowiedzi, jej złożoności, wyodrębnianie informacji i wiele innych. Korzystanie z agenta Async API w LangChain pozwala użytkownikowi budować wydajne modele czatów, które mogą odpowiadać na wiele pytań jednocześnie. Aby poznać proces korzystania z agenta Async API w LangChain, wystarczy postępować zgodnie z tym przewodnikiem:
Krok 1: Instalowanie frameworków
Przede wszystkim zainstaluj framework LangChain, aby uzyskać jego zależności z menedżera pakietów Pythona:
pip zainstaluj langchain
Następnie zainstaluj moduł OpenAI, aby zbudować model języka taki jak llm i ustawić jego środowisko:
pip zainstaluj openai
Krok 2: Środowisko OpenAI
Kolejnym krokiem po instalacji modułów jest konfigurowanie środowiska za pomocą klucza API OpenAI i Serperowe API aby wyszukać dane z Google:
import Ty
import przejść dalej
Ty . około [ „OPENAI_API_KEY” ] = przejść dalej . przejść dalej ( „Klucz API OpenAI:” )
Ty . około [ „SERPER_API_KEY” ] = przejść dalej . przejść dalej ( „Klucz API serwera:” )
Krok 3: Importowanie bibliotek
Teraz, gdy środowisko jest ustawione, po prostu zaimportuj wymagane biblioteki, takie jak asyncio i inne biblioteki, korzystając z zależności LangChain:
z łańcuch językowy. agenci import zainicjuj_agent , ład_narzędziaimport czas
import asyncio
z łańcuch językowy. agenci import Typ agenta
z łańcuch językowy. llms import OpenAI
z łańcuch językowy. oddzwonienia . standardowe wyjście import StdOutCallbackHandler
z łańcuch językowy. oddzwonienia . znaczniki import LangChainTracer
z aiohttp import Sesja Klienta
Krok 4: Skonfiguruj pytania
Ustaw zestaw danych pytań zawierający wiele zapytań związanych z różnymi domenami lub tematami, które można wyszukiwać w Internecie (Google):
pytania = [„Kto jest zwycięzcą mistrzostw US Open w 2021 roku” ,
„W jakim wieku jest chłopak Olivii Wilde” ,
„Kto jest zdobywcą tytułu mistrza świata formuły 1” ,
„Kto wygrała finał kobiet US Open w 2021 roku” ,
„Kim jest mąż Beyonce i w jakim jest wieku” ,
]
Metoda 1: Korzystanie z wykonywania szeregowego
Po wykonaniu wszystkich kroków po prostu wykonaj pytania, aby uzyskać wszystkie odpowiedzi, korzystając z wykonania seryjnego. Oznacza to, że jedno pytanie zostanie wykonane/wyświetlone na raz, a także zwróci całkowity czas potrzebny na wykonanie tych pytań:
llm = OpenAI ( temperatura = 0 )narzędzia = ład_narzędzia ( [ „nagłówek Google” , „llm-matematyka” ] , llm = llm )
agent = zainicjuj_agent (
narzędzia , llm , agent = Typ agenta. ZERO_SHOT_REACT_DESCRIPTION , gadatliwy = PRAWDA
)
S = czas . licznik_perf ( )
#konfigurowanie licznika czasu, aby uzyskać czas wykorzystany na cały proces
Do Q W pytania:
agent. uruchomić ( Q )
upłynął = czas . licznik_perf ( ) - S
#wydrukuj całkowity czas spędzony przez agenta na uzyskaniu odpowiedzi
wydrukować ( F „Serial wykonany w ciągu {elapsed:0,2f} sekund.” )
Wyjście
Poniższy zrzut ekranu pokazuje, że odpowiedź na każde pytanie znajduje się w oddzielnym łańcuchu, a po zakończeniu pierwszego łańcucha drugi staje się aktywny. Wykonanie szeregowe zajmuje więcej czasu, aby uzyskać wszystkie odpowiedzi indywidualnie:
Metoda 2: Korzystanie z wykonywania współbieżnego
Metoda współbieżnego wykonania uwzględnia wszystkie pytania i jednocześnie uzyskuje na nie odpowiedzi.
llm = OpenAI ( temperatura = 0 )narzędzia = ład_narzędzia ( [ „nagłówek Google” , „llm-matematyka” ] , llm = llm )
#Konfiguracja agenta przy użyciu powyższych narzędzi w celu jednoczesnego uzyskiwania odpowiedzi
agent = zainicjuj_agent (
narzędzia , llm , agent = Typ agenta. ZERO_SHOT_REACT_DESCRIPTION , gadatliwy = PRAWDA
)
#konfigurowanie licznika czasu, aby uzyskać czas wykorzystany na cały proces
S = czas . licznik_perf ( )
zadania = [ agent. choroba ( Q ) Do Q W pytania ]
poczekaj na asyncio. zebrać ( *zadania )
upłynął = czas . licznik_perf ( ) - S
#wydrukuj całkowity czas spędzony przez agenta na uzyskaniu odpowiedzi
wydrukować ( F „Równoczesne wykonanie w ciągu {elapsed:0,2f} sekund” )
Wyjście
Wykonanie współbieżne wyodrębnia wszystkie dane w tym samym czasie i zajmuje znacznie mniej czasu niż wykonanie szeregowe:
To wszystko na temat korzystania z agenta Async API w LangChain.
Wniosek
Aby użyć agenta Async API w LangChain, wystarczy zainstalować moduły, aby zaimportować biblioteki z ich zależności i uzyskać bibliotekę asyncio. Następnie skonfiguruj środowiska przy użyciu kluczy OpenAI i Serper API, logując się na odpowiednie konta. Skonfiguruj zestaw pytań związanych z różnymi tematami i wykonuj łańcuchy szeregowo i jednocześnie, aby uzyskać czas ich wykonania. W tym przewodniku szczegółowo opisano proces korzystania z agenta Async API w LangChain.