주요 콘텐츠로 건너뛰기

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 스크립트를 실행합니다.