Wie verwende ich die „asyncio“-Bibliothek in LangChain?

Wie Verwende Ich Die Asyncio Bibliothek In Langchain



LangChain ist ein Framework zum Aufbau großer Sprachmodelle mithilfe künstlicher Intelligenz, damit es Text generieren und mit Menschen interagieren kann. Das Asyncio ist die Bibliothek, die verwendet werden kann, um ein Modell wie LLM mehrmals mit demselben Befehl oder derselben Abfrage aufzurufen. Es erhöht auch die Arbeitsgeschwindigkeit unseres LLM-Modells, um Text effizient zu generieren.

Dieser Artikel zeigt, wie Sie die „asyncio“-Bibliothek in LangChain verwenden.







Wie verwende/führe ich die „asyncio“-Bibliothek in LangChain aus?

Die Async-API kann als Unterstützung für LLMs verwendet werden. Um die Asyncio-Bibliothek in LangChain zu verwenden, befolgen Sie einfach diese Anleitung:



Installieren Sie die Voraussetzungen



Installieren Sie das LangChain-Modul, um die Asyncio-Bibliothek in LangChain zum gleichzeitigen Aufrufen von LLMs zu verwenden:





Pip Installieren langchain



Das OpenAI-Modul ist außerdem erforderlich, um LLMs mithilfe der OpenAIEmbeddings zu erstellen:

Pip Installieren openai

Konfigurieren Sie nach der Installation einfach den OpenAI-API-Schlüssel mit dem folgenden Code:

Importieren Sie uns
getpass importieren

os.environ [ „OPENAI_API_KEY“ ] = getpass.getpass ( „OpenAI-API-Schlüssel:“ )

Verwenden von Asyncio zum Erstellen von LLM

Die Asyncio-Bibliothek kann zur Unterstützung von LLMs verwendet werden, da sie im folgenden Code in LangChain verwendet wird:

importieren Zeit
Asynchron importieren
#Asyncio-Bibliotheken aus LangChain importieren, um sie zu verwenden
aus langchain.llms OpenAI importieren

#Definieren Sie die Funktion, um den Zeitstempel der seriellen Generierung abzurufen
auf jeden Fall generieren_seriell ( ) :
llm = OpenAI ( Temperatur = 0,9 )
für _ In Reichweite ( 5 ) :
resp = llm.generate ( [ 'Was machst du?' ] )
drucken ( bzw. Generationen [ 0 ] [ 0 ] .Text )

#Definieren Sie die Funktion, um den Zeitstempel der synchronen Generierung abzurufen
async def async_generate ( llm ) :
resp = warte auf llm.agenerate ( [ 'Was machst du?' ] )
drucken ( bzw. Generationen [ 0 ] [ 0 ] .Text )

#Definieren Sie die Funktion, um den Zeitstempel der gleichzeitigen Generierung von Daten abzurufen
async def generic_concurrently ( ) :
llm = OpenAI ( Temperatur = 0,9 )
Aufgaben = [ async_generate ( llm ) für _ In Reichweite ( 10 ) ]
warte auf asyncio.gather ( * Aufgaben )

#Konfigurieren Sie die resultierende Ausgabe mithilfe von Asyncio, um eine gleichzeitige Ausgabe zu erhalten
s = time.perf_counter ( )
Warten Sie auf generic_concurrently ( )
verstrichen = time.perf_counter ( ) - S
drucken ( '\033[1m' + f „Gleichzeitig ausgeführt in {elapsed:0.2f} Sekunden.“ + '\033[0m' )

#Konfigurieren Sie den Zeitstempel für die resultierende Ausgabe, um eine serielle Ausgabe zu erhalten
s = time.perf_counter ( )
generieren_seriell ( )
verstrichen = time.perf_counter ( ) - S
drucken ( '\033[1m' + f „Seriell ausgeführt in {elapsed:0.2f} Sekunden.“ + '\033[0m' )

Der obige Code verwendet die Asyncio-Bibliothek, um die Zeit zum Generieren von Texten mithilfe von zwei unterschiedlichen Funktionen zu messen, z generieren_seriell() Und generic_concurrently() :

Ausgabe

Der folgende Screenshot zeigt, dass die Zeitkomplexität sowohl für die Funktionen als auch die Zeitkomplexität der gleichzeitigen Textgenerierung besser ist als die der seriellen Textgenerierung:

Dabei geht es darum, die „asyncio“-Bibliothek zum Erstellen von LLMs in LangChain zu verwenden.

Abschluss

Um die Asyncio-Bibliothek in LangChain zu verwenden, installieren Sie einfach die Module LangChain und OpenAI, um mit dem Prozess zu beginnen. Die Async-API kann beim Aufbau eines LLM-Modells zum Erstellen von Chatbots hilfreich sein, um aus früheren Gesprächen zu lernen. In diesem Leitfaden wurde der Prozess der Verwendung der Asyncio-Bibliothek zur Unterstützung der LLMs mithilfe des LangChain-Frameworks erläutert.