피드로 돌아가기
Dev.toAI/ML
원문 읽기
Esperanto 추상화 계층을 통한 Multi-Provider RAG 및 Podcast 생성 시스템 구축
Open Notebook Review: Self-Hosted NotebookLM Alternative
AI 요약
Context
Google NotebookLM의 폐쇄적 생태계와 데이터 프라이버시 문제로 인한 Self-hosted 대안 필요성 증대. 특정 LLM 공급자에 종속된 구조는 비용 최적화와 모델 교체 유연성을 저해하는 병목 지점으로 작용함.
Technical Solution
- Esperanto 라이브러리를 통한 LLM, Embedding, STT, TTS 인터페이스의 통합 추상화로 공급자 간 결합도 제거
- SurrealDB v2 채택을 통해 Relational, Vector, Full-text storage를 단일 엔진으로 통합하여 데이터 관리 복잡도 최소화
- 'Sources → Loader → Chunker → Embedder → SurrealDB'로 이어지는 파이프라인 설계를 통한 정형/비정형 데이터의 효율적 인덱싱
- Episode Profile 설정을 통한 1~4인 다중 화자 Persona 정의 및 TTS 모델 매핑으로 맞춤형 오디오 콘텐츠 생성 로직 구현
- FastAPI 기반의 REST API(Port 5055) 노출을 통한 데이터 수집 및 변환 프로세스의 자동화 파이프라인 구축
- Docker Compose 기반의 컨테이너화를 통한 배포 시간 단축 및 환경 일관성 확보
Impact
- 공급자 믹스 전략(Claude 4.5 + DeepSeek V3 + Voyage + Groq) 적용 시, OpenAI 단일 사용 대비 인제스천 및 채팅 비용을 $2.80에서 $0.40로 약 85% 절감
- Docker Compose를 통한 인프라 구축 시간을 60초 이내로 단축
Key Takeaway
다양한 AI 모델을 사용하는 시스템 설계 시, 개별 SDK에 의존하지 않고 통합 인터페이스(Abstraction Layer)를 먼저 구축함으로써 모델 교체 비용을 낮추고 비용 효율적인 라우팅 전략을 수립할 수 있음.
실천 포인트
- LLM 서비스 도입 시 Provider-agnostic한 인터페이스 계층 설계 여부 검토 - Vector DB와 Relational DB의 파편화를 막기 위해 SurrealDB와 같은 Multi-model DB 도입 고려 - 비용 최적화를 위해 Task별(Chat, Summary, Embedding)로 최적의 가성비를 가진 모델을 분리 배치하는 전략 적용