Spaces:
Sleeping
Sleeping
| # 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. | |