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 :
    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

python start_services.py

Ce script lance tous les services backend (API principale, TTS, STT, streaming...).

Démarrage manuel de l’API FastAPI

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.