AI Agents Assignment
Objective
The objective of this assignment is to design and implement a modular system of AI agents, each
specialized in performing specific tasks. A Manager Agent will oversee task assignment by
analyzing user input, selecting the most suitable agent(s), and providing a comprehensive
response. The response should include both the output of the selected agent(s) and a justification
for the Manager Agent's decision-making process.
The system should leverage modern open-source frameworks, integrate a backend API for
interaction, and optionally support a user-friendly frontend interface
Agents to be created and their functions:
1. Document Summarizer and Keyword Extractor (Agent 1)
● Functionality:
○ Summarizes the given document content.
○ Extracts a list of keywords (important words) from the document.
● Expected Outcome: JSON response
"document": "doc_summary",
"keywords": ["keyword1", "keyword2", "keyword3"]
2. Query Responder (Agent 2)
● Functionality: Responds to user queries based on the provided set of documents.
● Expected Outcome: JSON response
"query": "Original user query",
"response": "The answer derived from the provided documents."
}
3. Internet-Connected Agent (Agent 3)
● Functionality:
○ Fetches up-to-date information from the internet.
○ Responds to user questions with accurate and current information.
● Expected Outcome: JSON response
"query": "Original user query",
"response": "The real-time answer fetched from the internet.",
"source": "URL or source of the fetched information"
4. Manager Agent (Agent 4)
● Functionality:
○ Analyzes user input to determine the most appropriate specialized agent(s) for the
task.
○ Delegates tasks to the selected agent(s).
○ Collects and consolidates the response(s) from the selected agent(s).
○ Provides a justification for why the specific agent(s) were chosen.
● Expected Outcome: JSON response
"manager_agent": {
"decision": "Explanation on why the agent(s) were selected.",
"selected_agents": ["Agent1", "Agent2"]
},
"agent_responses": {
"Agent1": {
"status": "status_code",
"data": {
"document_summary": "Summarized content of the document.",
"keywords": ["keyword1", "keyword2"]
},
"Agent2": {
"status": "status_code",
"data": {
"query": "Original user query",
"response": "The answer derived from the provided docs"
Frameworks & Tools
● Choose from open-source frameworks such as Smol Agents, Crew AI, LangChain,
LlamaIndex, LangGraph, etc.
● Use Groq and Gemini as the foundational LLMs
Assignment Deliverables
● Codebase
○ app.py - all the API
○ requirements.txt .env, Dockerfile
○ Helper Files - create agent_i.py / helper.py etc
● Explanation - Include short explanation of document describing how the problem was
approached
● Output Submission:
○ Package the entire codebase, including a Dockerfile, for easy deployment
○ Share the codebase as a downloadable Google Drive zip file
Evaluation Criteria
● Functionality
○ Proper integration of the Manager Agent and specialized agents.
○ Accurate and efficient execution of tasks by individual agents.
● Successful Deployment
○ Dockerized Deployment: A fully functional Dockerfile for seamless setup and
deployment.
○ Environment Configuration: Proper documentation and setup instructions for
running the system locally or in a containerized environment.
Deadline
● The assignment is due within 2-3 days from the time of receipt
● If you have any questions or need clarifications, please reach out promptly on the same
mail