OpenAI Realtime API 업데이트: 세션 생성 파라미터의 변화가 생겼습니다!
(사실 업데이트된지는 한 달 정도 됨..)
다음과 같이 OpenAI에서 새로운 audio 모델을 발표했다는 메일을 받게되었다.
기존 realtime api를 사용했을 때 stt는 whisper-1모델을 사용했었는데.. 특정한 뉴스보도 내용 등이 text로 변환되는 고질적인 문제가 있어 사내에서 음성채팅을 개발할 때 어려움을 많이 겪었었다...
새로운 모델이 나오며 realtime api도 몇가지 추가된 payload가 있어 같이 설명해보려한다.
STT: gpt-4o 모델 지원
wow! 이제는 stt 모델이 새롭게 나왔다! whisper-1 안 써도된다!!
gpt-4o-transcribe
gpt-4o-transcribe
- 해당 모델은 whisper모델에 비해 단어 오류율과 더 나은 언어 인식 및 정확도를 개선했다고 한다!!!
https://platform.openai.com/docs/guides/speech-to-text
gpt-4o-mini-tts 모델 추가
새로운 TTS 모델인 gpt-4o-mini-tts도 도입됐다. 기존 tts-1 모델도 whisper 만큼은 아니지만 오류가 많이 있긴했어서 갱장히 기대가 된다.
https://platform.openai.com/docs/models/gpt-4o-mini-tts
기존 세션 생성 방식
{
modalities: ['text', 'audio'],
instructions: 'AI에게 전달할 초기 명령어',
voice: 'coral',
input_audio_format: 'pcm16',
output_audio_format: 'pcm16',
input_audio_transcription: {
model: 'whisper-1',
language: 'ko',
prompt: '말한 내용 그대로 변환하세요.'
},
turn_detection: {
type: 'server_vad',
threshold: 0.45,
prefix_padding_ms: 600,
silence_duration_ms: 800,
create_response: true
}
}
새로 추가된 필드들
1. input_audio_noise_reduction
input_audio_noise_reduction: {
type: "near_filed" | "far_filed"
}
- 노이즈 감소 필터링을 적용할지 여부를 설정
- 노이즈 제거는 오디오 음성 감지기(VAD)와 모델에 전달되기 전에 선처리된다!
(openAI도 기존 VAD의 한계를 좀 느꼈나..싶었다)
2. turn_detection.eagerness
turn_detection: {
...,
eagerness: 'high' | 'medium' | 'low' | 'auto';
}
- eagerness는 semantic_vad 모드에서만 사용되는 옵션
- AI가 얼마나 빠르게 응답을 시작할지 결정
- 'low': 사용자가 말을 더 오래 이어갈 것으로 보고, 응답을 늦게 시작함
- 'high': 말이 끝났다고 빠르게 판단하고 곧바로 응답 시작
- 'auto'(기본값): 내부적으로 'medium' 수준으로 작동
3. turn_detection.interrupt_response
turn_detection: {
...,
interrupt_response: true
}
- 이 옵션은 AI가 응답을 말하는 도중에 사용자가 말을 시작하면, 현재 응답을 자동으로 중단할지를 설정하는 것
- 기본값은 true
- 끼어들기(interruption) 시, 기존 응답을 끊고 새 발화를 우선 처리함
- false로 설정하면, 사용자의 끼어들기를 무시하고 응답을 끝까지 마무리함
사실 기존 모델에서는 인식의 오류가 정말 높아 실서비스까지는 하기 좀 힘들었는데
새로운 모델들의 성능이 얼마나 많이 높아졌을지! 궁금하다.
모델 변경으로 얼마나 큰 변화가 있을지는 다음편에 계속....
'AI' 카테고리의 다른 글
OpenAI Realtime API란? (0) | 2025.04.22 |
---|