피드로 돌아가기
Dev.toAI/ML
원문 읽기
whisper.cpp 기반 Local STT 도입으로 비용 0원 및 개인정보 보호 달성
I added voice messages to my self-hosted AI agent, for free
AI 요약
Context
모바일 환경의 텍스트 입력 불편함을 해결하기 위한 Voice Message 기능 필요성 대두. 외부 API 의존 시 발생하는 비용, Vendor Lock-in, API Key 관리 오버헤드를 제거하기 위한 Local STT 아키텍처 설계.
Technical Solution
- whisper.cpp 활용을 통한 CPU 기반 Local Transcription 환경 구축으로 GPU 의존성 제거
- ffmpeg를 이용한 Discord .ogg 파일을 16kHz mono WAV 포맷으로 변환하는 전처리 파이프라인 설계
- ggml-tiny.bin 모델 채택을 통한 75MB 수준의 경량 메모리 점유 및 빠른 추론 속도 확보
- OS별 Pre-built Binary 우선 설치 및 Fallback 기반 Source Build 전략을 통한 배포 자동화 구현
- 정규표현식 및 Prefix 필터링을 통한 whisper.cpp 로그 노이즈 제거 및 순수 텍스트 추출 로직 적용
- Discord Attachment 이벤트를 가로채 텍스트 입력으로 치환하는 Seamless Integration 구조 설계
실천 포인트
1. Local ML 모델 도입 시 타겟 하드웨어의 CPU/RAM 제약 사항을 먼저 확인했는가
2. 외부 바이너리 의존성 해결을 위해 Pre-built와 Source Build의 Fallback 전략을 갖추었는가
3. 모델 크기와 추론 정확도 사이의 Trade-off를 분석하여 적절한 모델 사이즈를 선택했는가
4. 입력 데이터 포맷 변환을 위한 전처리 파이프라인(예: ffmpeg)의 안정성을 검토했는가