핵심 요약
우아한형제들이 LiteLLM과 Langfuse를 기반으로 GenAI SDK를 구축하여 단일 인터페이스로 LLM 호출, 중앙화된 API 키 관리, 요청/응답 및 프롬프트의 자동 로깅을 가능하게 하는 AIOps 중심 환경을 선보였습니다.
구현 방법
- 단일 인터페이스로 모든 LLM 호출: LiteLLM의 litellm.completion으로 다양한 공급사 모델을 표준화하고, 모델명 패턴 분석으로 제공사 자동 매핑을 구현
- 중앙화된 키 관리: Langfuse의 LLM Connections으로 자격 증명을 관리하고, GenAIClient가 Langfuse DB에서 AESGCM 복호화를 통해 키를 동적으로 Router에 등록
- Langfuse 연동 및 로깅: GenAIClient 초기화 시 Langfuse 연동 설정으로 모든 호출/프롬프트를 자동 기록
- 프롬프트 관리 래핑: Langfuse 프롬프트 관리 기능을 SDK에 연결해 코드에서 프롬프트 이름으로 조회하고 버전 관리 가능
- 오류 처리 및 재시도: litellm.Router의 fallback/재시도 로직을 활용한 안정성 확보(예: 리전 기반 재시도 및 폴백 설정)
주요 결과
- 모든 요청/응답 및 프롬프트가 Langfuse에 자동 기록되어 실험과 디버깅 속도가 향상
- API 키 관리가 중앙화되어 보안성 및 운영 간소화가 강화
- 프롬프트 관리의 버전 관리와 즉시 반영으로 개발 효율성 증가
- 비즈니스 로직에 집중할 수 있도록 시스템 복잡성과 코드 분리가 개선

