Kuinka käyttää 'asyncio'-kirjastoa LangChainissa?

Kuinka Kayttaa Asyncio Kirjastoa Langchainissa



LangChain on kehys suurten kielimallien rakentamiseen tekoälyn avulla, jotta se voi luoda tekstiä ja olla vuorovaikutuksessa ihmisten kanssa. Asyncio on kirjasto, jota voidaan käyttää mallin, kuten LLM:n, kutsumiseen useita kertoja käyttämällä samaa komentoa tai kyselyä. Se myös nopeuttaa LLM-mallimme työskentelyä tekstin luomiseksi tehokkaasti.

Tämä artikkeli osoittaa, kuinka 'asyncio'-kirjastoa käytetään LangChainissa.







Kuinka käyttää / suorittaa 'asyncio'-kirjastoa LangChainissa?

Async API:ta voidaan käyttää LLM:ien tukena, joten jos haluat käyttää asyncio-kirjastoa LangChainissa, noudata tätä opasta:



Asenna edellytykset



Asenna LangChain-moduuli aloittaaksesi asyncio-kirjaston käyttämisen LangChainissa kutsuaksesi samanaikaisesti LLM:itä:





pip Asentaa langchain



OpenAI-moduulia tarvitaan myös LLM:ien rakentamiseen OpenAIEmbeddingsillä:

pip Asentaa openai

Asennusten jälkeen määritä OpenAI API -avain käyttämällä seuraavaa koodia:

tuo meille
tuoda getpass

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API Key:' )

Asyncion käyttö rakentaa LLM

Asyncio-kirjastoa voidaan käyttää LLM:ien tukemiseen, koska seuraava koodi käyttää sitä LangChainissa:

tuonti aika
tuo asyncio
#Asyncio-kirjastojen tuonti LangChainista sen käyttöä varten
Tuo OpenAI osoitteesta langchain.llms

#määritä funktio sarjatuotannon aikaleiman saamiseksi
def genero_serially ( ) :
llm = OpenAI ( lämpötila = 0.9 )
varten _ sisään alue ( 5 ) :
resp = llm.generate ( [ 'Mitä sinä teet?' ] )
Tulosta ( vastaavat sukupolvet [ 0 ] [ 0 ] .teksti )

#määritä funktio synkronisen generoinnin aikaleiman saamiseksi
async def async_generate ( llm ) :
resp = odota llm.agenerate ( [ 'Mitä sinä teet?' ] )
Tulosta ( vastaavat sukupolvet [ 0 ] [ 0 ] .teksti )

#määritä funktio, joka saa aikaleiman tietojen luomisesta samanaikaisesti
async def genero_concurrently ( ) :
llm = OpenAI ( lämpötila = 0.9 )
tehtävät = [ async_generate ( llm ) varten _ sisään alue ( 10 ) ]
odota asyncio.gather ( * tehtäviä )

#konfiguroi tuloksena oleva tulos käyttämällä asyncioa saadaksesi samanaikaisen lähdön
s = aika.perf_laskuri ( )
odota gener_concurrently ( )
kulunut = aika.perf_counter ( ) - s
Tulosta ( '\033[1m' + f 'Samanaikainen suoritettu {elapsed:0.2f} sekunnissa.' + '\033[0m' )

#määritä aikaleima tuloksena olevalle lähdölle saadaksesi sarjalähdön
s = aika.perf_laskuri ( )
genero_serially ( )
kulunut = aika.perf_counter ( ) - s
Tulosta ( '\033[1m' + f 'Sarjasarja suoritettiin {elapsed:0.2f} sekunnissa.' + '\033[0m' )

Yllä oleva koodi käyttää asyncio-kirjastoa mittaamaan aikaa tekstien luomiseen käyttämällä kahta erillistä toimintoa, kuten gener_serially() ja gener_concurrently() :

Lähtö

Seuraava kuvakaappaus näyttää, että sekä toimintojen että samanaikaisen tekstin luomisen aikamonimutkaisuus on parempi kuin sarjatekstin luominen:

Siinä on kyse 'asyncio'-kirjaston käyttämisestä LLM:iden rakentamiseen LangChainissa.

Johtopäätös

Jos haluat käyttää asyncio-kirjastoa LangChainissa, aloita prosessi asentamalla LangChain- ja OpenAI-moduulit. Async API voi olla hyödyllinen luotaessa LLM-mallia chatbottien luomiseen aiemmista keskusteluista oppimista varten. Tässä oppaassa on selitetty prosessi, jolla asyncio-kirjastoa käytetään tukemaan LangChain-kehystä käyttäviä LLM:itä.