Skip to content

Latest commit

Β 

History

History
133 lines (101 loc) Β· 4.55 KB

File metadata and controls

133 lines (101 loc) Β· 4.55 KB

🩺 HIA (Health Insights Agent)

AI Agent to analyze blood reports and provide detailed health insights.

Features | Tech Stack | Installation | Contributing | Author

Usage Demo

🌟 Features

  • 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

πŸ› οΈ Tech Stack

  • 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

πŸš€ Installation

Requirements πŸ“‹

  • Python 3.8+
  • Streamlit 1.30.0+
  • Supabase account
  • Groq API key
  • PDFPlumber
  • Python-magic-bin (Windows) or Python-magic (Linux/Mac)

Getting Started πŸ“

  1. Clone the repository:
git clone https://github.com/harshhh28/hia.git
cd hia
  1. Install dependencies:
pip install -r requirements.txt
  1. Required environment variables (in .streamlit/secrets.toml):
SUPABASE_URL = "your-supabase-url"
SUPABASE_KEY = "your-supabase-key"
GROQ_API_KEY = "your-groq-api-key"
  1. Set up Supabase database schema:

The application requires the following tables in your Supabase database:

database schema

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)

  1. Run the application:
streamlit run src\main.py

πŸ“ Project Structure

hia/
β”œβ”€β”€ 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

πŸ‘₯ Contributing

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.