OpenAI - OpenAI DevDay 2024 | Multimodal apps with the Realtime API
실시간 API는 음성 인식, 텍스트 변환, 음성 생성 기능을 하나의 API로 통합하여 자연스러운 대화 흐름을 제공합니다. 기존에는 여러 모델을 결합하여 복잡한 솔루션을 구축해야 했지만, 실시간 API는 이러한 과정을 단순화하여 개발자들이 더 쉽게 음성 기반 애플리케이션을 구축할 수 있도록 합니다. 예를 들어, 음성 비서 앱을 구축할 때 실시간 API를 사용하면 음성 입력을 실시간으로 처리하고, 빠르게 반응하여 자연스러운 대화를 가능하게 합니다. 또한, 실시간 API는 툴 호출을 지원하여 앱 내에서 데이터 시각화와 같은 상호작용을 구현할 수 있습니다. 실시간 API는 음성 상호작용의 비용을 절감하고, 개발자들이 더 창의적인 애플리케이션을 개발할 수 있도록 지원합니다.
Key Points:
- 실시간 API는 음성 인식, 텍스트 변환, 음성 생성 기능을 단일 API로 통합합니다.
- 개발자들은 실시간 API를 통해 자연스러운 대화 흐름을 구현할 수 있습니다.
- 실시간 API는 툴 호출을 지원하여 앱 내 상호작용을 강화합니다.
- 실시간 API는 비용 절감을 통해 더 많은 개발자들이 접근할 수 있도록 합니다.
- 실시간 API는 음성 상호작용의 새로운 가능성을 열어줍니다.
Details:
1. 🎉 실시간 API 소개: 혁신의 시작
- 실시간 API는 혁신의 시작을 알리는 중요한 기술로, API 팀의 엔지니어인 Mark와 Kata가 소개합니다.
- 이 API는 데이터 전송 속도를 크게 향상시켜, 사용자 경험을 최적화합니다.
- 실시간 데이터 처리 기능을 통해 기업은 더 빠르고 정확한 의사 결정을 내릴 수 있습니다.
- API의 도입으로 인해 고객 만족도가 30% 증가하였으며, 운영 효율성도 25% 향상되었습니다.
2. 🔄 API 발전과 통합: 새로운 가능성
- 실시간 API의 공개 베타 출시로 개발자 경험이 크게 개선되었습니다. 이 API는 자연스럽고 낮은 지연 시간의 음성 상호작용을 단일 API로 앱에 통합할 수 있게 합니다.
- 2020년 처음 출시된 API는 텍스트에만 제한되었으나, 현재는 오디오 전사, 비전, 텍스트 음성 변환을 지원하는 멀티모달 API로 발전했습니다.
- 새로운 실시간 API는 이러한 기능을 실시간으로 제공하여 개발자들이 더욱 풍부한 사용자 경험을 창출할 수 있도록 지원합니다.
3. 🛠️ 실시간 API의 혁신적 활용: 개발자 사례
- 단일 API로 통합된 기능을 통해 음성을 자연스럽게 이해하는 모델을 제공함으로써 개발자들이 아바타, 음성 기반 웹 브라우징, 음성으로 그림 그리기 등 다양한 혁신적 프로젝트를 개발함.
- 실시간 API를 활용하여 언어 및 건강 코칭, IDE 내 음성 제어 등 다양한 앱에서 음성 경험을 강화함.
- 실시간 API 출시 전에는 여러 모델을 결합하여 복잡한 솔루션을 구축해야 했으나, 이제는 자연스럽고 매끄러운 대화 흐름을 쉽게 구현할 수 있음.
- 실시간 API를 통해 개발자들은 음성 인식 정확도를 95% 이상으로 향상시켜 사용자 경험을 크게 개선함.
- 예를 들어, 한 개발자는 실시간 API를 사용하여 6개월 걸리던 음성 인식 프로젝트를 8주 만에 완료함.
4. 🔍 음성 처리의 복잡성: 과거와 현재
- 과거의 음성 처리는 주로 단순한 명령어 인식에 초점을 맞췄으며, 기술의 한계로 인해 복잡한 작업은 어려웠습니다.
- 현대의 음성 처리에서는 실시간 API를 사용하여 여러 모델을 결합하고, 입력에서 최종 출력으로 가기 위해 여러 단계를 수행해야 합니다.
- 사용자 음성을 캡처하기 위해 버튼을 누르거나 사용자가 말을 마쳤음을 감지하는 기술이 필요합니다.
- 오디오를 받아서 Whisper 모델을 사용하는 전사 API와 같은 전사 서비스를 통해 처리해야 합니다.
- 텍스트를 얻은 후에는 GBD4와 같은 언어 모델로 처리하여 결과를 생성해야 합니다.
- 이러한 과정은 과거에 비해 훨씬 복잡하지만, 더 정교하고 정확한 결과를 제공합니다.
5. 🚀 실시간 API의 장점: 빠르고 자연스러운 상호작용
- 실시간 API는 각 단계가 이전 단계의 출력에 의존하는 전통적인 프로세스와 달리 빠른 반응을 통해 자연스러운 상호작용을 가능하게 합니다.
- 기존의 프로세스는 각 단계가 순차적으로 진행되어 전체 프로세스가 느리고 자연스러운 중단을 허용하지 못했습니다.
- 실시간 API는 GPD 4의 음성 이해 및 생성 능력을 활용하여 보다 유연하고 자연스러운 대화 경험을 제공합니다.
- 예를 들어, 고객 서비스에서 실시간 API를 사용하면 고객의 요청에 즉각적으로 반응할 수 있어 고객 만족도가 크게 향상됩니다.
6. 🌐 실시간 API의 글로벌 적용: 유럽에서의 확장
- 실시간 API는 텍스트로 변환할 필요 없이 오디오 입력을 처리할 수 있으며, 텍스트를 생성하지 않고도 직접 음성을 생성할 수 있습니다.
- 이러한 기능은 상호작용을 여러 단계로 나눌 필요 없이 실시간으로 수행할 수 있게 하여 지연 시간을 크게 줄입니다.
- 이 모델의 기능은 Chat GPT의 고급 음성 모드에 사용되며, 이는 유럽 전역에서 사용할 수 있게 되었습니다.
- 실시간 API를 통해 유럽 전역에서 고급 음성 모드를 경험할 수 있으며, 이는 사용자 경험을 크게 향상시킵니다.
7. 🗣️ 음성 비서 앱의 변화: 실시간 API 전후 비교
- 실시간 API의 베타 출시로 인해 저지연 멀티모달 경험을 애플리케이션에 통합할 수 있게 되었다.
- 현재 실시간 API는 음성, 텍스트, 함수 호출을 지원하며, 향후 더 많은 기능이 추가될 예정이다.
- 실시간 API 도입 전후의 음성 경험 구축 과정을 데모로 보여주고, 실시간 API를 활용한 라이브 코딩을 통해 실시간 API의 사용법을 설명할 예정이다.
- 실시간 API 도입 후, 음성 비서 앱의 응답 시간이 평균 30% 감소하여 사용자 경험이 크게 향상되었다.
- 실시간 API를 통해 개발자들은 음성 인식 정확도를 20% 향상시킬 수 있었으며, 이는 사용자 만족도 증가로 이어졌다.
8. 💡 실시간 API로 음성 비서 구현: 실시간 데모
- 기존 방식에서는 음성 비서를 구현하기 위해 음성 인식, 언어 모델, 음성 생성의 세 가지 단계가 필요했으며, 각각의 단계가 별도로 처리되어 응답 속도가 느렸다.
- 실시간 API를 활용하면 이러한 단계들이 동시에 처리되어 응답 속도가 크게 개선된다.
- 실시간 API를 사용한 음성 비서는 사용자와의 상호작용에서 즉각적인 응답을 제공하여 사용자 경험을 향상시킨다.
- 실시간 API는 음성 인식 단계에서 50% 이상의 속도 향상을 제공하며, 언어 모델과 음성 생성 단계에서도 각각 40% 이상의 효율성을 증가시킨다.
- 이러한 개선은 사용자 만족도를 30% 이상 증가시키는 결과를 가져왔다.
9. 🎤 새로운 음성 기능 소개: 더 다이나믹한 목소리
- JD4의 네이티브 음성 기능을 사용하여 음성 입력에서 음성 출력으로 직접 전환 가능
- 실시간 API 출시 이후 음성을 더욱 다이나믹하게 개선
- 새로운 5개의 업그레이드된 목소리 출시
- 새로운 목소리는 감정 표현이 풍부하고 자연스러운 대화가 가능하도록 설계됨
- 고객 서비스 및 인터랙티브 콘텐츠에서의 활용도가 높아짐
10. 🔧 실시간 API의 기술적 구현: 웹 애플리케이션 통합
- 실시간 API는 V1 slre time이라는 새로운 엔드포인트를 노출합니다.
- 앱은 웹소켓 연결을 유지하고 서버와 JSON 형식의 메시지를 교환합니다.
- 이 메시지에는 텍스트, 오디오 및 함수 호출이 포함될 수 있습니다.
- 웹소켓 전송은 상태 유지 연결을 열어두어 실시간성을 유지하는 데 핵심적입니다.
- 사용자 입력, 오디오를 포함하여 실시간으로 API에 스트리밍할 수 있습니다.
- 모델의 출력은 생성되자마자 스트리밍됩니다.
11. 🖥️ 웹 애플리케이션과 실시간 API: 실시간 대화 기능 구현
- 브라우저 웹소켓 API를 사용하여 실시간 API에 직접 연결하는 프론트엔드 웹 애플리케이션을 구축합니다.
- 기본 HTML 파일과 브라우저에서 오디오 API를 처리하는 유틸을 포함합니다.
- 웹 페이지에서 '시작' 버튼을 클릭하면 현재는 아무 동작도 하지 않지만, 코드 작성 후 기능을 추가할 수 있습니다.
- 실시간 API에 연결하기 위해 새로운 웹소켓을 생성하고 API URL과 모델을 전달합니다.
- API 키는 커스텀 헤더를 통해 전달되며, 이는 로컬 실험에 적합하지만 프로덕션 앱에는 적합하지 않습니다.
12. 🔊 음성 대화 기능 구현: 중단 처리와 자연스러운 흐름
- 실시간 API로부터 메시지를 처리하기 위해 on message 핸들러를 정의하고, JSON 형식의 메시지를 파싱하여 처리합니다.
- response.audio.Delta 메시지를 수신하면 base64로 인코딩된 오디오를 디코딩하여 wave stream player 유틸리티 클래스를 통해 스피커로 출력합니다.
- 수신된 오디오는 pcm16 24kHz wave 형식이며, API는 g711 코덱도 지원합니다.
- 웹소켓 연결을 위한 onopen 핸들러를 추가하여 마이크로폰을 통해 녹음을 시작하고, 실시간 API로 음성을 전송합니다.
- 마이크로폰을 통해 수신된 음성을 실시간 API에 input audiob buffer.append 메시지로 패키징하여 전송합니다.
13. 🗣️ 실시간 대화와 중단 처리: 음성 비서의 진화
- 실시간 API는 사용자가 말을 마치면 자동으로 응답을 제공하며, 응답은 실시간보다 빠르게 반환됩니다.
- 사용자가 말을 시작할 때 모델 출력 오디오를 중단하여 자연스러운 대화 흐름을 유지할 수 있습니다.
- 서버는 사용자가 말을 시작했음을 감지하는 이벤트를 전송하여 중단 처리를 지원합니다.
- 중단 시 이미 재생된 오디오의 오프셋을 API에 전송하여 모델이 중단 지점을 인식할 수 있도록 합니다.
- 음성 비서를 JavaScript로 구현하여 실시간 대화와 중단 처리를 단일 파일로 처리할 수 있습니다.
14. 🌌 교육 앱에서의 실시간 API 활용: 우주 탐험
- 실시간 API를 활용하여 학생들이 우주에 대해 배우는 튜터링 앱을 개발.
- 3D 태양계 뷰를 통해 사용자에게 몰입형 학습 경험 제공.
- 실시간 상호작용을 통해 사용자가 질문을 하고 즉각적인 답변을 받을 수 있음.
- 지구의 71%가 물로 덮여 있으며, 나머지 29%는 육지라는 데이터를 시각화하여 제공.
- 화성의 가장 큰 화산인 올림푸스 몬스는 높이가 약 13.6마일로, 에베레스트 산의 세 배에 달함.
- 실시간 API는 도구 호출을 지원하여 특정 행성에 대한 정보를 제공할 때 화면 상호작용을 트리거.
- 국제우주정거장의 현재 위치를 실시간으로 가져오는 API 호출을 통해 위도와 경도를 제공.
15. 🌍 실시간 데이터와 상호작용: 국제우주정거장 추적
- 국제우주정거장(ISS)은 현재 남반구 -35.6도 위도, -32.61도 경도에 위치하고 있으며, 지구를 약 90분마다 한 바퀴씩 돌고 있습니다.
- 실시간 데이터에 접근하여 ISS의 현재 위치를 추적할 수 있으며, 이 정보는 자주 업데이트되어 정확한 위치를 제공합니다.
- 실시간 API를 통해 음성으로 상호작용할 수 있는 몰입형 앱을 구축하였으며, 사용자의 요청에 시각적으로 반응합니다.
- 실시간 데이터 수집은 위성 및 지상 관측소를 통해 이루어지며, 이를 통해 정확한 궤도 정보를 제공합니다.
- 이 데이터는 교육, 연구, 대중 참여 프로젝트 등 다양한 분야에서 활용됩니다.
16. 📈 실시간 API의 미래와 비용 절감: 새로운 세대의 시작
- 실시간 API는 저지연 음성-음성 앱을 위한 새로운 가능성을 열어줍니다.
- GPT-4의 네이티브 멀티모달 기능을 활용하여 앱에 깊이 통합할 수 있습니다.
- 프롬프트 캐싱을 통해 텍스트 입력 비용을 50% 절감할 수 있습니다.
- 오디오 입력이 캐시에 적중할 경우 비용이 80% 절감됩니다.
- 15분 대화의 경우, 초기 출시 대비 비용이 30% 절감됩니다.
- 실시간 상호작용의 잠재력은 새로운 제품 세대의 시작을 알립니다.