File size: 2,409 Bytes
f517175
 
7d5788b
 
 
f517175
7d5788b
 
 
 
f517175
 
 
7d5788b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
---
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

1. Créez un environnement virtuel :

```bash
python -m venv .venv
```

2. Activez l'environnement :

Windows PowerShell:
```powershell
.\.venv\Scripts\Activate.ps1
```
Linux/macOS:
```bash
source .venv/bin/activate
```

3. Installez les dépendances :

```bash
pip install -r requirements.txt
```

4. Définissez la variable d'environnement Hugging Face :

Windows PowerShell:
```powershell
$env:HF_TOKEN = "votre_token_huggingface"
```
Linux/macOS:
```bash
export HF_TOKEN="votre_token_huggingface"
```

5. Lancez le serveur :

```bash
uvicorn api.main:app --host 0.0.0.0 --port 82
```

## Points d'accès principaux

- `GET /` : vérifie que le backend est opérationnel
- `POST /api/chat` : endpoint principal du chat médical
- `POST /api/upload/image` : upload d'image pour OCR
- `POST /api/upload/document` : upload de document PDF
- `POST /api/upload/voice` : upload audio pour transcription

## Déploiement Docker (Hugging Face ou autre)

1. Construisez l'image Docker :

```bash
docker build -t zephyr-backend .
```

2. Lancez le conteneur en fournissant le token Hugging Face :

```bash
docker run -e HF_TOKEN="$HF_TOKEN" -p 80:80 zephyr-backend
```

3. Le serveur sera disponible sur `http://localhost:80`.

## Remarques de déploiement

- Assurez-vous de stocker `HF_TOKEN` comme 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.