LangChain to platforma do budowania dużych modeli językowych przy użyciu sztucznej inteligencji, która może generować tekst i wchodzić w interakcję z ludźmi. Asyncio to biblioteka, której można używać do wielokrotnego wywoływania modelu takiego jak LLM przy użyciu tego samego polecenia lub zapytania. Zapewnia również zwiększenie szybkości działania naszego modelu LLM w celu wydajnego generowania tekstu.
W tym artykule pokazano, jak korzystać z biblioteki „asyncio” w LangChain.
Jak używać/wykonywać bibliotekę „asyncio” w LangChain?
Async API może być używane jako wsparcie dla LLM, więc aby korzystać z biblioteki asyncio w LangChain, wystarczy postępować zgodnie z tym przewodnikiem:
Zainstaluj wymagania wstępne
Zainstaluj moduł LangChain, aby rozpocząć korzystanie z biblioteki asyncio w LangChain w celu jednoczesnego wywoływania LLM:
pypeć zainstalować łańcuch językowy
Moduł OpenAI jest również wymagany do budowania LLM przy użyciu OpenAIEmbeddings:
pypeć zainstalować otwórz
Po instalacji wystarczy skonfigurować klucz API OpenAI, używając następującego kodu:
importuj naszaimportuj getpass
os.środowisko [ „OPENAI_API_KEY” ] = getpass.getpass ( „Klucz API OpenAI:” )
Używanie asyncio do budowania LLM
Biblioteki asyncio można używać do obsługi LLM, ponieważ poniższy kod wykorzystuje ją w LangChain:
import czasimportuj asyncio
#Importowanie bibliotek asyncio z LangChain, aby z nich korzystać
z langchain.llms importuje OpenAI
#define funkcję pobierającą znacznik czasu generacji szeregowej
def generuj_serialowo ( ) :
llm = OpenAI ( temperatura = 0,9 )
Do _ W zakres ( 5 ) :
resp = llm.generate ( [ 'Co robisz?' ] )
wydrukować ( odpowiednio pokolenia [ 0 ] [ 0 ] .tekst )
#define funkcję pobierającą znacznik czasu generacji synchronicznej
async def async_generate ( llm ) :
resp = czekaj llm.agenerate ( [ 'Co robisz?' ] )
wydrukować ( odpowiednio pokolenia [ 0 ] [ 0 ] .tekst )
#zdefiniuj funkcję pobierającą znacznik czasu jednoczesnego generowania danych
async def generuj_współbieżnie ( ) :
llm = OpenAI ( temperatura = 0,9 )
zadania = [ async_generate ( llm ) Do _ W zakres ( 10 ) ]
czekaj na asyncio.gather ( * zadania )
#skonfiguruj wynikowe wyjście za pomocą asyncio, aby uzyskać współbieżne wyjście
s = czas.licznik_wydajności ( )
poczekaj na generowanie_współbieżne ( )
upłynął = czas.perf_counter ( ) - S
wydrukować ( '\033[1m' + f „Równoczesne wykonanie w ciągu {elapsed:0,2f} sekund.” + '\033[0m' )
#skonfiguruj znacznik czasu dla wynikowego wyjścia, aby uzyskać wyjście szeregowe
s = czas.licznik_wydajności ( )
wygeneruj_serial ( )
upłynął = czas.perf_counter ( ) - S
wydrukować ( '\033[1m' + f „Serial wykonany w ciągu {elapsed:0,2f} sekund.” + '\033[0m' )
Powyższy kod wykorzystuje bibliotekę asyncio do pomiaru czasu generowania tekstów przy użyciu dwóch różnych funkcji, takich jak generuj_serial() I generuj_współbieżnie() :
Wyjście
Poniższy zrzut ekranu pokazuje, że złożoność czasowa obu funkcji i złożoność czasowa jednoczesnego generowania tekstu jest lepsza niż w przypadku seryjnego generowania tekstu:
Chodzi o wykorzystanie biblioteki „asyncio” do budowania LLM w LangChain.
Wniosek
Aby korzystać z biblioteki asyncio w LangChain, po prostu zainstaluj moduły LangChain i OpenAI, aby rozpocząć proces. Async API może być pomocne podczas budowania modelu LLM do tworzenia chatbotów, które będą uczyć się na podstawie poprzednich rozmów. W tym przewodniku wyjaśniono proces używania biblioteki asyncio do obsługi LLM przy użyciu frameworka LangChain.