Il s'agit d'un serveur basé sur FastAPI qui agit comme une interface entre votre application et les services d'IA basés sur le cloud. Il se concentre sur trois tâches principales :
Actuellement, il utilise l'API d'OpenAI pour ces services, mais il est conçu pour que nous puissions ajouter d'autres fournisseurs à l'avenir.
Transcription (parole-texte)
Synthèse vocale
Parole-à-parole
.
├── cloud_providers/
│ ├── base.py
│ └── openai_api_handler.py
├── server/
│ ├── main.py
│ ├── routers/
│ │ ├── transcribe.py
│ │ ├── tts.py
│ │ └── speech_to_speech.py
│ └── utils/
│ └── logger.py
|
└── requirements.txt
└── README.md
Cloner le référentiel
Créez un environnement virtuel :
python -m venv venv
source venv/bin/activate
Installer les dépendances :
pip install -r requirements
Configurez les variables d'environnement :
export OPENAI_API_KEY=your_openai_api_key
Pour démarrer le serveur, accédez au répertoire du projet et exécutez :
python server/main.py
Cela démarrera le serveur FastAPI, généralement sur http://localhost:8000
.
API docs
L'application utilise des gestionnaires de fichiers rotatifs pour la journalisation, avec des fichiers journaux distincts pour différents composants :
logs/main.log
: Journaux principaux des applicationslogs/transcription.log
: journaux spécifiques à la transcriptionlogs/tts.log
: journaux de synthèse vocalelogs/speech_to_speech.log
: journaux de synthèse vocale L'application inclut la gestion des erreurs pour divers scénarios, notamment les erreurs d'API et les déconnexions WebSocket. Les erreurs sont enregistrées et les exceptions HTTP appropriées sont générées.
Le projet est conçu dans un souci d’extensibilité. La classe de base abstraite CloudProviderBase
dans base.py
permet une intégration facile de fournisseurs de cloud supplémentaires au-delà d'OpenAI.
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
[Précisez votre licence ici]