주요 콘텐츠로 건너뛰기

Whisper 음성 인식 서비스

Repo 포크: whisper-speech-recognition

이 프로젝트는 Flask를 사용하여 Python 환경에서 OpenAI의 Whisper 모델을 사용하여 로컬 음성 인식 서비스를 배포하는 방법을 보여줍니다. 목표는 사용자가 Leapcell(leapcell.io)을 사용하여 AI 모델을 배포하는 방법을 배우도록 돕는 것입니다.

전제 조건​

애플리케이션을 실행하기 전에 종속성을 설정하고 필요한 Whisper 모델을 다운로드하여 환경을 준비해야 합니다. 다음 스크립트를 실행합니다.

sh prepare_env.sh

이렇게 하면 다음이 수행됩니다.

  1. Flask, Gunicorn 및 필요한 종속성을 포함하여 필요한 Python 패키지를 설치합니다.
  2. PyTorch 및 관련 라이브러리(특히 CPU 사용)를 설치합니다.
  3. OpenAI Whisper 라이브러리를 설치하거나 업데이트합니다.
  4. Python 스크립트를 사용하여 필요한 Whisper 모델을 다운로드합니다.

프로젝트 구조​

.
├── LICENSE # 프로젝트 라이선스 파일
├── download_model.py # 필요한 Whisper 모델을 다운로드하는 Python 스크립트
├── prepare_env.sh # 환경을 설정하고 모델을 다운로드하기 위한 스크립트
├── static
│ └── audio_files
│ └── demo.wav # 서비스 테스트를 위한 샘플 오디오 파일
└── templates
└── index.html # 서비스의 메인 페이지를 위한 HTML 템플릿

애플리케이션 실행​

환경을 준비했으면 다음 명령을 사용하여 웹 서비스를 시작할 수 있습니다.

gunicorn -w 4 app:app

이렇게 하면 프로덕션 배포를 위해 Gunicorn을 사용하여 Flask 애플리케이션이 시작됩니다. 서비스는 http://localhost:5000에서 사용할 수 있으며, 전사를 위해 오디오 파일을 업로드할 수 있습니다. 전사된 텍스트가 반환됩니다.


prepare_env.sh에 대한 설명​

이 스크립트는 환경을 설정하고 Whisper 모델을 다운로드하는 역할을 합니다. 다음은 각 줄이 수행하는 작업에 대한 분석입니다.

#!/bin/sh

# 명령이 0이 아닌 상태로 종료되면 즉시 종료
set -e

# Flask, python - multipart 및 Gunicorn 설치
pip install flask python-multipart gunicorn

# PyTorch 및 관련 라이브러리(torchvision, torchaudio) 설치
# PyTorch의 CPU 전용 휠 인덱스에서
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

# OpenAI Whisper 라이브러리를 설치 또는 업데이트합니다.
pip install -U openai-whisper

# 필요한 Whisper 모델을 다운로드하기 위해 Python 스크립트 실행
# 이 스크립트는 빌드 단계에서 모델을 다운로드합니다.
python download_model.py
  • set -e: 명령이 실패하면 스크립트가 중지되도록 합니다.
  • pip install flask python-multipart gunicorn: Flask (웹 서비스용), python-multipart (파일 업로드 처리용) 및 Gunicorn (프로덕션급 WSGI HTTP 서버)을 설치합니다.
  • pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu: Whisper 모델 실행을 위해 PyTorch 및 관련 라이브러리(CPU에 최적화됨)를 설치합니다.
  • pip install -U openai-whisper: OpenAI Whisper 라이브러리를 설치하거나 업데이트합니다.
  • python download_model.py: 전사를 위해 필요한 Whisper 모델을 다운로드하기 위해 Python 스크립트를 실행합니다.