Introdução
A CrewAI oferece a capacidade de iniciar uma crew de forma assíncrona, permitindo que você comece a execução da crew de maneira não bloqueante. Esse recurso é especialmente útil quando você deseja executar múltiplas crews simultaneamente ou quando precisa realizar outras tarefas enquanto a crew está em execução. O CrewAI oferece duas abordagens para execução assíncrona:Para cargas de trabalho de alta concorrência,
akickoff() é recomendado pois usa async nativo para execução de tasks, operações de memória e recuperação de conhecimento.Execução Async Nativa com akickoff()
O método akickoff() fornece execução async nativa verdadeira, usando async/await em toda a cadeia de execução, incluindo execução de tasks, operações de memória e consultas de conhecimento.
Assinatura do Método
Code
Parâmetros
inputs(dict): Um dicionário contendo os dados de entrada necessários para as tarefas.
Retorno
CrewOutput: Um objeto que representa o resultado da execução da crew.
Exemplo: Execução Async Nativa de Crew
Code
Exemplo: Múltiplas Crews Async Nativas
Execute múltiplas crews concorrentemente usandoasyncio.gather() com async nativo:
Code
Exemplo: Async Nativo para Múltiplas Entradas
Useakickoff_for_each() para executar sua crew contra múltiplas entradas concorrentemente com async nativo:
Code
Async Baseado em Thread com kickoff_async()
O método kickoff_async() fornece execução async envolvendo o kickoff() síncrono em uma thread. Isso é útil para integração async mais simples ou compatibilidade retroativa.
Assinatura do Método
Code
Parâmetros
inputs(dict): Um dicionário contendo os dados de entrada necessários para as tarefas.
Retorno
CrewOutput: Um objeto que representa o resultado da execução da crew.
Exemplo: Execução Async Baseada em Thread
Code
Exemplo: Múltiplas Crews Async Baseadas em Thread
Code
Streaming Assíncrono
Ambos os métodos async suportam streaming quandostream=True está definido na crew:
Code
Possíveis Casos de Uso
- Geração Paralela de Conteúdo: Inicie múltiplas crews independentes de forma assíncrona, cada uma responsável por gerar conteúdo sobre temas diferentes. Por exemplo, uma crew pode pesquisar e redigir um artigo sobre tendências em IA, enquanto outra gera posts para redes sociais sobre o lançamento de um novo produto.
- Tarefas Conjuntas de Pesquisa de Mercado: Lance múltiplas crews de forma assíncrona para realizar pesquisas de mercado em paralelo. Uma crew pode analisar tendências do setor, outra examinar estratégias de concorrentes e ainda outra avaliar o sentimento do consumidor.
- Módulos Independentes de Planejamento de Viagem: Execute crews separadas para planejar diferentes aspectos de uma viagem de forma independente. Uma crew pode cuidar das opções de voo, outra das acomodações e uma terceira do planejamento das atividades.
