Pular para o conteúdo principal

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 usando asyncio.gather() com async nativo:
Code

Exemplo: Async Nativo para Múltiplas Entradas

Use akickoff_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 quando stream=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.

Escolhendo entre akickoff() e kickoff_async()