Começando
Guias
- Estratégia
- Agentes
- Crews
- Flows
- Avançado
Conceitos-Chave
Integração MCP
Ferramentas
- Visão Geral das Ferramentas
- Arquivo & Documento
- Web Scraping & Navegação
- Pesquisa
- Dados
- IA & Machine Learning
- Cloud & Armazenamento
- Automação & Integração
Observabilidade
Aprenda
- Visão Geral
- Guia Estratégico de Seleção de LLMs
- Tarefas Condicionais
- Agentes de Codificação
- Criar Ferramentas Personalizadas
- Implementação de LLM Personalizada
- Agente Gerente Personalizado
- Personalize Agentes
- Geração de Imagens com DALL-E
- Forçar a Saída da Ferramenta como Resultado
- Processo Hierárquico
- Input Humano na Execução
- Inicie uma Crew de Forma Assíncrona
- Kickoff Crew para Cada
- Conecte-se a qualquer LLM
- Usando Agentes Multimodais
- Reexecutar Tarefas a partir do Último Crew Kickoff
- Processos Sequenciais
- Usando Anotações no crew.py
Telemetria
Aprenda
Tarefas Condicionais
Saiba como usar tarefas condicionais em um kickoff do crewAI
Introdução
As Tarefas Condicionais no crewAI permitem a adaptação dinâmica do fluxo de trabalho com base nos resultados de tarefas anteriores. Esse recurso poderoso possibilita que crews tomem decisões e executem tarefas seletivamente, aumentando a flexibilidade e a eficiência dos seus processos orientados por IA.
Exemplo de Uso
Code
Copy
Ask AI
from typing import List
from pydantic import BaseModel
from crewai import Agent, Crew
from crewai.tasks.conditional_task import ConditionalTask
from crewai.tasks.task_output import TaskOutput
from crewai.task import Task
from crewai_tools import SerperDevTool
# Define a condition function for the conditional task
# If false, the task will be skipped, if true, then execute the task.
def is_data_missing(output: TaskOutput) -> bool:
return len(output.pydantic.events) < 10 # this will skip this task
# Define the agents
data_fetcher_agent = Agent(
role="Data Fetcher",
goal="Fetch data online using Serper tool",
backstory="Backstory 1",
verbose=True,
tools=[SerperDevTool()]
)
data_processor_agent = Agent(
role="Data Processor",
goal="Process fetched data",
backstory="Backstory 2",
verbose=True
)
summary_generator_agent = Agent(
role="Summary Generator",
goal="Generate summary from fetched data",
backstory="Backstory 3",
verbose=True
)
class EventOutput(BaseModel):
events: List[str]
task1 = Task(
description="Fetch data about events in San Francisco using Serper tool",
expected_output="List of 10 things to do in SF this week",
agent=data_fetcher_agent,
output_pydantic=EventOutput,
)
conditional_task = ConditionalTask(
description="""
Check if data is missing. If we have less than 10 events,
fetch more events using Serper tool so that
we have a total of 10 events in SF this week..
""",
expected_output="List of 10 Things to do in SF this week",
condition=is_data_missing,
agent=data_processor_agent,
)
task3 = Task(
description="Generate summary of events in San Francisco from fetched data",
expected_output="A complete report on the customer and their customers and competitors, including their demographics, preferences, market positioning and audience engagement.",
agent=summary_generator_agent,
)
# Create a crew with the tasks
crew = Crew(
agents=[data_fetcher_agent, data_processor_agent, summary_generator_agent],
tasks=[task1, conditional_task, task3],
verbose=True,
planning=True
)
# Run the crew
result = crew.kickoff()
print("results", result)
Esta página foi útil?
Na página
Assistente
Responses are generated using AI and may contain mistakes.