HN 공개: 약 500ms 지연 시간의 실시간 AI 음성 채팅

1 day ago 4

  • 이 프로젝트는 AI와 자연스러운 음성 대화를 가능하게 하는 시스템임
  • 사용자는 음성으로 대화하고, AI는 실시간으로 음성 응답을 제공함
  • 저지연 상호작용을 위한 클라이언트-서버 시스템을 사용함
  • 다양한 AI 백엔드와 TTS 엔진을 선택할 수 있는 유연성을 제공함
  • Docker를 사용하여 손쉽게 배포 가능함

실시간 AI 음성 채팅

  • AI와 자연스러운 음성 대화를 할 수 있는 프로젝트임
  • 사용자는 음성으로 대화하고, AI는 실시간으로 음성 응답을 제공함

시스템 작동 방식

  • 캡처: 브라우저에서 사용자의 음성을 캡처함
  • 스트림: 오디오 청크를 WebSockets를 통해 Python 백엔드로 전송함
  • 전사: RealtimeSTT가 음성을 텍스트로 빠르게 변환함
  • 생각: 텍스트가 LLM(예: Ollama, OpenAI)으로 전송되어 처리됨
  • 합성: AI의 텍스트 응답을 RealtimeTTS로 음성으로 변환함
  • 반환: 생성된 오디오가 브라우저로 스트리밍되어 재생됨
  • 중단: 언제든지 대화에 끼어들 수 있으며, 시스템은 중단을 잘 처리함

주요 기능

  • 유연한 대화: 실제 대화처럼 말하고 들을 수 있음
  • 실시간 피드백: 부분 전사 및 AI 응답을 실시간으로 확인 가능함
  • 저지연 초점: 오디오 청크 스트리밍을 통한 최적화된 아키텍처
  • 스마트 턴테이킹: turndetect.py를 사용하여 대화 속도에 맞춰 동적 침묵 감지
  • 유연한 AI 백엔드: 플러그 가능한 LLM 백엔드(Ollama 기본, OpenAI 지원)
  • 커스터마이즈 가능한 음성: 다양한 TTS 엔진 선택 가능(Kokoro, Coqui, Orpheus)
  • 웹 인터페이스: Vanilla JS와 Web Audio API를 사용한 간단한 UI
  • Dockerized 배포: Docker Compose를 사용한 권장 설정으로 의존성 관리 용이

기술 스택

  • 백엔드: Python 3.x, FastAPI
  • 프론트엔드: HTML, CSS, JavaScript (Vanilla JS, Web Audio API, AudioWorklets)
  • 통신: WebSockets
  • 컨테이너화: Docker, Docker Compose
  • 코어 AI/ML 라이브러리: RealtimeSTT, RealtimeTTS, transformers, torch / torchaudio, ollama / openai
  • 오디오 처리: numpy, scipy

사전 요구 사항

  • 운영 체제: Docker 사용 시 Linux 권장
  • Python: 3.9 이상
  • GPU: CUDA 지원 NVIDIA GPU 권장
  • Docker: Docker Engine 및 Docker Compose v2+ 권장
  • Ollama 및 OpenAI API 키: 선택 사항

설치 및 설정

  • Docker 설치: 애플리케이션, 의존성, Ollama를 포함한 컨테이너로 관리
  • 수동 설치: Python 환경을 직접 관리, ML 의존성 관리 필요

애플리케이션 실행

  • Docker 사용 시: docker compose up -d로 이미 실행 중
  • 수동/스크립트 설치 시: 가상 환경 활성화 후 FastAPI 서버 시작

설정 세부 사항

  • AI의 음성, 두뇌, 청취 방식을 조정 가능
  • Docker 사용 시 docker compose build 전에 설정 변경 필요

기여 및 라이선스

  • 기여 환영, MIT 라이선스 하에 배포
  • 외부 TTS 엔진 및 LLM 제공자의 라이선스 준수 필요

Read Entire Article