비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
음성 및 오디오용 Azure OpenAI GPT-4o 실시간 API는 짧은 대기 시간, "음성 출력, 음성 출력" 대화형 상호 작용을 지원하는 GPT-4o 모델 제품군의 일부입니다.
WebRTC 또는 WebSocket을 통해 실시간 API를 사용하여 모델에 오디오 입력을 보내고 실시간으로 오디오 응답을 받을 수 있습니다.
이 문서의 지침에 따라 WebSockets를 통해 실시간 API를 시작합니다. 짧은 대기 시간이 필요하지 않은 서버 간 시나리오에서 WebSocket을 통해 실시간 API를 사용합니다.
팁 (조언)
대부분의 경우 웹 애플리케이션 또는 모바일 앱과 같은 클라이언트 쪽 애플리케이션에서 실시간 오디오 스트리밍을 위해 WebRTC를 통해 실시간 API 를 사용하는 것이 좋습니다. WebRTC는 짧은 대기 시간, 실시간 오디오 스트리밍을 위해 설계되었으며 대부분의 사용 사례에 가장 적합합니다.
지원되는 모델
GPT-4o 실시간 모델은 미국 동부 2 및 스웨덴 중부 지역에서 글로벌 배포에 사용할 수 있습니다.
-
gpt-4o-mini-realtime-preview
(2024-12-17) -
gpt-4o-realtime-preview
(2024-12-17)
실시간 API에 대한 URL에서 API 버전을 2025-04-01-preview
사용해야 합니다.
지원되는 모델에 대한 자세한 내용은 모델 및 버전 설명서를 참조하세요.
필수 조건
GPT-4o 실시간 오디오를 사용하려면 다음이 필요합니다.
- Azure 구독 – 무료로 만드세요.
- 지원되는 지역에서 만든 Azure OpenAI 리소스입니다. 자세한 내용은 Azure OpenAI를 사용하여 리소스 만들기 및 모델 배포를 참조하세요.
-
gpt-4o-realtime-preview
또는gpt-4o-mini-realtime-preview
모델의 배포가 지원되는 모델 섹션에 설명된 대로 지원되는 지역에서 필요합니다. Azure AI Foundry 포털 모델 카탈로그 또는 Azure AI Foundry 포털의 프로젝트에서 모델을 배포할 수 있습니다.
연결 및 인증
실시간 API(통해/realtime
)는 최종 사용자와 모델 간의 완전한 비동기 스트리밍 통신을 용이하게 하기 위해 WebSockets API를 기반으로 합니다.
실시간 API는 Azure OpenAI 리소스의 엔드포인트에 /realtime
대한 보안 WebSocket 연결을 통해 액세스됩니다.
다음을 연결하여 전체 요청 URI를 생성할 수 있습니다.
- 보안 WebSocket(
wss://
) 프로토콜입니다. - Azure OpenAI 리소스 엔드포인트 호스트 이름(예:
my-aoai-resource.openai.azure.com
- API 경로입니다
openai/realtime
. - 지원
api-version
되는 API 버전에 대한 쿼리 문자열 매개 변수(예: )2024-12-17
-
deployment
사용자 또는gpt-4o-realtime-preview
모델 배포의gpt-4o-mini-realtime-preview
이름을 가진 쿼리 문자열 매개 변수입니다.
다음 예제는 잘 구성된 /realtime
요청 URI입니다.
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2025-04-01-preview&deployment=gpt-4o-mini-realtime-preview-deployment-name
인증하려면 다음을 수행합니다.
-
Microsoft Entra (권장): 관리 ID를 사용하도록 설정된 Azure OpenAI 리소스에 대한 API로 토큰 기반 인증
/realtime
을 사용합니다. 헤더가 있는 토큰을 사용하여Bearer
검색된 인증 토큰을 적용합니다Authorization
. -
API 키: 다음
api-key
두 가지 방법 중 하나로 제공할 수 있습니다.- 프리핸드셰이
api-key
크 연결에서 연결 헤더 사용 이 옵션은 브라우저 환경에서 사용할 수 없습니다. - 요청 URI에서
api-key
쿼리 문자열 매개 변수 사용 쿼리 문자열 매개 변수는 https/wss를 사용할 때 암호화됩니다.
- 프리핸드셰이
WebSockets 아키텍처를 통한 실시간 API
WebSocket 연결 세션 /realtime
이 설정되고 인증되면 WebSocket 메시지를 보내고 받기 위한 이벤트를 통해 기능 상호 작용이 이루어집니다. 이러한 이벤트는 각각 JSON 개체의 형태를 취합니다.
이벤트를 병렬로 보내고 받을 수 있으며 애플리케이션은 일반적으로 동시에 비동기적으로 처리해야 합니다.
- 클라이언트 쪽 호출자는 새
/realtime
연결을 시작하는 연결을session
설정합니다. - A는
session
자동으로 기본값conversation
을 만듭니다. 여러 동시 대화는 지원되지 않습니다. -
conversation
호출자가 직접 이벤트를 통해 또는 자동으로 VAD(음성 활동 감지)를 통해 시작될 때까지response
입력 신호를 누적합니다. - 각각
response
은 메시지, 함수 호출 및 기타 정보를 캡슐화할 수 있는 하나 이상의items
정보로 구성됩니다. - 각 메시지에
item
는content_part
단일 항목에서 여러 형식(텍스트 및 오디오)을 나타낼 수 있습니다. -
session
호출자 입력 처리(예: 사용자 오디오) 및 일반적인 출력 생성 처리의 구성을 관리합니다. - 각 호출자 시작은
response.create
원하는 경우 일부 출력response
동작을 재정의할 수 있습니다. - 서버에서 만든
item
메시지와content_part
in 메시지는 비동기적으로 병렬로 채울 수 있습니다. 예를 들어 라운드 로빈 방식으로 오디오, 텍스트 및 함수 정보를 동시에 수신합니다.
빠른 시작 시도
이제 필수 구성 요소가 있으므로 Realtime API 빠른 시작 의 지침에 따라 WebSockets를 통해 실시간 API를 시작할 수 있습니다.
관련 콘텐츠
- 실시간 오디오 빠른 시작 시도
- 실시간 API 참조를 확인하세요.
- Azure OpenAI 할당량 및 제한에 대해 자세히 알아보기