2.0 KiB
2.0 KiB
STT API 및 모델 로드 가이드
이 프로젝트는 현재 파이썬 환경의 faster-whisper를 기반으로 작동합니다. (기존 whisper.cpp의 C++ 빌드 의존성을 제거하고, 윈도우 환경에서의 완벽한 호환성을 확보했습니다.)
1. 모델 준비 및 로딩 방식
1-1. 작동 원리
faster-whisper는 CTranslate2 엔진을 내부적으로 사용하여 Whisper 모델의 속도와 메모리를 극한으로 최적화한 구현체입니다.
- 모델 파일 다운로드 불필요: 기존 C++ 포맷(.bin)을 수동으로 받을 필요가 없습니다.
- 파이썬 코드가 실행될 때
settings.WHISPER_MODEL_NAME(예:"base","large-v3-turbo") 문자열을 통해 HuggingFace에서 자동으로 최적화된 모델 캐시를 로컬 폴더로 다운로드합니다. - CPU 환경 최적화: 코드 내에서
device="cpu"및compute_type="int8"가 지정되어 있어 무거운 GPU 세팅 없이도 가볍고 쾌적하게 동작합니다.
1-2. 모델 변경
더 높은 정확도를 원한다면 app/core/config.py 에서 모델 이름을 수정하기만 하면 됩니다.
"base": 처리 속도 우선시"small": 밸런스형"large-v3-turbo": 한국어 등 다국어 처리 시 극강의 정확도
2. FastAPI 아키텍처 도입 안내
실시간 무전 수신과 대시보드 웹 UI 연동을 위해 FastAPI 기반의 백엔드를 구축했습니다. 시스템은 다음과 같이 변경됩니다.
- RESTful API Endpoint 구성: 다른 시스템이나 프론트엔드에서
/api/v1/transcribe로 HTTP POST 요청만 보내면 바로 결과를 받을 수 있습니다. - Pydantic 연동 최적화:
STTResponse객체가 FastAPI의 Swagger UI와 100% 자동 매핑됩니다. - 비동기 확장성: 현재는 동기식 파일 분석으로 작성되었으나, FastAPI의
async/await구조 덕분에 향후 WebSocket 실시간 스트리밍 분석 등으로 즉시 확장 가능합니다.