litellm
무엇인가
LiteLLM은 애플리케이션과 LLM 제공자 사이에 놓이는 중계 계층이다. 제공자별 SDK를 직접 호출하던 자리를 대신한다. 같은 코드로 OpenAI, Anthropic, Gemini, Bedrock, Azure, VertexAI, vLLM, Nvidia NIM 등을 호출한다. 배포 형태는 두 가지다. 코드에 임베드하는 Python SDK와 팀 단위 중앙 서비스인 AI Gateway(Proxy Server)다.
어떻게 동작하나
게이트웨이는 Rust 코어와 Python SDK로 구성된다. 클라이언트는 /chat/completions, /responses, /embeddings, /images, /audio, /batches, /rerank, /a2a, /messages 엔드포인트로 요청을 보낸다. 게이트웨이가 요청을 제공자 포맷으로 변환해 전달하고, 응답을 OpenAI 포맷으로 되돌린다. 가상 키 발급, 지출 추적, 가드레일, 로드밸런싱, 로깅, 관리자 대시보드가 프록시 계층에서 처리된다. MCP 서버를 게이트웨이에 등록하면 /chat/completions 호출로 그 도구를 실행한다. A2A 에이전트는 에이전트별 protocolVersion(1.0 또는 0.3)을 지정해 등록한다.
무엇과 다른가
제공자 SDK를 각각 통합하면 인증 방식, 요청 스키마, 오류 타입, 재시도 정책, 비용 집계를 애플리케이션마다 구현해야 한다. LiteLLM은 이 로직을 게이트웨이 한 계층으로 옮긴다. OpenAI 호환 포맷을 쓰므로 제공자를 교체해도 호출 코드를 다시 쓰지 않는다. Python SDK 쪽에는 여러 배포(Azure/OpenAI 등)를 묶는 Router가 있어 재시도와 폴백을 애플리케이션 레벨에서 처리한다.
어떻게 쓰나
Python SDK로 라이브러리에 직접 통합하거나, 프록시 서버를 배포해 팀 단위 게이트웨이로 쓴다. 프로덕션 배포에는 12시간 부하 테스트를 거친 -stable 태그 Docker 이미지를 쓴다. Terraform 모듈로 AWS(ECS Fargate + Aurora + ElastiCache + ALB) 또는 GCP(Cloud Run + Cloud SQL + Memorystore + HTTPS LB)에 게이트웨이·백엔드·UI를 분리한 스택으로 올린다. 제공자 API 키는 AWS Secrets Manager에 두고 gateway_extra_secrets로 ARN을 참조한다. Cursor IDE에서는 MCP 서버를 게이트웨이에 등록해 연결한다.
전제와 한계
MCP OAuth에서 업스트림이 동적 클라이언트 등록을 광고하면서도 401 또는 403을 반환할 수 있다. 제공자가 사전 등록된 OAuth 앱을 요구하면 MCP 서버에 credentials.client_id와 credentials.client_secret을 설정해야 한다. 제공자가 그 앱을 MCP 접근용으로 승인해야 로그인과 도구 호출이 성립한다. A2A 호출에는 a2a-sdk 1.1.0 이상이 필요하다. Cloud Run은 ghcr.io에서 이미지를 직접 풀 수 없어 Artifact Registry 원격 저장소를 먼저 만들어야 한다.
유사 도구
- LLM-API-Key-ProxyOpenAI·Anthropic 호환 엔드포인트를 하나 띄워 여러 LLM 제공자를 provider/model 형식으로 중계하는 자체 호스팅 FastAPI 프록시다.
- gateway1,600개 이상 LLM과 40개 이상 가드레일을 하나의 OpenAI 호환 API로 중계하는 TypeScript 기반 AI 게이트웨이다. 재시도·폴백·로드밸런싱을 설정으로 처리한다.
- heliconeOpenAI 호환 baseURL 한 줄만 바꾸면 요청 로그·비용·지연을 수집하는 LLM 관측 프록시이자 100개 이상 모델을 중계하는 AI 게이트웨이다.
- OmniRoute여러 LLM 제공자를 하나의 엔드포인트로 중계하는 MIT 라이선스 AI 게이트웨이다. 무료 티어 할당량을 계산해 소진 시 자동으로 다른 제공자로 폴백한다.
- bifrost23개 이상 LLM 제공자를 하나의 OpenAI 호환 API로 중계하는 Go 기반 AI 게이트웨이다. 5천 RPS에서 요청당 11µs 오버헤드를 추가한다.
- plano에이전트 앱 앞에 세우는 AI 네이티브 프록시 서버 겸 데이터 플레인이다. Envoy 기반으로 LLM 라우팅·오케스트레이션·가드레일을 아웃오브프로세스에서 처리한다.