AI Agent to analyze blood reports and provide detailed health insights.
Features | Tech Stack | Installation | Contributing | Author
- Intelligent agent-based architecture with multi-model cascade system
- In-context learning from previous analyses and knowledge base building
- Medical report analysis with personalized health insights
- PDF upload, validation and text extraction (up to 20MB)
- Secure user authentication and session management
- Session history with report analysis tracking
- Modern, responsive UI with real-time feedback
- Frontend Framework: Streamlit
- AI Integration: Multi-model architecture via Groq
- Primary: meta-llama/llama-4-maverick-17b-128e-instruct
- Secondary: llama-3.3-70b-versatile
- Tertiary: llama-3.1-8b-instant
- Fallback: llama3-70b-8192
- Database: Supabase
- PDF Processing: PDFPlumber
- Authentication: Supabase Auth
- Python 3.8+
- Streamlit 1.30.0+
- Supabase account
- Groq API key
- PDFPlumber
- Python-magic-bin (Windows) or Python-magic (Linux/Mac)
- Clone the repository:
git clone https://github.com/harshhh28/hia.git
cd hia- Install dependencies:
pip install -r requirements.txt- Required environment variables (in
.streamlit/secrets.toml):
SUPABASE_URL = "your-supabase-url"
SUPABASE_KEY = "your-supabase-key"
GROQ_API_KEY = "your-groq-api-key"- Set up Supabase database schema:
The application requires the following tables in your Supabase database:
You can use the SQL script provided at public/db/script.sql [link] to set up the required database schema.
(PS: You can turn off the email confimation on signup in Supabase settings -> signup -> email)
- Run the application:
streamlit run src\main.pyhia/
βββ requirements.txt
βββ README.md
βββ src/
β βββ main.py # Application entry point
β βββ auth/ # Authentication related modules
β β βββ auth_service.py # Supabase auth integration
β β βββ session_manager.py # Session management
β βββ components/ # UI Components
β β βββ analysis_form.py # Report analysis form
β β βββ auth_pages.py # Login/Signup pages
β β βββ footer.py # Footer component
β β βββ sidebar.py # Sidebar navigation
β βββ config/ # Configuration files
β β βββ app_config.py # App settings
β β βββ prompts.py # AI prompts
β βββ services/ # Service integrations
β β βββ ai_service.py # AI service integration
β βββ agents/ # Agent-based architecture components
β β βββ agent_manager.py # Agent management
β β βββ model_fallback.py # Model fallback logic
β βββ utils/ # Utility functions
β βββ validators.py # Input validation
β βββ pdf_extractor.py # PDF processing
Contributions are welcome! Please read our Contributing Guidelines for details on how to submit pull requests, the development workflow, coding standards, and more.
We appreciate all contributions, from reporting bugs and improving documentation to implementing new features.
Thanks to all the amazing contributors who have helped improve this project!
| Avatar | Name | GitHub | Role | Contributions | PR(s) | Notes |
|---|---|---|---|---|---|---|
| Harsh Gajjar | harshhh28 | Project Creator & Maintainer | Core implementation, Documentation | N/A | Lead Developer | |
| Gaurav | gaurav98095 | Contributor | DB Schema, bugs | #1, #5, #6, #7 | Database Design, bugs |
This project is licensed under the MIT License - see the LICENSE file for details.
Created by Harsh Gajjar