A high-performance, multi-agent AI system designed for advanced RAG, text summarization, email drafting, and Excel validation. Powered by Groq (primary) and Google Gemini (fallback).
The project follows a Supervisor-Agent pattern:
- Supervisor Agent: The "brain" that routes user requests to the appropriate specialized agent based on natural language intent.
- RAG Agent: Handles PDF ingestion and context-aware retrieval-augmented generation.
- Summarization Agent: Provides concise summaries of long documents or text snippets.
- Email Agent: Drafts professional emails based on context and user instructions.
- Excel Checker Agent: Validates spreadsheet structure for business report compatibility.
- Backend: FastAPI (Python 3.11+)
- Frontend: Streamlit (Premium UI with Glassmorphism)
- LLM Engine: Groq SDK (
llama-3.1-70b-versatile) - Fallback: Google Generative AI (
gemini-1.5-flash) - Deployment: Render-ready with dedicated
Procfile
You will need API keys from:
# Clone the repository
git clone https://github.com/Saviour5538/testmultiagent.git
cd testmultiagent
# Install dependencies
pip install -r requirements.txt
# Configure Environment
cp env.template .env
# Edit .env and paste your API keys# Start the Backend (FastAPI)
python -m backend.main
# Start the Frontend (Streamlit)
streamlit run frontend/app.pyThe system provides a unified gateway for agent interaction.
- Endpoint:
POST /chat - Method:
POST - Body (Form Data):
message: (string) Your task or query.file_path: (string, optional) Path to an ingested PDF or Excel file.
- Endpoint:
POST /ingest - Method:
POST - Body (File):
file(PDF binary) - Returns:
file_pathfor use in context-aware chats.
- Endpoint:
POST /upload-excel - Method:
POST - Body (File):
file(Excel binary)
This project is optimized for Render.
- New Web Service: Connect your GitHub repo.
- Build Command:
pip install -r requirements.txt - Start Command:
python -m backend.main - Environment Variables:
GOOGLE_API_KEY: [Your Key]GROQ_API_KEY: [Your Key]PYTHONPATH:.
Sensitive files such as .env and __pycache__ are strictly excluded via .gitignore. An env.template is provided for safe configuration reference.