Tegaconsult's picture
Update README.md
1b22e0c verified
---
title: Digital Doctors Assistant ML API
emoji: 🏥
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit
---
# Digital Doctors Assistant ML API
A FastAPI-based machine learning service that provides two prediction models for healthcare applications:
1. **Risk Assessment Model** - Predicts patient risk levels (Low/Medium/High) based on vitals and health metrics
2. **Treatment Outcome Model** - Predicts treatment success probability based on patient data and medication
## Features
- RESTful API endpoints for ML predictions
- Interactive web interface for easy testing
- ONNX Runtime for fast inference
- Pre-trained models hosted on HuggingFace
- Docker support for easy deployment
## Quick Start
### Using HuggingFace Space
Simply visit the Space URL and use the web interface to make predictions.
### Run Locally with Docker
```bash
docker run -it -p 7860:7860 \
-e HUGGINGFACE_TOKEN="your_token_here" \
registry.hf.space/your-username-your-space-name:latest
```
### Local Setup (Without Docker)
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Set your HuggingFace token:
```bash
# Windows PowerShell
$env:HUGGINGFACE_TOKEN="your_token_here"
# Windows CMD
set HUGGINGFACE_TOKEN=your_token_here
# Linux/Mac
export HUGGINGFACE_TOKEN=your_token_here
```
3. Run the server:
```bash
uvicorn ml:app --host 0.0.0.0 --port 7860
```
4. Open your browser:
- Web Interface: http://localhost:7860
- API Docs: http://localhost:7860/docs
- Health Check: http://localhost:7860/health
## API Endpoints
### POST /predict/risk
Predict patient risk level based on health metrics.
**Request Body:**
```json
{
"age": 45,
"bmi": 28.5,
"systolic_bp": 140,
"diastolic_bp": 90,
"chronic_conditions": "diabetes,hypertension",
"severity_score": 7.5
}
```
**Response:**
```json
{
"success": true,
"model": "risk_assessment",
"prediction": "High",
"confidence": 0.85,
"probabilities": {
"Low": 0.05,
"Medium": 0.10,
"High": 0.85
}
}
```
### POST /predict/treatment
Predict treatment outcome success probability.
**Request Body:**
```json
{
"patient_age": 55,
"severity_score": 6.5,
"compliance_rate": 0.85,
"medication": "Metformin",
"condition": "Diabetes Type 2"
}
```
**Response:**
```json
{
"success": true,
"model": "treatment_outcome",
"prediction": 1,
"success_probability": 78.5,
"confidence": 0.78,
"probabilities": {
"failure": 0.22,
"success": 0.78
}
}
```
## Supported Medications
- Paracetamol
- Ibuprofen
- Amoxicillin
- Ciprofloxacin
- Metformin
- Lisinopril
- Amlodipine
- Omeprazole
## Supported Conditions
- Common Cold
- Influenza
- Pneumonia
- Bronchitis
- Hypertension
- Diabetes Type 2
- Migraine
- Gastroenteritis
## Environment Variables
- `HUGGINGFACE_TOKEN` - Required. Your HuggingFace access token for downloading models
## Technology Stack
- FastAPI - Web framework
- ONNX Runtime - ML inference
- NumPy - Numerical computing
- HuggingFace Hub - Model hosting
- Pydantic - Data validation
- Uvicorn - ASGI server
## License
MIT