Spaces:
Sleeping
Sleeping
metadata
title: HealthCare API
emoji: ➕
colorFrom: green
colorTo: yellow
sdk: docker
sdk_version: '3.12'
python_version: '3.12'
app_file: api/main.py
app_port: 5050
pinned: false
Backend — Zephyr API
Ce backend fournit une API FastAPI pour le chatbot médical Zephyr, les services d'extraction de texte OCR / PDF et la transcription audio via l'API Hugging Face.
Objectif
- Héberger une API REST pour le chat médical, l'analyse de symptômes et le résumé de documents médicaux.
- Supporter l'intégration avec un frontend Vue et un déploiement conteneurisé.
- Préparer le backend pour un déploiement sur Hugging Face en utilisant Docker.
Prérequis
- Python 3.11+ ou 3.12
- Docker
- Token Hugging Face enregistré dans la variable d'environnement
HF_TOKEN
Installation locale
- Créez un environnement virtuel :
python -m venv .venv
- Activez l'environnement :
Windows PowerShell:
.\.venv\Scripts\Activate.ps1
Linux/macOS:
source .venv/bin/activate
- Installez les dépendances :
pip install -r requirements.txt
- Définissez la variable d'environnement Hugging Face :
Windows PowerShell:
$env:HF_TOKEN = "votre_token_huggingface"
Linux/macOS:
export HF_TOKEN="votre_token_huggingface"
- Lancez le serveur :
uvicorn api.main:app --host 0.0.0.0 --port 82
Points d'accès principaux
GET /: vérifie que le backend est opérationnelPOST /api/chat: endpoint principal du chat médicalPOST /api/upload/image: upload d'image pour OCRPOST /api/upload/document: upload de document PDFPOST /api/upload/voice: upload audio pour transcription
Déploiement Docker (Hugging Face ou autre)
- Construisez l'image Docker :
docker build -t zephyr-backend .
- Lancez le conteneur en fournissant le token Hugging Face :
docker run -e HF_TOKEN="$HF_TOKEN" -p 80:80 zephyr-backend
- Le serveur sera disponible sur
http://localhost:80.
Remarques de déploiement
- Assurez-vous de stocker
HF_TOKENcomme secret dans Hugging Face ou dans l'environnement de déploiement. - Le backend autorise les requêtes CORS depuis tous les origines pour faciliter l'intégration avec différents frontends.
- Les endpoints d'authentification sont actuellement des mocks et ne sont pas encore implémentés en production.