Avatar / Back-end /README.md
DataSage12's picture
Initial commit - HOLOKIA-AVATAR v2.2
de63014
# HOLOKIA-AVATAR Backend
Ce dossier contient le backend du projet: il gère la génération de texte IA (LLM), la synthèse vocale (TTS), la reconnaissance vocale (STT), et le streaming audio en temps réel avec Websocket.
---
## Structure du dossier
```
Back-end/
├── .env # Variables d'environnement (API keys, config)
├── requirements.txt # Dépendances Python
├── start_service.py # Script de lancement des services # Script de démarrage principal
|__ tts_cache # Le cache
├── app/
│ ├── __init__.py
│ └── main.py # API principale FastAPI
├── env/ # Environnement virtuel Python (venv)
├── services/
│ ├── live_stream_service.py
│ ├── llm_service.py
│ ├── stt_service.py
│ ├── tts_service.py
```
---
## Prérequis
- Python 3.10 ou supérieur
- Installer les dépendances :
```sh
pip install -r requirements.txt
```
- Configurer le fichier `.env` avec vos clés API et paramètres nécessaires (voir exemple ci-dessous).
---
## Configuration
Exemple de fichier `.env` :
```
GROQ_API_KEY=your_groq_api_key
```
Adaptez les clés et chemins selon votre environnement.
---
## Lancement du backend
### Démarrage global
```sh
python start_services.py
```
Ce script lance tous les services backend (API principale, TTS, STT, streaming...).
### Démarrage manuel de l’API FastAPI
```sh
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
```
---
## Fonctionnalités principales
- **Reconnaissance vocale (STT)**
Endpoint : `POST /stt/transcribe`
Envoie un fichier audio, reçoit le texte transcrit.
- **Synthèse vocale (TTS)**
Endpoint : `POST /tts/generate-tts`
Envoie du texte, reçoit le chemin du fichier audio généré.
- **Génération de texte IA (LLM)**
Endpoint : `POST /llm/generate`
Envoie un prompt, reçoit la réponse générée.
- **Streaming audio en temps réel**
Endpoint : `/live_stream/{user_id}`
Permet la communication audio temps réel avec le backend.
- **Health check**
Endpoint : `GET /health`
Vérifie l’état du backend.
---
## Dossiers de cache et de test
- `tts_cache/` : fichiers audio générés par le TTS
---
## Bonnes pratiques
- Utilisez l’environnement virtuel fourni (`env/`) pour isoler les dépendances.
- Protégez votre fichier `.env` et ne le partagez pas publiquement.
- Consultez et adaptez `lipsync_config.yaml` selon vos besoins de synchronisation labiale.
- En production, restreignez les origines CORS dans `main.py`.
---
## Contribution
Pour toute modification :
- Documentez votre code
- Ajoutez des tests si nécessaire
- Respectez la structure existante
---
## Support
Pour toute question ou problème, Veillez contacter Holokia particuliérement Mr Sinaly ou Mr Omar.