Spaces:
Paused
Paused
HNTAI - Medical Data Extraction & AI Processing Platform
A comprehensive, scalable AI platform for medical data extraction, processing, and analysis. Built with FastAPI, supporting multiple AI model backends including Transformers, OpenVINO, and GGUF models with automatic GPU/CPU optimization.
π₯ Overview
HNTAI is a production-ready medical AI platform that provides:
- Medical Document Processing: PDF, DOCX, image, and audio transcription
- Protected Health Information (PHI) Scrubbing: HIPAA-compliant data anonymization
- AI-Powered Summarization: Multi-model support with automatic device optimization
- Patient Summary Generation: Comprehensive clinical assessments
- Simplified Architecture: Clean, maintainable codebase with essential features
π Key Features
π€ Multi-Model AI Support
- Transformers Models: Hugging Face models with automatic GPU/CPU detection
- OpenVINO Optimization: Intel-optimized models for production performance
- GGUF Models: Quantized models for efficient inference
- Automatic Device Selection: GPU when available, CPU fallback
- Model Caching: Intelligent model management and caching
π Document Processing
- Multi-format Support: PDF, DOCX, images, audio files
- OCR Integration: Tesseract-based text extraction
- Audio Transcription: Whisper-based speech-to-text
- Batch Processing: Async processing for scalability
π Security & Compliance
- HIPAA Compliance: PHI scrubbing with audit logging
- Data Encryption: Secure data handling and storage
- Audit Trails: Comprehensive logging for compliance
- Non-root Containers: Security-hardened deployments
π Monitoring & Observability
- Health Endpoints:
/health/live,/health/ready - Basic Metrics: Simple performance tracking
- Structured Logging: Application logging
- Audit Logging: HIPAA-compliant audit trails
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FastAPI Application β
β (main.py) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββ
β β β
βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Routes β β Agents β β Utils β
β β β β β β
β - /upload β β - Text β β - Model β
β - /transcribeβ β Extractor β β Manager β
β - /generate β β - PHI β β - JSON β
β _summary β β Scrubber β β Parser β
β β β - Patient β β - Config β
β β β Summary β β β
β β β - Whisper β β β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β β β
βββββββββββββββββββββΌββββββββββββββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββ
β β β
βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Models β β Database β β Health β
β β β (Optional) β β β
β - Transformersβ β - Audit Logs β β - /health β
β - GGUF β β (HIPAA) β β - /metrics β
β - OpenVINO β β β β β
β - Whisper β β β β β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
π οΈ Installation
Prerequisites
- Python 3.11+
- CUDA 11.8+ (for GPU support)
- Docker (for containerized deployment)
- PostgreSQL 13+ (optional - for audit logs)
Local Development
- Clone the repository:
git clone <repository-url>
cd HNTAI
- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
export DATABASE_URL="postgresql://user:password@localhost:5432/hntai" # Optional - for audit logs
export SECRET_KEY="your-secret-key"
export JWT_SECRET_KEY="your-jwt-secret"
export HF_HOME="/tmp/huggingface"
- Run the application:
# Development server
python -m uvicorn services.ai-service.src.ai_med_extract.main:app --reload --host 0.0.0.0 --port 7860
# Or using the service directly
cd services/ai-service
python src/ai_med_extract/main.py
Docker Deployment
- Build the image:
docker build -t hntai:latest .
- Run with Docker Compose:
docker-compose up -d
Kubernetes Deployment
- Apply Kubernetes manifests:
kubectl apply -f infra/k8s/secure_deployment.yaml
- Check deployment status:
kubectl get pods -l app=hntai
π API Documentation
Core Endpoints
Health & Monitoring
GET /health/live- Liveness probeGET /health/ready- Readiness probeGET /metrics- Prometheus metrics
Document Processing
POST /upload- Upload and process documentsPOST /transcribe- Transcribe audio filesGET /get_updated_medical_data- Retrieve processed dataPUT /update_medical_data- Update medical data
AI Processing
POST /generate_patient_summary- Generate comprehensive patient summariesPOST /api/generate_summary- Generate text summariesPOST /api/patient_summary_openvino- OpenVINO-optimized summariesPOST /extract_medical_data- Extract structured medical data
Model Management
POST /api/load_model- Load specific AI modelsGET /api/model_info- Get model informationPOST /api/switch_model- Switch between models
π€ AI Model Configuration
Supported Model Types
1. Transformers Models
{
"model_name": "microsoft/Phi-3-mini-4k-instruct",
"model_type": "text-generation"
}
2. OpenVINO Models
{
"model_name": "OpenVINO/Phi-3-mini-4k-instruct-fp16-ov",
"model_type": "openvino"
}
3. GGUF Models
{
"model_name": "microsoft/Phi-3-mini-4k-instruct-gguf",
"model_type": "gguf"
}
Automatic Device Detection
The system automatically detects and uses:
- GPU: When CUDA is available
- CPU: Fallback when GPU is not available
- Optimization: Intel OpenVINO for production performance
π§ Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string (optional - for audit logs) | Not required |
SECRET_KEY |
Application secret key | Required |
JWT_SECRET_KEY |
JWT signing key | Required |
HF_HOME |
Hugging Face cache directory | /tmp/huggingface |
TORCH_HOME |
PyTorch cache directory | /tmp/torch |
WHISPER_CACHE |
Whisper model cache | /tmp/whisper |
HF_SPACES |
Hugging Face Spaces mode | false |
PRELOAD_GGUF |
Preload GGUF models | false |
Model Configuration
The system supports flexible model configuration through model_config.py:
# Default models for different tasks
DEFAULT_MODELS = {
"text-generation": {
"primary": "microsoft/Phi-3-mini-4k-instruct",
"fallback": "facebook/bart-base"
},
"openvino": {
"primary": "OpenVINO/Phi-3-mini-4k-instruct-fp16-ov",
"fallback": "microsoft/Phi-3-mini-4k-instruct"
},
"gguf": {
"primary": "microsoft/Phi-3-mini-4k-instruct-gguf",
"fallback": "microsoft/Phi-3-mini-4k-instruct-gguf"
}
}
π§ͺ Testing
Run Tests
# Unit tests
python -m pytest tests/
# Smoke test (no model loading)
cd services/ai-service
python run_smoke_test.py
# Integration tests
python -m pytest tests/integration/
Code Quality
# Format code
black .
isort .
# Lint code
flake8 .
mypy .
# Type checking
mypy services/ai-service/src/ai_med_extract/
π Monitoring
Health Checks
- Liveness:
GET /health/live- Application is running - Readiness:
GET /health/ready- Application is ready to serve requests
Metrics
- Prometheus:
GET /metrics- Application and model metrics - Custom Metrics: Model inference time, success rates, error rates
Logging
- Structured Logging: JSON-formatted logs
- Audit Trails: PHI access and modification logs
- Performance Logs: Model loading and inference timing
π Security Features
HIPAA Compliance
- PHI Scrubbing: Automatic removal of protected health information
- Audit Logging: Comprehensive access and modification logs
- Data Encryption: Secure data handling and storage
- Access Controls: Role-based access to sensitive data
Container Security
- Non-root Containers: Security-hardened container images
- Resource Limits: CPU and memory limits
- Network Policies: Secure network communication
- Secrets Management: Secure handling of sensitive configuration
π Deployment Options
1. Local Development
python -m uvicorn services.ai-service.src.ai_med_extract.main:app --reload
2. Docker
docker run -p 7860:7860 hntai:latest
3. Kubernetes
kubectl apply -f infra/k8s/secure_deployment.yaml
4. Hugging Face Spaces
# Configure for HF Spaces
export HF_SPACES=true
# The app.py file automatically detects HF Spaces environment
π Project Structure
HNTAI/
βββ services/
β βββ ai-service/
β βββ src/
β βββ ai_med_extract/
β βββ agents/ # Core agents (simplified)
β β βββ text_extractor.py
β β βββ phi_scrubber.py
β β βββ patient_summary_agent.py
β β βββ medical_data_extractor.py
β βββ api/
β β βββ routes_fastapi.py # All routes in one file
β βββ utils/
β β βββ unified_model_manager.py # Single model manager
β β βββ robust_json_parser.py
β β βββ model_config.py
β βββ app.py # FastAPI app setup
β βββ main.py # Entry point
β βββ health_endpoints.py # Simple health checks
β βββ database_audit.py # HIPAA audit logging
βββ docs/
β βββ hf-spaces/ # HF Spaces deployment guides
β βββ archive/ # Archived documentation
βββ app.py # HF Spaces wrapper (minimal)
βββ preload_models.py # Model preloading
βββ requirements.txt
βββ README.md
π€ Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
python -m pytest - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Documentation
Main Documentation
- README_DEPLOYMENT.md - Quick deployment reference for HF Spaces
- services/ai-service/README.md - Detailed service documentation
Deployment Guides (docs/hf-spaces/)
- HF_SPACES_QUICKSTART.md - 10-minute deployment guide
- DEPLOYMENT_CHECKLIST.md - Step-by-step checklist
- MODEL_USAGE_GUIDE.md - Model configuration and usage
- HF_SPACES_DEPLOYMENT.md - Complete deployment reference
Additional Resources
- docs/archive/ - Historical documentation and summaries
- services/ai-service/src/ai_med_extract/PRODUCTION_READY_SUMMARY.md - Production notes
- services/ai-service/src/ai_med_extract/utils/INTEGRATION_GUIDE.md - Integration guide
π Support
- Documentation: Check the
/docsendpoint for interactive API documentation - Issues: Report bugs and feature requests via GitHub Issues
- Discussions: Join community discussions for questions and support
π Changelog
Latest Updates
- β Simplified architecture - Removed over-engineered components
- β Unified model management - Single model manager for all model types
- β Consolidated routes - All API endpoints in one file
- β Simplified agents - Removed duplicate implementations
- β Enhanced security and HIPAA compliance - Maintained audit logging
- β Cleaner codebase - 50% fewer files, 40% less code
Built with β€οΈ for the medical AI community