Développer des systèmes d'IA multi-agents complexes avec CrewAI peut rapidement devenir un défi. Cet article montre comment isoler et tester des agents et des tâches individuels pour un débogage plus facile et une itération plus rapide.
Les bienfaits de l'isolement
Isoler les composants de votre système CrewAI s'apparente à des tests unitaires. Cette approche offre plusieurs avantages clés :
Examinons les éléments principaux :
L'researcher
Agent (agents.yaml
):
<code class="language-yaml"> researcher: role: "Senior Research Analyst" goal: "Uncover groundbreaking technologies in AI" backstory: "A highly skilled researcher with a passion for AI advancements." llm: gemini/gemini-1.5-flash # Replace with your preferred LLM allow_delegation: false tools: - WebSearchTool</code>
Le research_task
(tasks.yaml
):
<code class="language-yaml"> research_task: description: "Research the latest developments in AI for 2024." expected_output: "A report summarizing the key AI trends." agent: researcher</code>
La IndependentCrew
Classe (crew.py
) :
<code class="language-python"> from crewai import Agent, Crew, Process, Task from crewai.project import CrewBase, agent, crew, task from .tools import WebSearchTool @CrewBase class IndependentCrew(): """IndependentCrew crew""" agents_config = 'config/agents.yaml' tasks_config = 'config/tasks.yaml' @agent def researcher(self) -> Agent: return Agent( config=self.agents_config['researcher'], verbose=True, tools=[WebSearchTool()] ) @task def research_task(self) -> Task: return Task( config=self.tasks_config['research_task'], ) @crew def crew(self) -> Crew: """Creates the IndependentCrew crew""" return Crew( agents=self.agents, tasks=self.tasks, process=Process.sequential, verbose=True, )</code>
Exécuter l'agent indépendamment (run_agent.py
) : Cet exemple montre comment créer et utiliser un agent en dehors du contexte de l'équipage, en exécutant une tâche personnalisée et en réutilisant l'agent et la tâche définis.
Exécuter la tâche indépendamment (run_task.py
) : Cela démontre la création et l'exécution de tâches de manière indépendante, y compris l'exécution synchrone et asynchrone, et l'utilisation d'un contexte et d'outils personnalisés. Il montre également la réutilisation de la tâche définie avec un contexte personnalisé.
Conclusion
La possibilité d'exécuter des agents et des tâches de manière indépendante offre une flexibilité et un contrôle importants dans le développement de CrewAI. Cette approche de test isolé rationalise le débogage, accélère les itérations et améliore l'efficacité globale. Les exemples de code fournis offrent un point de départ pratique pour intégrer cette technique dans vos projets. N'oubliez pas de consulter la documentation CrewAI et le référentiel GitHub pour plus de détails et d'assistance.
Ressources :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!