Membangunkan sistem AI berbilang ejen yang kompleks dengan CrewAI boleh menjadi mencabar dengan cepat. Siaran ini menunjukkan cara mengasingkan dan menguji ejen dan tugas individu untuk penyahpepijatan yang lebih mudah dan lelaran yang lebih pantas.
Faedah Pengasingan
Mengasingkan komponen dalam sistem CrewAI anda adalah serupa dengan ujian unit. Pendekatan ini memberikan beberapa kelebihan utama:
Mari kita periksa elemen teras:
Ejen 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>
Yang 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>
Kelas 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>
Menjalankan Ejen Secara Bebas (run_agent.py
): Contoh ini menunjukkan cara mencipta dan menggunakan ejen di luar konteks Krew, melaksanakan tugas tersuai dan menggunakan semula ejen dan tugas yang ditentukan.
Menjalankan Tugasan Secara Bebas (run_task.py
): Ini menunjukkan mencipta dan melaksanakan tugasan secara bebas, termasuk pelaksanaan segerak dan tak segerak serta menggunakan konteks dan alatan tersuai. Ia juga menunjukkan penggunaan semula tugas yang ditentukan dengan konteks tersuai.
Kesimpulan
Keupayaan untuk menjalankan ejen dan tugas secara bebas memberikan fleksibiliti dan kawalan yang ketara dalam pembangunan CrewAI. Pendekatan ujian terpencil ini memperkemas penyahpepijatan, mempercepatkan lelaran dan meningkatkan kecekapan keseluruhan. Contoh kod yang disediakan menawarkan titik permulaan praktikal untuk menyepadukan teknik ini ke dalam projek anda. Ingat untuk merujuk dokumentasi CrewAI dan repositori GitHub untuk mendapatkan butiran dan sokongan lanjut.
Sumber:
Atas ialah kandungan terperinci Menyahpepijat Krew Anda: Mengasingkan Ejen dan Tugas dalam CrewAI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!