From 8cb129ad7880fa3ed096fdeaf983d321accf02d0 Mon Sep 17 00:00:00 2001 From: jmj Date: Sun, 31 May 2026 23:09:58 +0900 Subject: [PATCH] =?UTF-8?q?fix(deepgram):=20Whisper=20=EB=AA=A8=EB=8D=B8?= =?UTF-8?q?=20=EC=82=AC=EC=9A=A9=20=EC=8B=9C=20keywords=20=ED=8C=8C?= =?UTF-8?q?=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EB=AF=B8=EC=A0=84=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deepgram 의 Whisper-호스팅 모델은 keywords 파라미터를 지원하지 않음 (400 Bad Request, 'When using Whisper, keywords are not available'). model=nova-* 계열에서만 전달. 운영 검증 중 발견 (sessionId=6, messageId=15): voice.stt.failed code=STT_BAD_REQUEST -> 'Deepgram 400: ... When using Whisper, keywords are not available' 한국어 정확도는 Whisper-large 자체로 충분하므로 keywords 미사용이 정확도에 미치는 영향 없음. nova-* 로 다운그레이드 시에는 keywords boost 유지. --- ai/src/ai_server/voice/stt/deepgram.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ai/src/ai_server/voice/stt/deepgram.py b/ai/src/ai_server/voice/stt/deepgram.py index 0a658f64..44896550 100644 --- a/ai/src/ai_server/voice/stt/deepgram.py +++ b/ai/src/ai_server/voice/stt/deepgram.py @@ -56,8 +56,9 @@ async def transcribe( } if self._language: params["language"] = self._language - if hint: - # Deepgram 의 keyword boost. 토큰 단위로 콜론+boost 지정 가능. 간단히 hint 텍스트 그대로. + # Deepgram keywords 는 model=nova-* 에서만 지원 (Whisper 모델은 400). + # hint 는 한국어 정확도가 모델 자체로 충분하므로 nova 계열에서만 사용. + if hint and self._model.startswith("nova"): params["keywords"] = hint[:200] headers = {