Este es un servidor basado en FastAPI que actúa como una interfaz entre su aplicación y los servicios de inteligencia artificial basados en la nube. Se centra en tres tareas principales:
Actualmente, utiliza la API de OpenAI para estos servicios, pero está diseñado para que podamos agregar otros proveedores en el futuro.
Transcripción (voz a texto)
Texto a voz
Habla a voz
.
├── 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
Clonar el repositorio
Crea un entorno virtual:
python -m venv venv
source venv/bin/activate
Instalar dependencias:
pip install -r requirements
Configurar variables de entorno:
export OPENAI_API_KEY=your_openai_api_key
Para iniciar el servidor, navegue hasta el directorio del proyecto y ejecute:
python server/main.py
Esto iniciará el servidor FastAPI, normalmente en http://localhost:8000
.
API docs
La aplicación utiliza controladores de archivos rotativos para el registro, con archivos de registro separados para diferentes componentes:
logs/main.log
: registros de la aplicación principallogs/transcription.log
: registros específicos de transcripciónlogs/tts.log
: registros de texto a vozlogs/speech_to_speech.log
: registros de voz a voz La aplicación incluye manejo de errores para varios escenarios, incluidos errores de API y desconexiones de WebSocket. Los errores se registran y se generan las excepciones HTTP apropiadas.
El proyecto está diseñado teniendo en cuenta la extensibilidad. La clase base abstracta CloudProviderBase
en base.py
permite una fácil integración de proveedores de nube adicionales más allá de OpenAI.
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción.
[Especifique su licencia aquí]