LangChain je rámec pro vytváření velkých jazykových modelů pomocí umělé inteligence, aby mohl generovat text a komunikovat s lidmi. Asyncio je knihovna, kterou lze použít k vícenásobnému volání modelu jako LLM pomocí stejného příkazu nebo dotazu. Poskytuje také zvýšení rychlosti práce našeho modelu LLM pro efektivní generování textu.
Tento článek ukazuje, jak používat knihovnu „asyncio“ v LangChain.
Jak používat/spouštět knihovnu „asyncio“ v LangChain?
Async API lze použít jako podporu pro LLM, takže pro použití knihovny asyncio v LangChain jednoduše postupujte podle tohoto průvodce:
Předpoklady instalace
Nainstalujte si modul LangChain, abyste mohli začít používat knihovnu asyncio v LangChain k souběžnému volání LLM:
pip Nainstalujte langchain
Modul OpenAI je také vyžadován pro vytváření LLM pomocí OpenAIEmbeddings:
pip Nainstalujte openai
Po instalaci jednoduše nakonfigurujte klíč OpenAI API pomocí následujícího kódu:
importujte násimportovat getpass
os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'Klíč OpenAI API:' )
Použití asyncio k vybudování LLM
Knihovnu asyncio lze použít pro podporu LLM, protože ji používá následující kód v LangChain:
import časimportovat asyncio
#Import asyncio knihoven z LangChain, abyste je mohli používat
z langchain.llms importujte OpenAI
#define funkci pro získání časového razítka sériového generování
def generovat_sériově ( ) :
llm = OpenAI ( teplota = 0,9 )
pro _ v rozsah ( 5 ) :
resp = llm.generate ( [ 'Co děláš?' ] )
tisk ( resp.generací [ 0 ] [ 0 ] .text )
#define funkci pro získání časového razítka synchronního generování
async def async_generate ( llm ) :
resp = čekat llm.agenerovat ( [ 'Co děláš?' ] )
tisk ( resp.generací [ 0 ] [ 0 ] .text )
#define funkci pro získání časového razítka souběžného generování dat
async def create_concurrently ( ) :
llm = OpenAI ( teplota = 0,9 )
úkoly = [ async_generate ( llm ) pro _ v rozsah ( 10 ) ]
čekat asyncio.shromáždit ( * úkoly )
#nakonfigurujte výsledný výstup pomocí funkce asyncio, abyste získali souběžný výstup
s = time.perf_counter ( )
čekat na generovat_souběžně ( )
elapsed = time.perf_counter ( ) - s
tisk ( '\033[1 m' + f 'Souběžné provedení za {elapsed:0,2f} sekund.' + '\033[0m' )
#nakonfigurujte časové razítko pro výsledný výstup, abyste získali sériový výstup
s = time.perf_counter ( )
generovat_sériově ( )
elapsed = time.perf_counter ( ) - s
tisk ( '\033[1 m' + f 'Seriál byl spuštěn za {elapsed:0,2f} sekund.' + '\033[0m' )
Výše uvedený kód používá knihovnu asyncio k měření času pro generování textů pomocí dvou odlišných funkcí, jako je např generovat_sériově() a generovat_souběžně() :
Výstup
Následující snímek obrazovky ukazuje, že časová složitost funkcí i časová složitost souběžného generování textu je lepší než generování sériového textu:
To je vše o použití knihovny „asyncio“ k vytváření LLM v LangChain.
Závěr
Chcete-li použít knihovnu asyncio v LangChain, jednoduše nainstalujte moduly LangChain a OpenAI, abyste mohli začít s procesem. Async API může být užitečné při vytváření modelu LLM pro vytváření chatbotů, abyste se poučili z předchozích konverzací. Tato příručka vysvětlila proces použití knihovny asyncio k podpoře LLM pomocí rámce LangChain.