Hoe gebruik ik de “asyncio”-bibliotheek in LangChain?

Hoe Gebruik Ik De Asyncio Bibliotheek In Langchain



LangChain is een raamwerk om grote taalmodellen te bouwen met behulp van kunstmatige intelligentie, zodat het tekst kan genereren en met mensen kan communiceren. De asyncio is de bibliotheek die kan worden gebruikt om een ​​model als LLM meerdere keren aan te roepen met dezelfde opdracht of query. Het zorgt ook voor een boost in de snelheid van de werking van ons LLM-model om tekst efficiënt te genereren.

Dit artikel laat zien hoe u de “asyncio” -bibliotheek in LangChain gebruikt.







Hoe de “asyncio”-bibliotheek in LangChain gebruiken/uitvoeren?

Async API kan worden gebruikt als ondersteuning voor LLM's, dus als u de asyncio-bibliotheek in LangChain wilt gebruiken, volgt u eenvoudigweg deze handleiding:



Vereisten installeren



Installeer de LangChain-module om de asyncio-bibliotheek in LangChain te gaan gebruiken om gelijktijdig LLM's aan te roepen:





Pip installeren langketen



De OpenAI-module is ook vereist om LLM's te bouwen met behulp van de OpenAIEmbeddings:

Pip installeren openai

Na de installaties configureert u eenvoudig de OpenAI API-sleutel met behulp van de volgende code:

importeer ons
getpass importeren

os.omgeving [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API-sleutel:' )

Asyncio gebruiken om LLM te bouwen

De asyncio-bibliotheek kan worden gebruikt voor het ondersteunen van LLM's, aangezien de volgende code deze gebruikt in LangChain:

importeren tijd
asynchroon importeren
#Asyncio-bibliotheken importeren uit LangChain om deze te gebruiken
van langchain.llms importeer OpenAI

#define de functie om de tijdstempel van seriële generatie op te halen
def genereren_serieel ( ) :
llm = OpenAI ( temperatuur = 0,9 )
voor _ in bereik ( 5 ) :
resp = llm.generate ( [ 'Wat ben je aan het doen?' ] )
afdrukken ( resp.generaties [ 0 ] [ 0 ] .tekst )

#define de functie om de tijdstempel van synchrone generatie op te halen
async def async_generate ( llm ) :
resp = wacht op llm.agenerate ( [ 'Wat ben je aan het doen?' ] )
afdrukken ( resp.generaties [ 0 ] [ 0 ] .tekst )

#define de functie om de tijdstempel op te halen van het gelijktijdig genereren van gegevens
async def genereren_concurrently ( ) :
llm = OpenAI ( temperatuur = 0,9 )
taken = [ async_generate ( llm ) voor _ in bereik ( 10 ) ]
wacht op asyncio.gather ( * taken )

#configureer de resulterende uitvoer met behulp van de asyncio om gelijktijdige uitvoer te krijgen
s = tijd.perf_counter ( )
wacht op genereren_concurrently ( )
verstreken = tijd.perf_counter ( ) - S
afdrukken ( '\033[1m' + f 'Gelijktijdig uitgevoerd in {verstreken:0,2f} seconden.' + '\033[0m' )

#configureer de tijdstempel voor de resulterende uitvoer om seriële uitvoer te krijgen
s = tijd.perf_counter ( )
genereer_serieel ( )
verstreken = tijd.perf_counter ( ) - S
afdrukken ( '\033[1m' + f 'Serie uitgevoerd in {verstreken:0,2f} seconden.' + '\033[0m' )

De bovenstaande code gebruikt de asyncio-bibliotheek om de tijd voor het genereren van teksten te meten met behulp van twee verschillende functies, zoals genereren_serieel() En genereren_gelijktijdig() :

Uitvoer

De volgende schermafbeelding laat zien dat de tijdscomplexiteit voor zowel de functies als de tijdscomplexiteit van gelijktijdige tekstgeneratie beter is dan die van seriële tekstgeneratie:

Dat gaat allemaal over het gebruik van de ‘asyncio’-bibliotheek om LLM’s in LangChain te bouwen.

Conclusie

Om de asyncio-bibliotheek in LangChain te gebruiken, installeert u eenvoudigweg de LangChain- en OpenAI-modules om aan de slag te gaan met het proces. De Async API kan nuttig zijn bij het bouwen van een LLM-model voor het maken van chatbots om van eerdere gesprekken te leren. In deze handleiding wordt het proces uitgelegd van het gebruik van de asyncio-bibliotheek om de LLM's te ondersteunen met behulp van het LangChain-framework.