使用 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中文網其他相關文章!