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 meilletuoda 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 aikatuo 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ä.