Для начала вам потребуется скачать репозиторий с помощью git
git clone https://github.com/EgorTarasov/hacks-ai.git
данное рещение использует python 3.10
python3 -m venv venv
source venv/bin/activate
для работы с аудио необходимо установить ffmpeg и PortAudio
macos (homebrew):
brew install ffmpeg portaudio
linux (apt):
sudo apt install ffmpeg portaudio
pip3 install -r requirements.txt
для запуска бота необходимо запустить main.py
python3 main.py
для запуска api необходимо запустить api.py
python3 api.py
- Для каждой серии локомотива генерируем свою базу эмбеддингов для неисправностей с помощью ranking модели (distilbert-multilingual-nli-stsb-quora-ranking).
- Входящее аудио преобразуем в текст с помощью whisper
- Преобразуем текст в эмбеддинг с помощью ranking модели
- Ищем ближайшие эмбеддинги в базе конкретного локомотива.
- Получем решение для неисправности и сопутствующую информацию.
- Преобразуем ответ в читабельный вид
Поскольку наша модель использует всю документацию для полного покрытия возможных неисправностей, нам было необходимо построить правильную валидацю.
Для этого мы перефразируем неисправности с помощью генеративной модели, чтобы качественно проверить матчинг вопроса и проблемы.
Для тестирования speech2text были записаны аудио с указанием неисправности
Запуск валидации:
python3 validate.py
Полученные метрики:
WER - 0.14
Accuracy - 0.93