Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ User Query → Runner → Root Agent (professor_profiler_agent)
```

## Technology Stack
- **LLM**: Google Gemini 2.5 (Flash for classification, Pro for analysis)
- **LLM**: Google Gemini 3 (Flash for classification, Pro for analysis)
- **Framework**: Custom ADK (Agent Development Kit)
- **PDF Processing**: pypdf
- **Visualization**: matplotlib
Expand All @@ -67,25 +67,25 @@ User Query → Runner → Root Agent (professor_profiler_agent)
## Agent Specifications

### Root Agent: professor_profiler_agent
- **Model**: gemini-2.5-pro
- **Model**: gemini-3-pro
- **Role**: Orchestrator
- **Tools**: read_pdf_content, visualize_trends, analyze_statistics
- **Sub-agents**: taxonomist, trend_spotter, strategist

### Sub-Agent: taxonomist
- **Model**: gemini-2.5-flash (cost-effective for classification)
- **Model**: gemini-3-flash (cost-effective for classification)
- **Role**: Question classification
- **Output**: Tagged questions with topics and Bloom's levels
- **Callback**: Suppresses intermediate output

### Sub-Agent: trend_spotter
- **Model**: gemini-2.5-pro (complex analysis)
- **Model**: gemini-3-pro (complex analysis)
- **Role**: Statistical trend analysis
- **Output**: Shift report with frequency and cognitive trends
- **Callback**: Suppresses intermediate output

### Sub-Agent: strategist
- **Model**: gemini-2.5-pro
- **Model**: gemini-3-pro
- **Role**: Study plan generation
- **Output**: Hit List, Safe Zone, Drop List recommendations

Expand Down
6 changes: 3 additions & 3 deletions FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
### 1. Multi-Agent System ✓
- [x] **Hub-and-Spoke Architecture**: Root orchestrator (`professor_profiler_agent`) + 3 specialized sub-agents
- [x] **Sequential Agents**: Taxonomist → Trend Spotter → Strategist workflow
- [x] **Agent Powered by LLM**: All agents use Google Gemini 2.5 (Flash/Pro)
- [x] **Agent Powered by LLM**: All agents use Google Gemini 3 (Flash/Pro)
- [x] **Parallel Processing Ready**: Batch question classification infrastructure
- [x] **Agent Delegation**: Root agent delegates specialized tasks

Expand Down Expand Up @@ -98,7 +98,7 @@
- **Test Coverage**: 5 comprehensive tests
- **Agent Count**: 4 (1 root + 3 sub-agents)
- **Custom Tools**: 4
- **API Integration**: Google Gemini 2.5
- **API Integration**: Google Gemini 3
- **Architecture Pattern**: Hub-and-Spoke

## 🎯 Features Demonstrated
Expand Down Expand Up @@ -156,7 +156,7 @@ python demo.py
2. **Tool Integration**: Custom tools with Gemini function calling
3. **State Management**: Sessions and long-term memory
4. **Production Patterns**: Logging, tracing, metrics, error handling
5. **API Integration**: Google Gemini 2.5 with streaming responses
5. **API Integration**: Google Gemini 3 with streaming responses
6. **Testing**: Integration tests and comprehensive validation
7. **Documentation**: Clear architecture and usage documentation

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Professor Profiler

[![Python](https://img.shields.io/badge/Python-3.11%2B-blue?style=flat&logo=python&logoColor=white)](https://www.python.org/)
[![Google Gemini](https://img.shields.io/badge/Google%20Gemini-2.5%20Pro-8E44AD?style=flat&logo=google&logoColor=white)](https://ai.google.dev/)
[![Google Gemini](https://img.shields.io/badge/Google%20Gemini-3%20Pro-8E44AD?style=flat&logo=google&logoColor=white)](https://ai.google.dev/)
[![Architecture](https://img.shields.io/badge/Architecture-Hub%20%26%20Spoke-orange?style=flat)](https://github.com/uffamit/Professor_Profiler)
[![License](https://img.shields.io/badge/License-MIT-green?style=flat)](LICENSE)
[![Quality Assurance Pipeline](https://github.com/uffamit/Professor_Profiler/actions/workflows/quality-assurance.yml/badge.svg)](https://github.com/uffamit/Professor_Profiler/actions/workflows/quality-assurance.yml)
Expand All @@ -13,7 +13,7 @@

## Overview

**Professor Profiler** is not just a document reader; it is a **Hierarchical Multi-Agent System (HMAS)** designed to mimic the cognitive process of an expert tutor. By orchestrating specialized AI agents powered by **Google Gemini 2.5**, it ingests raw exam PDFs, breaks them down into cognitive components (Bloom's Taxonomy), identifies statistical patterns, and formulates actionable "Safe Zone" and "Hit List" study plans.
**Professor Profiler** is not just a document reader; it is a **Hierarchical Multi-Agent System (HMAS)** designed to mimic the cognitive process of an expert tutor. By orchestrating specialized AI agents powered by **Google Gemini 3**, it ingests raw exam PDFs, breaks them down into cognitive components (Bloom's Taxonomy), identifies statistical patterns, and formulates actionable "Safe Zone" and "Hit List" study plans.

This project serves as a reference implementation for:
* **Hub-and-Spoke Agent Architecture**
Expand Down Expand Up @@ -43,7 +43,7 @@ flowchart TD
end

subgraph Agent_Layer [" Agent Hierarchy"]
Root[<b>ROOT AGENT</b><br><i>Gemini 2.5 Pro</i><br>The Project Manager]
Root[<b>ROOT AGENT</b><br><i>Gemini 3 Pro</i><br>The Project Manager]

subgraph Workers ["Specialized Sub-Agents"]
Taxonomist[<b>Taxonomist</b><br><i>Gemini Flash</i><br>Topic & Bloom's Classification]
Expand Down Expand Up @@ -124,7 +124,7 @@ sequenceDiagram
| Component | Technology | Description |
| :--- | :--- | :--- |
| **Core Logic** | Python 3.10+ | Type-hinted, async-native codebase. |
| **LLM Engine** | Google Gemini 2.5 | Uses `Pro` for reasoning and `Flash` for high-speed tasks. |
| **LLM Engine** | Google Gemini 3 | Uses `Pro` for reasoning and `Flash` for high-speed tasks. |
| **Orchestrator** | Google ADK (Custom) | Custom implementation of the Agent Development Kit patterns. |
| **Document Processing** | `pypdf` | Robust text extraction from standardized exam papers. |
| **Visualization** | `matplotlib` | Generates distribution bar charts and pie charts on the fly. |
Expand Down
4 changes: 2 additions & 2 deletions profiler_agent/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

@dataclass
class ProfilerConfiguration:
classifier_model: str = "gemini-2.5-flash"
analyzer_model: str = "gemini-2.5-pro"
classifier_model: str = "gemini-3-flash"
analyzer_model: str = "gemini-3-pro"

config = ProfilerConfiguration()
Loading