使用 CrewAI 开发复杂的多智能体人工智能系统很快就会变得充满挑战。 这篇文章演示了如何隔离和测试各个代理和任务,以便更轻松地调试和更快地迭代。
隔离的好处
隔离 CrewAI 系统中的组件类似于单元测试。 这种方法具有几个关键优势:
让我们来看看核心元素:
researcher
特工(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>
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>
IndependentCrew
类 (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>
独立运行代理 (run_agent.py
): 此示例演示如何在 Crew 上下文之外创建和使用代理、执行自定义任务以及重用定义的代理和任务。
独立运行任务 (run_task.py
): 这演示了独立创建和执行任务,包括同步和异步执行,以及使用自定义上下文和工具。 它还显示了通过自定义上下文重用定义的任务。
结论
独立运行代理和任务的能力为 CrewAI 开发提供了显着的灵活性和控制力。 这种隔离测试方法简化了调试、加速迭代并提高了整体效率。 提供的代码示例为将此技术集成到您的项目中提供了一个实用的起点。 请记得查阅 CrewAI 文档和 GitHub 存储库以获取更多详细信息和支持。
资源:
以上是调试您的 Crew:在 CrewAI 中隔离代理和任务的详细内容。更多信息请关注PHP中文网其他相关文章!