Spaces:
Paused
Paused
Update .gitignore to include additional files and directories for macOS, Linux, and application-specific configurations. Modify .huggingface.yaml to enhance Docker build settings and hardware requirements. Refactor app.py to remove legacy code and improve error handling. Remove deprecated files related to comprehensive streaming fixes, deployment scripts, and optimized Docker configurations. Update Dockerfile.prod to extend Gunicorn timeout for better performance. Enhance health endpoints and model management with improved logging and error handling. Consolidate routes and simplify architecture for better maintainability.
af75202 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