Data Analyst Agent is an AI-powered data analytics application built using Google ADK, Gemini, Python, Pandas, and Matplotlib.
The agent is designed to automate the basic workflow of a data analyst. It accepts a CSV dataset, inspects and cleans the data, performs Exploratory Data Analysis (EDA), calculates important statistics, identifies trends and relationships, and generates a professional data visualization dashboard.
Instead of manually writing separate Python code for every dataset, the AI agent uses Gemini for reasoning and Python code execution to perform the required analysis and generate results.
This project demonstrates practical understanding of:
Agentic AI
Google ADK
LLM-powered data analysis
Python programming
Pandas
Exploratory Data Analysis
Statistical analysis
Data visualization
Automated dashboard generation
Accepts CSV datasets for analysis
Automatically loads and inspects the dataset
Identifies:
Number of rows and columns
Column names
Data types
Missing values
Basic dataset structure
Detects missing values
Handles missing data whenever necessary
Prepares the dataset for further analysis
Helps improve the reliability of analytical results
The agent performs exploratory analysis to discover:
Important trends
Data patterns
Relationships between variables
Numerical distributions
Categorical patterns
Potential outliers
The agent calculates important statistical measures including:
Mean
Median
Mode
Standard Deviation
Minimum
Maximum
Correlation
These statistics help convert raw data into meaningful information.
The agent can automatically generate multiple professional charts depending on the dataset.
Supported visualizations include:
📊 Bar Chart
🥧 Pie Chart
📈 Line Chart
📉 Histogram
🔵 Scatter Plot
📦 Box Plot
📊 Count Plot
Multiple charts can be combined into a single dashboard using Matplotlib subplots.
After analyzing the dataset, the agent generates:
Concise analysis summary
Important statistics
Key trends and patterns
Generated visualization dashboard
Data-driven recommendations
Users can ask analytical questions about their dataset, and the AI agent can use the available data to provide relevant answers.
For example:
"Which category has the highest sales?"
"What is the average revenue?"
"Which variables have the strongest correlation?"
LlmAgent
Agent instruction system
Agent orchestration
AI reasoning
Natural-language understanding
Analytical decision-making
Data processing
Statistical calculations
Automation
CSV data loading
Data cleaning
Data inspection
Data manipulation
Statistical analysis
Data visualization
Multiple chart generation
Dashboard creation
Subplots
Executes Python code required for data analysis
Allows the AI agent to perform actual computational tasks
The user provides a CSV dataset to the Data Analyst Agent.
The agent receives the dataset along with the user's analytical question or request.
The Google ADK LLM Agent receives the request and uses Gemini to determine what analysis needs to be performed.
The agent follows predefined instructions for:
Dataset inspection
Data cleaning
EDA
Statistical analysis
Visualization
Insight generation
The agent first examines the dataset and identifies:
Dataset shape
Column names
Data types
Missing values
Summary statistics
This provides an initial understanding of the data.
If required, the agent handles missing values and prepares the dataset for analysis.
This ensures that the subsequent calculations and visualizations are based on usable data.
The agent analyzes the dataset to identify:
Trends
Patterns
Relationships
Distributions
Correlations
This step helps understand what is happening inside the dataset.
The agent calculates relevant statistics such as:
Mean → Average value
Median → Middle value
Mode → Most frequently occurring value
Standard Deviation → Data variability
Correlation → Relationship between numerical variables
Minimum / Maximum → Data range
The agent uses Python + Matplotlib to create visualizations.
Depending on the dataset, it can combine around 3–4 charts into one dashboard using subplots.
For example:
Sales Dataset
→ Sales Trend — Line Chart
→ Sales by Category — Bar Chart
→ Customer Distribution — Pie Chart
→ Revenue Distribution — Histogram
After completing the analysis, the agent summarizes the most important findings.
For example:
"Electronics generated the highest revenue, while sales increased significantly during the final quarter."
The agent can also provide recommendations based on the identified patterns.
CSV Dataset
↓
Google ADK Data Analyst Agent
↓
Gemini AI Reasoning
↓
Dataset Inspection
↓
Data Cleaning
↓
EDA & Statistical Analysis
↓
Python Code Execution
↓
Matplotlib Visualizations
↓
Dashboard
↓
AI Insights & Recommendations
The core agent is created using:
root_agent = LlmAgent(
name="Data_Analyst_Agent",
model="gemini-3-flash-preview",
...
code_executor=BuiltInCodeExecutor()
)
The LlmAgent acts as the brain of the application, while the BuiltInCodeExecutor allows the agent to execute Python-based analytical tasks.
This combination makes the project an example of Agentic AI applied to Data Analytics.
The main objective of this project is to demonstrate how AI agents can automate repetitive data analyst workflows.
Traditional workflow:
Dataset → Manually write Python → Clean Data → Analyze → Create Charts → Interpret Results
My approach:
Dataset → AI Data Analyst Agent → Automated Analysis → Dashboard → Insights
This project demonstrates how LLMs and Python code execution can work together to create an intelligent data analytics workflow.
Agentic AI • Google ADK • Gemini • Python • Pandas • Matplotlib • EDA • Data Cleaning • Statistical Analysis • Data Visualization • Dashboard Development • AI-Powered Analytics
🤖 AI-powered Data Analyst Agent
📂 CSV-based dataset analysis
🧹 Automated data cleaning
🔎 Exploratory Data Analysis
📊 Statistical calculations
📈 Automated visualizations
📋 Multi-chart dashboard generation
💡 AI-generated insights
🎯 Data-driven recommendations
⚡ Python code execution through an AI agent.
YouTube Script Maker Agent is an AI-powered multi-agent content creation system built using Google ADK (Agent Development Kit) and Groq's Llama 3.1 model through LiteLLM.
The system automates the complete YouTube content creation workflow. Instead of manually researching a topic, creating a video structure, writing the script, and developing titles and thumbnail ideas, the user can provide a single video topic and the multi-agent system processes it step-by-step.
The project uses four specialized AI agents, where each agent performs a specific task and passes its output to the next agent.
This project demonstrates practical understanding of:
Agentic AI
Multi-Agent Systems
Google ADK
LLM orchestration
Prompt Engineering
Sequential Agent Workflows
YouTube Content Automation
Research & Content Generation
The first agent works as a YouTube Research Specialist.
It analyzes the given video topic and generates detailed research notes.
It looks for:
Interesting and surprising facts
Real-world examples
Stories
Statistics and data
Interesting points for viewers
Potential talking points
The research is stored as:
raw_research
This information is then passed to the next agent.
The second agent acts as a YouTube Video Structure Expert.
It takes the research generated by the first agent and converts it into a structured video plan.
The structure includes:
Hook – First 30 seconds
Introduction
Section 1
Section 2
Section 3
Climax
Outro
Call to Action
The goal is to create a logical and engaging structure that keeps viewers interested throughout the video.
The output is stored as:
script_structure
The third agent acts as a Professional YouTube Script Writer.
It receives:
The research from the Research Agent
The video structure from the Structure Agent
It then converts this information into a complete, ready-to-record YouTube script.
The agent is instructed to:
Use a conversational tone
Connect with viewers using "you" and "we"
Create engaging transitions
Add [PAUSE] instructions
Add [B-ROLL] suggestions
Add [MUSIC] suggestions
Create approximately 8–10 minutes of content
Generate around 1,200–1,500 words
The final script is stored as:
full_script
The fourth agent acts as a YouTube Title and Thumbnail Specialist.
It reads the completed script and generates:
The agent creates titles using techniques such as:
Numbers
Questions
Curiosity
Surprising statements
High-click potential wording
Each idea describes what should appear in the thumbnail, including:
Main subject
Visual elements
Text
Composition
Attention-grabbing concepts
The agent also generates optimized descriptions, with special attention to the first two lines.
It generates relevant hashtags for the video.
Finally, it selects the best title and thumbnail concept and explains why they are the strongest options.
Used as the programming language for implementing the multi-agent workflow.
Used to create and orchestrate the AI agents.
Main components:
LlmAgent
SequentialAgent
Used as the model interface:
from google.adk.models.lite_llm import LiteLlm
It allows the Google ADK agents to use the selected LLM through a common interface.
The project uses:
groq/llama-3.1-8b-instant
as the underlying language model through LiteLLM.
Detailed instructions are provided to each agent so that every agent has a specific role and produces a structured output.
The workflow starts when the user provides a YouTube video topic.
For example:
"How Artificial Intelligence Will Change Jobs"
The topic enters the multi-agent workflow.
The first agent receives the topic and performs the research stage.
Video Topic
↓
Research Agent
↓
Facts + Statistics + Examples + Stories
↓
raw_research
The result becomes the input for the next agent.
The Structure Agent receives:
{raw_research}
It uses the research to create the complete video structure.
Research
↓
Structure Agent
↓
Hook
Intro
Sections
Climax
Outro
↓
script_structure
The Script Writer receives both:
{script_structure}
and
{raw_research}
It then creates the complete YouTube script.
Research + Structure
↓
Script Writer Agent
↓
Complete Script
↓
full_script
The final agent receives:
{full_script}
It analyzes the finished script and creates:
5 titles
5 thumbnail concepts
3 descriptions
10 hashtags
Best title recommendation
Best thumbnail recommendation
Complete Script
↓
Thumbnail & Title Agent
↓
Titles + Thumbnails + Descriptions + Hashtags
The complete architecture looks like this:
User Topic
↓
Researches the topic
↓
Creates the video structure
↓
Writes the complete script
↓
Creates titles, thumbnail ideas, descriptions & hashtags
↓
Complete YouTube Content Package
Role: YouTube Research Specialist
Input: Video Topic
Output: raw_research
Role: Video Structure Expert
Input: raw_research
Output: script_structure
Role: Professional Script Writer
Input: raw_research + script_structure
Output: full_script
Role: YouTube Title & Thumbnail Specialist
Input: full_script
Output: Titles + Thumbnail Ideas + Descriptions + Hashtags
The main objective of this project is to demonstrate how multiple AI agents can collaborate to automate a complete YouTube content creation workflow.
Traditional workflow:
Research → Structure → Script → Title → Thumbnail → Description → Hashtags
Everything is usually done manually.
This project automates the workflow:
Topic → AI Research → AI Structure → AI Script → AI Titles & Thumbnails
Agentic AI • Multi-Agent Systems • Google ADK • Groq • Llama 3.1 • LiteLLM • Python • Prompt Engineering • Sequential Agent Architecture • LLM Orchestration • Content Automation • YouTube Automation
🤖 Four specialized AI agents
🔎 Automated YouTube topic research
🧩 Automated video structure
✍️ Long-form script generation
🖼️ Automated thumbnail concepts
🎯 High-CTR title generation
📝 SEO-focused descriptions
#️⃣ Hashtag generation
🔄 Sequential multi-agent workflow
⚡ Automated end-to-end content pipeline
AI Travel Planner Agent is an AI-powered conversational travel assistant built using Google ADK, Groq Llama 3.3, LiteLLM, and Python.
The agent helps users search for flights by collecting their travel requirements through a natural conversation. It can identify airport codes, validate travel dates, search available flight options, compare prices, and provide booking links from multiple travel platforms.
Instead of asking the user to enter all travel information at once, the agent works like a personal travel assistant and collects the required information step by step.
This project demonstrates practical understanding of:
Agentic AI
Google ADK
LLM-powered applications
Tool calling / function calling
LiteLLM
Groq Llama models
Python
API/tool integration
Date validation
Flight search automation
Conversational AI
Travel recommendation workflows
The agent interacts with the user naturally and collects trip information step by step.
It asks for:
Destination city
Departure city
Travel date
Trip type
Return date for round trips
Number of passengers
Cabin class
For example:
User:
"I want to travel to Goa."
Agent:
"Great! Which city will you be departing from?"
The agent continues the conversation until all required information is collected.
The project contains an airport-code database for several Indian and international cities.
For example:
Delhi → DEL
Mumbai → BOM
Goa → GOI
Bangalore → BLR
Dubai → DXB
London → LHR
New York → JFK
Singapore → SIN
The function:
get_airport_code()
converts a city name into its corresponding IATA airport code.
This makes flight searches easier and more reliable.
The agent also has a dedicated tool:
get_airport_info()
This verifies the airport code before searching for flights.
It returns information such as:
City name
Airport code
Whether the city exists in the internal database
Verification notes
This helps prevent incorrect airport codes from being used during a search.
The agent includes:
validate_travel_date()
which validates user-provided travel dates.
It can understand formats such as:
2025-12-15
15-12-2025
15/12/2025
15 Dec 2025
December 15 2025
It checks whether:
The date format is valid
The date can be parsed correctly
The travel date is not in the past
It also returns:
Standardized date
Human-readable date
Number of days until travel
The main tool is:
search_flights()
It searches flight information based on the user's requirements.
The function accepts:
Departure city
Destination city
Departure date
Trip type
Return date
Number of adults
Cabin class
It supports:
Economy
Premium Economy
Business
First Class
The agent collects flight information and presents multiple options for comparison.
The results can include:
Airline
Departure time
Arrival time
Flight duration
Number of stops
Price
Best-flight indicator
The system limits the displayed results to the top 8 flight options.
This allows the user to quickly compare different flights.
The flight search result can also provide the current price level:
🟢 Low
🟡 Typical
🔴 High
This gives the user additional context when evaluating the available fares.
After finding flights, the agent generates booking links for multiple platforms, including:
Google Flights
MakeMyTrip
Cleartrip
Ixigo
EaseMyTrip
This allows users to compare options instead of relying on a single booking platform.
The agent can also provide general booking guidance based on the returned price level.
For example:
Whether the current price appears low, typical, or high
General timing suggestions for booking
Options to search another date
Used for:
Application logic
Airport-code lookup
Date validation
Flight search processing
Data formatting
Used to build and configure the AI agent.
The main component is:
LlmAgent
which acts as the conversational AI layer.
The project uses the Groq-hosted:
Llama 3.3 70B Versatile
model for the agent's reasoning and conversation.
The model is connected through:
LiteLlm(model="groq/llama-3.3-70b-versatile")
LiteLLM provides a convenient interface for connecting the agent to the Groq model.
Used by the flight-search tool to retrieve flight information.
Used for travel-date validation and date calculations.
The user tells the agent where they want to travel.
For example:
"I want to go from Delhi to Goa."
The agent begins collecting the required travel information.
The agent follows a predefined conversational workflow.
It collects:
Destination
↓
Departure City
↓
Travel Date
↓
One-way / Round-trip
↓
Return Date if required
↓
Passengers
↓
Cabin Class
Before searching for flights, the agent uses:
validate_travel_date()
The function checks the date and converts it into the standard:
YYYY-MM-DD
format.
The agent then uses:
get_airport_info()
to verify both departure and destination airport codes.
For example:
Delhi → DEL
Goa → GOI
Before performing the search, the agent displays a summary:
📋 Your Trip Summary:
✈️ From: Delhi
🏁 To: Goa
📅 Date: 15 December 2026
🔄 Trip Type: One-way
👥 Passengers: 1 adult
💺 Class: Economy
The user then confirms whether they want to search.
After confirmation, the agent calls:
search_flights()
The function sends the required search parameters to the flight-search library.
The returned flight information is then converted into a structured list containing:
Airline
Departure
Arrival
Duration
Stops
Price
Best-flight status
The agent presents the results in a comparison format.
For example:
Airline
Departure
Arrival
Duration
Stops
Price
Airline A
08:00
10:15
2h 15m
Non-stop
₹...
Airline B
11:30
14:00
2h 30m
1 Stop
₹...
The actual prices are taken from the search result rather than being generated by the AI.
The agent provides links to different flight-booking platforms so the user can compare and continue the booking process.
After showing the results, the agent can continue the conversation.
For example:
"Would you like me to search for a different date or also help you find hotels and activities?"
This makes the system conversational and interactive, rather than simply returning a single search result.
The project has a simple AI Agent + Tools architecture.
USER
↓
TRAVEL PLANNER AGENT
↓
GROQ LLAMA 3.3
↓
┌──────────┼──────────┐
↓ ↓ ↓
Airport Code Date Flight
Tool Validator Search
↓ ↓ ↓
└──────────┼──────────┘
↓
Flight Comparison
↓
Booking Links + Tips
The LlmAgent acts as the brain of the application.
The Python functions act as tools that the AI can call when it needs to perform specific operations.
The root agent has three tools:
tools=[
search_flights,
get_airport_info,
validate_travel_date
]
Searches and formats flight results.
Checks the airport code for a city.
Validates and formats travel dates.
This is an important part of the project because the LLM isn't expected to perform everything itself. It can decide when to use Python tools to perform real operations.
User Travel Request
↓
AI Conversational Agent
↓
Collect Travel Details
↓
Validate Date
↓
Verify Airport Codes
↓
Confirm Trip
↓
Search Flights
↓
Compare Flight Options
↓
Display Prices & Details
↓
Provide Booking Links
↓
Follow-up Travel Assistance
The main objective of this project is to demonstrate how Agentic AI can interact with users, collect structured information, and use external tools to complete real-world tasks.
A traditional travel application might require the user to manually enter every parameter into a search form.
This project instead provides a conversational experience:
User → Natural Language Request → AI Agent → Tool Calls → Flight Search → Comparison → Booking Options
The project therefore demonstrates the practical combination of:
LLM + Python Tools + External Data + Conversational Workflow
python -m venv myenv
myenv\Scripts\activate
Install the dependencies required by the project, including:
pip install google-adk litellm groq fast-flights
Add your Groq API key to your environment configuration rather than hard-coding it in the source code.
Start the project using the appropriate Google ADK command based on your project folder structure.
Once running, the user can interact with the agent conversationally and provide their travel requirements.
✈️ AI-powered Travel Planner
🤖 Conversational AI Agent
🧠 Groq Llama 3.3 70B
🔧 Custom Python Tools
🌍 Indian & International Airport Support
📅 Automatic Date Validation
🔎 Flight Search
💰 Fare Comparison
🔗 Multiple Booking Platforms
💬 Natural Language Interaction
⚡ Tool-Calling Agent Architecture
🛠️ Google ADK + LiteLLM
Multi-Agent News Aggregator is an Agentic AI application built using Google ADK, Groq Llama 3.3 70B, and multiple specialized AI agents.
The system uses three independent AI agents to handle different types of information:
🏏 Cricket News Agent
🌦️ Weather News Agent
📈 Stock Market News Agent
Instead of using one general-purpose AI agent for everything, the project follows a multi-agent architecture, where each agent is given a specific responsibility.
All three agents are executed simultaneously using a ParallelAgent, making the system more efficient than running each task one after another.
This project demonstrates practical understanding of:
Agentic AI
Multi-Agent Systems
Google ADK
LLM orchestration
Parallel agent execution
Task specialization
Groq LLM integration
Structured AI outputs
The Cricket Agent specializes in cricket-related information.
Its responsibility is to provide:
Cricket news
Match updates
Cricket-related developments
Concise summaries
The agent is configured with a dedicated instruction:
"You are a cricket news specialist."
This gives the agent a specific role instead of asking one AI model to handle every type of information.
The Weather Agent is responsible for weather-related information.
It is designed to provide:
Weather updates
Forecast information
Weather-related developments
Concise weather summaries
This agent operates independently from the cricket and stock agents.
The Stock Market Agent specializes in financial and market-related information.
It is designed to provide:
Stock market updates
Market news
Financial developments
Concise market summaries
The agent has its own instructions and output storage.
The most important feature of this project is the ParallelAgent.
Instead of executing:
Cricket → Weather → Stocks
one after another, the system runs them simultaneously:
Cricket Agent ──┐
Weather Agent ──┼──→ News Aggregator
Stock Agent ────┘
This is useful when multiple independent tasks need to be completed at the same time.
Used to build and configure the multi-agent application.
Google's Agent Development Kit is used to create and orchestrate the AI agents.
Main components used:
LlmAgent
ParallelAgent
Groq provides the LLM inference layer through:
LiteLlm(model="groq/llama-3.3-70b-versatile")
The project uses Llama 3.3 70B Versatile as the underlying language model.
LiteLlm acts as the model interface that allows the Google ADK agents to use the Groq-hosted model.
The project first creates the model configuration:
model = LiteLlm(
model="groq/llama-3.3-70b-versatile"
)
This defines the LLM that will be used by all three specialized agents.
Instead of creating a separate model configuration for every agent, the same model is reused.
cricket_agent = LlmAgent(
name="cricket_agent",
model=model,
...
)
The first agent is responsible for cricket news.
Its instruction tells the LLM to behave as a Cricket News Specialist.
The output is stored using:
output_key="cricket_news"
This provides a structured key for the cricket agent's result.
The second agent is created specifically for weather:
weather_agent = LlmAgent(
name="weather_agent",
model=model,
...
)
It receives its own specialized instructions and produces weather-related output.
Its result is stored as:
output_key="weather_news"
The third agent focuses on financial news:
stock_agent = LlmAgent(
name="stock_agent",
model=model,
...
)
It receives a dedicated stock-market instruction and stores its result using:
output_key="stock_news"
The three agents are combined using:
root_agent = ParallelAgent(
name="news_aggregator",
sub_agents=[
cricket_agent,
weather_agent,
stock_agent
],
)
This is the core of the project.
The ParallelAgent tells Google ADK that these three tasks are independent and can run at the same time.
Cricket Agent
↓
Weather Agent
↓
Stock Agent
Each agent waits for the previous one.
┌── Cricket Agent
│
News Request ├── Weather Agent
│
└── Stock Agent
↓
News Aggregator
All three agents can work independently and simultaneously.
User / News Request
↓
News Aggregator
↓
ParallelAgent
↙️ ↓ ↘️
Cricket Weather Stock Market
↘️ ↓ ↙️
Individual AI Outputs
↓
Aggregated News Response
A single AI agent could technically be instructed to provide cricket, weather, and stock information.
However, a multi-agent architecture provides specialization.
Each agent has:
Its own role
Its own instructions
Its own output
A specific area of responsibility
This makes the architecture easier to extend.
For example, additional agents could later be added for:
💻 Technology News
🌍 World News
🎬 Entertainment News
⚽ Football News
🤖 AI News
💰 Cryptocurrency News
The architecture can therefore evolve into a complete AI News Aggregation System.
The primary objective of this project is to demonstrate how multiple specialized AI agents can collaborate within a single application.
Instead of creating one large AI system responsible for everything, the project divides the workload into specialized agents.
One Agent → Multiple Responsibilities
Multiple Specialized Agents → One Unified System
This demonstrates an important concept in Agentic AI: task decomposition and parallel execution.
Each agent performs one specific task.
Independent tasks can execute simultaneously.
Multiple LLM agents operate under one parent orchestration layer.
The project uses Groq's Llama model through LiteLLM.
Each agent has its own output_key, making the results identifiable and manageable.
New specialized agents can be added without redesigning the entire system.
🤖 Multi-Agent AI System
⚡ Parallel Agent Execution
🏏 Cricket News Agent
🌦️ Weather News Agent
📈 Stock Market News Agent
🧠 Groq Llama 3.3 70B
🔗 Google ADK
🔌 LiteLLM Integration
🧩 Specialized Agent Architecture
📊 Structured Agent Outputs