Spaces:
Sleeping
Sleeping
| from crewai import Agent, Crew, Process, Task | |
| from crewai.project import CrewBase, agent, crew, task | |
| from jio_savan_music_downloader.models.response_models import MusicDetails | |
| from jio_savan_music_downloader.tools.custom_tool import search_tool | |
| class JioSavanMusicDownloaderAgent: | |
| """JioSavanMusicDownloaderAgent crew""" | |
| agents_config = "config/agents.yaml" | |
| tasks_config = "config/tasks.yaml" | |
| def music_researcher(self) -> Agent: | |
| """ | |
| Creates a music researcher agent. | |
| This agent is responsible for searching for the specified music on JioSaavn | |
| and returning the results in a structured format. | |
| :return: An instance of the Agent class | |
| """ | |
| return Agent(config=self.agents_config["music_researcher"], verbose=True) | |
| def music_research_task(self) -> Task: | |
| """ | |
| Creates the music research task. | |
| This task is responsible for searching for the specified music on JioSaavn | |
| and returning the results in a structured format. | |
| :return: An instance of the Task class | |
| """ | |
| return Task( | |
| config=self.tasks_config["music_research_task"], | |
| tools=[search_tool], | |
| output_json=MusicDetails, | |
| ) | |
| def crew(self) -> Crew: | |
| """Creates the JioSavanMusicDownloaderAgent crew""" | |
| return Crew( | |
| agents=self.agents, # Automatically created by the @agent decorator | |
| tasks=self.tasks, # Automatically created by the @task decorator | |
| process=Process.sequential, | |
| verbose=False, | |
| ) | |