Realtime 문제 해결

Realtime 문제 해결

아래는 realtime 세션에서 겪는 몇 가지 흔한 문제를 고치는 방법이에요. 각각은 그 바탕이 되는 동작을 다루는 페이지로 연결해요. 여기 없거나 문서에서 다뤄지지 않는 문제는 일반 문제 해결 페이지를 보거나, Pydantic Slack에서 묻거나, GitHub에 이슈를 만들어 주세요.

출처: 문서

본문

오디오가 없거나 쓸모있는 음성이 없음

session.audio_input_sample_rate에서 모노 PCM16을 보내고 session.audio_output_sample_rate에서 재생하세요. 비율이 일치한다고 가정하지 마세요. 오디오 와이어 계약을 참고하세요.

모델이 전혀 응답하지 않음

푸시-투-토크 모드에서는 오디오를 보낸 후 commit_audio()를 호출하고 그다음 create_response()를 호출하세요. 푸시-투-토크를 참고하세요.

모델이 같은 것을 두 번 말함

send('...')가 이미 모델에게 응답을 요청해요. 그 뒤에 두 번째 응답을 요청하는 create_response()를 호출하지 마세요. 텍스트 턴을 참고하세요.

모델이 스스로를 중단함

마이크가 스피커 출력을 듣고 있는 것일 가능성이 커요. 디바이스/WebRTC 레이어에서 에코 제거를 추가하고 실제 barge-in 시 로컬 재생을 멈추세요.

인사말이 재생되지 않거나, 방문자가 말할 때 모델이 두 번 응답함

스피커 에코나 마이크 과도 신호가 오디오 경로가 열리는 동안 인사말을 취소했을 가능성이 커요. 인사말이 재생될 때까지 마이크 캡처를 음소거하되, 서버 VAD가 열린 음성 세그먼트를 닫을 수 있도록 디지털 무음을 계속 보내세요. 마이크 음소거먼저 말하기를 참고하세요. 원인을 확인하려면 이벤트 스트림을 반복하며 첫 응답에서 RealtimeResponseInterruptedEventRealtimeSessionErrorEvent가 있는지 보거나, Logfire 추적을 검사하세요.

툴이 멈춘 것처럼 보임

로컬 툴은 동시에 실행되지만, 프로바이더는 결과를 기다리는 동안 음성을 멈출 수 있어요. 툴 라이프사이클 이벤트를 보여주고 동시 툴 실행을 검토하세요.

재연결이 컨텍스트를 잃음

RealtimeSessionReconnectEvent.state_restored를 검사하세요. false면 새 대화를 시작하세요. true인데 현재 발화가 사라졌다면, 그 진행 중인 미디어가 복원된 완료 턴 이력 밖에 있었던 것이에요. 상태 복원을 참고하세요.

Gemini가 세션 한도에 도달함

reconnect 설정을 ReconnectPolicy로 설정하세요. Gemini 세션 재개가 그것과 함께 자동으로 활성화돼요. 복구는 드롭 후 최신 인메모리 서버 핸들을 사용해요. Gemini 세션 재개프로바이더 세션 한도를 참고하세요.

더 알아보기 (Learn more)