Это сервер на базе FastAPI, который действует как интерфейс между вашим приложением и облачными службами искусственного интеллекта. Он ориентирован на три основные задачи:
В настоящее время для этих сервисов он использует API OpenAI, но он спроектирован таким образом, чтобы в будущем мы могли добавлять других поставщиков.
Транскрипция (преобразование речи в текст)
Преобразование текста в речь
Речь в речь
.
├── 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
Клонировать репозиторий
Создайте виртуальную среду:
python -m venv venv
source venv/bin/activate
Установите зависимости:
pip install -r requirements
Настройте переменные среды:
export OPENAI_API_KEY=your_openai_api_key
Чтобы запустить сервер, перейдите в каталог проекта и запустите:
python server/main.py
Это запустит сервер FastAPI, обычно по адресу http://localhost:8000
.
API docs
Приложение использует чередующиеся обработчики файлов для журналирования с отдельными файлами журналов для разных компонентов:
logs/main.log
: основные журналы приложения.logs/transcription.log
: журналы, специфичные для транскрипции.logs/tts.log
: журналы преобразования текста в речь.logs/speech_to_speech.log
: журналы преобразования речи в речь Приложение включает обработку ошибок для различных сценариев, включая ошибки API и отключения WebSocket. Ошибки регистрируются и создаются соответствующие исключения HTTP.
Проект разработан с учетом возможности расширения. Абстрактный базовый класс CloudProviderBase
в base.py
позволяет легко интегрировать дополнительных поставщиков облачных услуг помимо OpenAI.
Вклады приветствуются! Пожалуйста, не стесняйтесь отправить запрос на включение.
[Укажите здесь свою лицензию]