Telnyx를 사용하여 레스토랑 예약 음성 에이전트(Voice Agent)를 구축했습니다
요약
Telnyx를 활용하여 음성 입력, AI 추론, 음성 출력을 결합한 레스토랑 예약 음성 에이전트 구축 방법을 소개합니다. Python Flask와 Telnyx API를 사용하여 전화 수신부터 예약 확인 SMS 발송까지의 전체 워크플로우를 구현하는 데모를 제공합니다.
핵심 포인트
- Telnyx API를 이용한 음성 AI 및 SMS 통합 워크플로우 구현
- Python Flask 기반의 음성 에이전트 데모 코드 제공
- 음성 수집, AI 추론, 음성 응답 및 후속 메시징 프로세스 설명
- 실제 프로덕션 적용을 위한 데이터베이스 및 시스템 통합 필요성 제시
레스토랑 전화는 워크플로우가 익숙하기 때문에 음성 AI (Voice AI)의 좋은 테스트 케이스가 됩니다. 전화를 받고, 몇 가지 질문을 하고, 예약을 확인하고, 문자 메시지를 보내는 과정 말입니다.
이를 위한 Telnyx 코드 예제는 다음과 같습니다:
이것은 음성 AI (Voice AI), AI 추론 (AI Inference), 그리고 SMS/MMS를 하나의 작은 데모에 결합한 Python Flask 앱입니다.
흐름 (The Flow)
발신자가 Telnyx 번호로 전화를 겁니다. Telnyx는 호출 이벤트 (call event)를 웹훅 (webhook)으로 보냅니다. 앱은 전화를 받고, 인사를 건네며, 음성을 수집하고, 발신자의 말을 Telnyx AI 추론 (AI Inference)으로 보내고, 응답을 다시 말하며, 예약이 완료될 때까지 이 과정을 반복합니다.
예약이 확인되면, 앱은 SMS 확인 메시지를 보냅니다.
이것이 흥미로운 부분입니다. 이것은 단순한 챗봇 (chatbot)이 아닙니다. 음성 입력, AI 추론 (AI reasoning), 음성 출력, 그리고 메시징 후속 조치가 포함된 전화 워크플로우 (phone workflow)입니다.
이 예제가 마음에 드는 이유
빠르게 데모를 보여줄 수 있을 만큼 충분히 간단하면서도, 실제 개발자들의 질문에 부합합니다:
- 코드로 수신 전화를 어떻게 받나요?
- 발신자로부터 음성을 어떻게 수집하나요?
- 다음에 무엇을 말할지 결정하기 위해 AI를 어떻게 사용하나요?
- 통화 후 SMS를 어떻게 보내나요?
- 데모가 끝난 후 어떤 일이 일어났는지 어떻게 검사하나요?
/reservations 엔드포인트 (endpoint)는 통화 후에 관객에게 눈에 보이는 무언가를 제공하기 때문에 유용합니다. SMS 확인은 데모에 명확한 마무리를 제공합니다.
로컬에서 실행하기
git clone https://github.com/team-telnyx/telnyx-code-examples.git
cd telnyx-code-examples/ai-restaurant-reservation-voice-agent-python
cp .env.example .env
...
그 다음 웹훅 (webhook)을 노출합니다:
ngrok http 5000
Telnyx 포털 (Telnyx Portal)에서 Voice API 애플리케이션의 웹훅을 다음으로 지정하세요:
해당 Voice API 애플리케이션에 Telnyx 번호를 할당하고 해당 번호로 전화를 겁니다.
무엇을 데모할 것인가
데모는 짧게 유지하는 것이 좋습니다:
- Voice API 앱의 웹훅 (webhook) 보여주기.
- 번호로 전화 걸기.
- 테이블 예약하기.
- SMS 확인 메시지 보여주기.
/reservations페이지 열기.
이렇게 하면 시청자가 구현 세부 사항에 매몰되지 않고 전체 루프 (loop)를 확인할 수 있습니다.
다음 단계로 나아가기
이 데모는 학습에 최적화된 인메모리 상태 (in-memory state)를 사용합니다. 실제 프로덕션 단계로 넘어가기 위해서는 데이터베이스 저장, 예약 가능 여부 확인 (availability checks), 웹훅 검증 (webhook verification), 그리고 실제 예약 시스템과의 통합이 필요합니다.
중요한 점은 이미 뼈대가 갖춰져 있다는 것입니다: 음성 입력 (voice in), AI의 결정 (ai decision), 음성 출력 (voice out), 그리고 SMS 후속 조치 (SMS follow-up)까지 말이죠.
리소스
- 코드 예제: https://github.com/team-telnyx/telnyx-code-examples/tree/main/ai-restaurant-reservation-voice-agent-python
- Telnyx Voice 문서: https://developers.telnyx.com/docs/voice
- Telnyx AI Inference 문서: https://developers.telnyx.com/docs/inference
- Telnyx Messaging 문서: https://developers.telnyx.com/docs/messaging
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기