pile·
AI / ML·twilio-engTwilio Engineering·

Python으로 Twilio Conversation Relay 기반 AI 음성 에이전트 구축하기

Twilio Conversation Relay와 Python(FastAPI)을 사용해 실시간 AI 음성 에이전트를 구축하는 튜토리얼이다. WebSocket으로 발신자 음성을 STT(Deepgram Flux)로 전사하고 OpenAI로 응답을 생성한 뒤 TTS(ElevenLabs)로 재생하는 전체 파이프라인을 구현한다. 가상 항공사를 예제로 비행 상태 조회 등 OpenAI function calling까지 다룬다.

핵심 포인트
  • FastAPI를 웹 프레임워크로 사용해 TwiML 엔드포인트와 WebSocket 핸들러를 구현, 비동기 음성 스트리밍 파이프라인을 구성한다.
  • Conversation Relay가 STT-WebSocket-TTS 파이프라인 전체를 추상화해 개발자가 AI 로직에만 집중할 수 있다.
  • Deepgram nova-3-general(Flux) 모델로 STT를 처리해 발화 종료 감지 지연을 200~600ms 줄이고 false interruption을 약 30% 감소시킨다.
  • OpenAI function calling으로 외부 데이터(비행 상태 등)를 조회한 뒤 자연스럽게 응답을 이어가는 도구 호출 흐름을 구현한다.
  • ElevenLabs TTS와 eotThreshold, ignoreBackchannel 설정으로 자연스러운 음성 대화 흐름을 완성한다.
상세 정리
  • 아키텍처 흐름: 발신자 전화 → Twilio TwiML 요청 → 서버가 ConversationRelay 동사 반환 → WebSocket 연결 → STT 전사 → OpenAI 추론 → TTS 재생.
  • 필수 스택: Python 3.11+, FastAPI, OpenAI Python 클라이언트, Twilio Python 헬퍼, Deepgram Flux, ElevenLabs, ngrok.
  • TwiML 설정: FastAPI 라우트에서 ConversationRelay 동사를 반환하며 domain, welcomeGreeting, STT/TTS 제공자를 지정한다.
  • WebSocket 핸들러: FastAPI의 비동기 WebSocket으로 setup/prompt/interrupt/error 4가지 메시지 유형을 처리하고 OpenAI 스트리밍 응답을 토큰 단위로 전달한다.
  • 음성 최적화 시스템 프롬프트: 마크다운/이모지 금지, 숫자 철자 표기, 응답 2~3문장 제한으로 TTS 품질을 높인다.
  • 도구 호출 흐름: 모델이 tool_calls를 반환하면 함수 실행 후 결과를 담은 두 번째 스트림 호출로 자연스러운 응답을 완성한다.
  • 성능: Conversation Relay 응답 지연 중앙값 0.5초 미만, Deepgram Flux로 false interruption 약 30% 감소.
  • JavaScript, C#, PHP 버전도 별도 제공되며 동일한 Conversation Relay 아키텍처를 각 언어로 구현한다.
왜 읽나Python/FastAPI 스택으로 실시간 AI 음성 에이전트를 구축하려는 개발자에게 STT-WebSocket-LLM-TTS 전체 파이프라인을 따라갈 수 있는 구현 레퍼런스다.
twilio-eng
Twilio Engineering 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·AWS KoreaAWS Korea Tech·

    1시간 대화로 만드는 Amazon Connect Customer AI Agent [AICC Builder 시리즈 #1]

    Amazon Connect Customer AI Agent를 1시간 내에 구축할 수 있게 해주는 오픈소스 샘플 앱 AICC Builder를 다룬다. 요구사항 인터뷰를 통해 Lambda 함수, OpenAPI 명세, AI 프롬프트, Contact Flow JSON, CDK 인프라 코드, FAQ/지식베이스 총 6가지 배포 에셋을 자동 생성한다. 코드 한 줄 없이 전화받는 PoC까지 완성하는 것이 핵심 목표다.

    #mcp#voice-ai#bedrock+2
  2. AI / ML·twilio-engTwilio Engineering·

    PHP에서 Conversation Relay 사용 시 배경 소음 처리 방법

    Twilio Conversation Relay를 PHP로 구현할 때 배경 소음이 STT(음성→텍스트) 정확도를 저하시키는 문제를 다룬다. 음성 AI는 STT → LLM → TTS 순차 파이프라인이라 전사 오류가 전체 응답 품질을 망친다. Nova-3 모델 설정 튜닝과 Flux 모델 전환 두 가지 해결책을 실측 테스트 결과와 함께 제시한다.

    #voice-ai#stt#deepgram+2