Como usar a biblioteca “asyncio” no LangChain?

Como Usar A Biblioteca Asyncio No Langchain



LangChain é um framework para construir grandes modelos de linguagem usando Inteligência Artificial para que possa gerar texto e interagir com humanos. O asyncio é a biblioteca que pode ser usada para chamar um modelo como LLM várias vezes usando o mesmo comando ou consulta. Também aumenta a velocidade de funcionamento do nosso modelo LLM para gerar texto com eficiência.

Este artigo demonstra como usar a biblioteca “asyncio” no LangChain.







Como usar/executar a biblioteca “asyncio” no LangChain?

A API Async pode ser usada como suporte para LLMs, portanto, para usar a biblioteca asyncio em LangChain, basta seguir este guia:



Pré-requisitos de instalação



Instale o módulo LangChain para começar a usar a biblioteca asyncio em LangChain para chamar LLMs simultaneamente:





pip instalar cadeia de idiomas



O módulo OpenAI também é necessário para construir LLMs usando OpenAIEmbeddings:

pip instalar aberto

Após as instalações, basta configurar a chave API OpenAI usando o seguinte código:

importe-nos
importar getpass

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

Usando asyncio para construir LLM

A biblioteca asyncio pode ser usada para oferecer suporte a LLMs, pois o código a seguir a utiliza em LangChain:

importar tempo
importar assíncrono
#Importando bibliotecas assíncronas do LangChain para usá-las
de langchain.llms importar OpenAI

#define a função para obter o carimbo de data/hora da geração serial
def gerar_serialmente ( ) :
llm = OpenAI ( temperatura = 0,9 )
para _ em faixa ( 5 ) :
resp = llm.generate ( [ 'O que você está fazendo?' ] )
imprimir ( resp.gerações [ 0 ] [ 0 ] .texto )

#define a função para obter o carimbo de data/hora da geração síncrona
assíncrono def async_generate ( llm ) :
resp = aguardar llm.agenerate ( [ 'O que você está fazendo?' ] )
imprimir ( resp.gerações [ 0 ] [ 0 ] .texto )

#define a função para obter o carimbo de data e hora de geração de dados simultaneamente
assíncrono def generate_concurrently ( ) :
llm = OpenAI ( temperatura = 0,9 )
tarefas = [ async_generate ( llm ) para _ em faixa ( 10 ) ]
aguarde asyncio.gather ( * tarefas )

#configure a saída resultante usando o asyncio para obter saída simultânea
s = time.perf_counter ( )
aguardar gerar_concurrently ( )
decorrido = tempo.perf_counter ( ) -s
imprimir ( '\033[1m' +f 'Simultâneo executado em {elapsed:0.2f} segundos.' + '\033[0m' )

#configure o carimbo de data/hora da saída resultante para obter a saída serial
s = time.perf_counter ( )
gerar_serialmente ( )
decorrido = tempo.perf_counter ( ) -s
imprimir ( '\033[1m' +f 'Serial executado em {elapsed:0.2f} segundos.' + '\033[0m' )

O código acima utiliza a biblioteca asyncio para medir o tempo de geração de textos utilizando duas funções distintas como gerar_serialmente() e gerar_concorrentemente() :

Saída

A captura de tela a seguir mostra que a complexidade de tempo para as funções e a complexidade de tempo da geração de texto simultâneo é melhor do que a geração de texto serial:

Trata-se de usar a biblioteca “asyncio” para construir LLMs em LangChain.

Conclusão

Para usar a biblioteca assíncrona no LangChain, basta instalar os módulos LangChain e OpenAI para iniciar o processo. A API Async pode ser útil ao construir um modelo LLM para criar chatbots para aprender com conversas anteriores. Este guia explicou o processo de uso da biblioteca asyncio para suportar LLMs usando a estrutura LangChain.