Vapi/Retell에 비용을 지불하지 마세요: Python으로 직접 AI 음성 에이전트 실행하기

발행: (2026년 5월 4일 AM 12:11 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

상업적 라이선스 없이 AI 콜링 에이전트 구축하기

Python 개발자라면, 자체 머신에서 500 ms 미만 지연 시간의 음성 에이전트를 실행할 수 있습니다. 이 가이드는 SIP 트렁크를 LLM에 연결하는 오픈소스(Apache 2.0) Python 프레임워크 Siphon을 소개합니다.

사전 요구 사항

  • Python 3.10+
  • Twilio 또는 Telnyx SIP 트렁크
  • LiveKit 인증 정보
  • OpenAI API 키

1단계: 설치 및 설정

Siphon 저장소를 클론하고 패키지를 설치합니다:

pip install siphon-ai

프로젝트 루트에 .env 파일을 만들고 제공업체 키를 입력합니다. Siphon은 자체 호스팅이므로 OpenAI와 LiveKit 같은 제공업체에 직접 비용을 지불하며, 중개 수수료가 없습니다.

LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_livekit_key
LIVEKIT_API_SECRET=your_livekit_secret
OPENAI_API_KEY=sk-yourkey
DEEPGRAM_API_KEY=yourkey
FROM_NUMBER=+15551234567
SIP_USERNAME=your_sip_user
SIP_PASSWORD=your_sip_pass

2단계: 에이전트 정의

Siphon은 복잡한 WebRTC 파이프라인과 음성 활동 감지(VAD)를 추상화합니다. Siphon의 플러그인 아키텍처를 사용해 에이전트를 정의합니다:

from siphon.agent import Agent
from siphon.plugins import openai, cartesia, deepgram

# Define the Agent
agent = Agent(
    agent_name="Receptionist",
    llm=openai.LLM(),
    tts=cartesia.TTS(),
    stt=deepgram.STT(),
    system_instructions="You are a helpful dental receptionist. Help the user book an appointment."
)

3단계: 아웃바운드 콜 트리거

아웃바운드 SIP 시그널링은 간단합니다. 트렁크 ID가 설정되지 않은 경우 SIP 인증 정보를 사용해 콜을 트리거할 수 있으며, Siphon은 필요에 따라 기존 아웃바운드 트렁크를 재사용하거나 새로 생성합니다.

import os
from dotenv import load_dotenv
from siphon.telephony.outbound import Call

load_dotenv()

call = Call(
    agent_name="Receptionist",
    sip_trunk_setup={
        "name": "telnyx-primary",
        "sip_address": "sip.telnyx.com",
        "sip_number": os.getenv("FROM_NUMBER"),
        "sip_username": os.getenv("SIP_USERNAME"),
        "sip_password": os.getenv("SIP_PASSWORD"),
    },
    number_to_call="+15550200",
)

# Execute the asynchronous dial and bridge to the LiveKit WebRTC room
call.start()

4단계: 상태 및 중단 처리

중단(바지인) 처리는 Voice AI에서 가장 어려운 부분 중 하나입니다. Siphon은 LiveKit의 WebRTC 엔진을 활용해 인간의 말이 감지되면 TTS 출력을 즉시 중단시켜, 완전히 자체 인프라에서 호스팅되는 자연스럽고 저지연 대화를 가능하게 합니다.

추가 자료

  • GitHub 저장소:
  • 문서:

Siphon이 비용 절감에 도움이 된다면 저장소에 ⭐️를 눌러 주세요!

0 조회
Back to Blog

관련 글

더 보기 »