본문 바로가기

GITHUB 추천

LiteLLM AI Gateway OpenAI 호환 LLM 프록시 추천: 여러 AI 모델 API를 하나로 묶는 방법

 

LiteLLM 추천: 여러 AI 모델 API를 하나의 LLM 게이트웨이로 묶는 방법

OpenAI 호환 호출, 비용 추적, virtual key, config.yaml 운영까지 실제 도입 순서로 보는 GitHub 추천

 

LiteLLM 추천: 여러 AI 모델 API를 하나로 묶는 방법

 

LiteLLM은 OpenAI 호환 인터페이스로 여러 LLM 공급자를 호출하게 해주는 Python SDK이자 프록시 서버입니다. 여러 모델 API를 팀 단위로 쓰면서 비용, 키, 라우팅, 로그를 한곳에서 봐야 한다면 LiteLLM AI Gateway OpenAI 호환 LLM 프록시를 먼저 테스트해볼 만합니다.

OpenAI만 쓰던 코드가 Anthropic, Amazon Bedrock, Vertex AI, Azure OpenAI까지 늘어나면 단순히 모델 이름만 바꾸는 문제가 아닙니다. 인증 방식, 요청 형식, 비용 확인, 장애 대응, 로그 보존 위치가 함께 늘어납니다.

이 글은 LiteLLM을 “좋은 GitHub 저장소”로만 소개하지 않으려 합니다. 실제로 한국 개발팀이나 개인 프로젝트가 LiteLLM AI Gateway OpenAI 호환 LLM 프록시를 도입해도 되는지, 어디까지 먼저 테스트해야 하는지, 어떤 경우에는 건너뛰는 편이 나은지를 판단하는 데 맞췄습니다.

제가 보기에는 LiteLLM의 매력은 모델 호출 코드를 짧게 만드는 데서 끝나지 않습니다. 팀마다 다른 API key를 쓰고, 프로젝트별 비용을 나누고, 장애가 난 provider를 우회해야 하는 순간부터 이 저장소의 가치가 또렷해집니다.

 
OpenAI, Anthropic, Bedrock, Vertex AI 같은 여러 LLM 공급자 노드가 중앙의 LiteLLM AI Gateway를 거쳐 하나의 OpenAI 호환 API로 연결되는 추상 네트워크 다이어그램
 

2026년 5월 17일 기준 LiteLLM은 얼마나 활발한가

 

2026-05-17 확인 기준 BerriAI/litellm은 GitHub에서 47,239 stars와 같은 날 pushed_at 갱신이 확인된 저장소입니다. 최신 커밋과 릴리스 흐름도 SDK와 프록시가 계속 관리되고 있음을 보여줍니다.

GitHub 추천 글에서 별점만 보고 넘어가면 부족합니다. LLM 게이트웨이는 provider API 변경, 새 모델, 가격 계산, Docker 이미지, 보안 설정을 계속 따라가야 하므로 최근 릴리스와 커밋 흐름이 더 중요합니다.

확인된 흐름은 아래처럼 정리됩니다.

항목 확인 내용
저장소 BerriAI/litellm
생성일 2023-07-27
활동성 2026-05-17 기준 pushed_at 갱신
별점 2026-05-17 확인 기준 47,239 stars
릴리스 v1.85.0 안정 릴리스와 v1.86.0-rc.1 프리릴리스가 같은 날 확인됨

다만 v1.86.0-rc.1은 프리릴리스입니다. 실무 도입에서는 최신 숫자보다 조직에서 검증한 고정 버전, 예를 들어 PyPI 안정 버전이나 내부 테스트를 통과한 Docker 이미지를 기준으로 삼는 편이 안전합니다.

 

LiteLLM이 해결하는 문제: LLM API 파편화

 

LiteLLM은 공급자마다 다른 LLM API 사용 방식을 OpenAI 호환 호출 표면으로 줄이는 데 초점을 둡니다. 그래서 OpenAI SDK를 쓰던 코드에서 base_url을 프록시 주소로 바꾸는 식의 점진적 전환을 시도할 수 있습니다.

여러 모델 공급자를 쓰는 팀은 보통 처음에는 SDK를 각각 붙입니다. 그런데 시간이 지나면 모델별 응답 처리, retry, fallback, 비용 계산, API key 관리가 코드 곳곳에 흩어집니다.

LiteLLM AI Gateway OpenAI 호환 LLM 프록시는 이 문제를 “호출 표면”과 “운영 지점”으로 나눠 정리합니다. 애플리케이션은 OpenAI 호환 형식으로 요청하고, 프록시는 실제 provider 모델, api_base, api_key, 라우팅 규칙을 맡습니다.

한국 사용자 입장에서는 이 구조가 특히 비용 정산과 보안 점검에서 유용합니다. 개인 실험이라면 provider SDK를 직접 써도 됩니다. 하지만 사내 챗봇, RAG 프로토타입, 고객지원 자동화처럼 여러 팀이 같은 LLM 예산을 나눠 쓰는 경우에는 중앙 게이트웨이 쪽이 관리하기 쉽습니다.

 
애플리케이션 코드가 하나의 OpenAI compatible endpoint로 요청하고 LiteLLM 프록시가 provider별 API key와 model mapping을 처리하는 간단한 아키텍처 그림
 

개인 스크립트보다 팀 운영에서 더 중요한 이유

 

LiteLLM의 강점은 모델 호출 편의성보다 팀 운영 기능에서 더 크게 드러납니다. virtual key, spend tracking, rate limit, logging, guardrails를 붙일 때 LLM Gateway의 의미가 커집니다.

개인 개발자는 `completion()` 함수 하나로 여러 모델을 부르는 것만으로도 충분할 수 있습니다. 그러나 팀 운영에서는 누가 어떤 모델을 얼마나 썼는지, 특정 프로젝트가 예산을 넘었는지, 장애가 난 공급자를 어떻게 우회할지까지 봐야 합니다.

공식 문서의 Proxy Server 설명은 인증/인가, 멀티테넌트 비용 추적, 프로젝트별 로깅, guardrails, caching, virtual keys, admin dashboard를 함께 다룹니다. 이 조합 때문에 LiteLLM은 단순 SDK보다 운영 계층에 가깝게 읽힙니다.

> 실제로 확인할 부분은 “모델을 호출할 수 있는가”보다 “호출을 조직 단위로 통제할 수 있는가”입니다.

예를 들어 RAG 서비스 팀은 `gpt-4.1`, `claude`, `bedrock` 계열 모델을 상황별로 바꿔 쓰고 싶을 수 있습니다. 이때 앱마다 API key를 넣는 방식보다 LiteLLM 프록시에서 virtual key를 발급하고 팀/사용자 단위 비용을 추적하는 방식이 운영 책임을 분명하게 만듭니다.

 

도입 시뮬레이션: 설치부터 첫 테스트, 운영 모델까지

 

첫 테스트는 `uv tool install 'litellm[proxy]'`로 프록시를 설치하고 포트 4000에서 모델 하나를 띄운 뒤 `litellm --test` 또는 OpenAI SDK 요청으로 확인하는 흐름이 가장 단순합니다. 운영 검토는 config.yaml, master_key, DATABASE_URL, virtual key, 로그 정책까지 이어져야 합니다.

LiteLLM AI Gateway OpenAI 호환 LLM 프록시를 처음 볼 때는 거창한 배포부터 시작하지 않는 편이 좋습니다. 먼저 로컬에서 모델 하나를 프록시 뒤에 두고, 기존 OpenAI SDK 코드가 프록시 endpoint를 향해 정상 응답을 받는지 확인합니다.

실무 도입 흐름은 다음 순서가 현실적입니다.

1. 개발 환경에서 Python 요구사항과 `uv` 사용 가능 여부를 확인합니다.
2. `litellm[proxy]`를 설치하고 `litellm --model <provider>/<model>` 형태로 프록시를 띄웁니다.
3. 포트 4000의 프록시에 `litellm --test`를 보내 기본 응답을 확인합니다.
4. OpenAI SDK를 쓰던 샘플 코드에서 `base_url`을 `http://0.0.0.0:4000` 계열 프록시 주소로 바꿔봅니다.
5. config.yaml의 `model_list`에 사용자에게 노출할 `model_name`과 실제 provider `model`, `api_base`, `api_key`를 분리합니다.
6. 팀 운영으로 넘어가기 전에 Postgres `DATABASE_URL`, `master_key`, `/key/generate`, spend tracking 기준을 잡습니다.

여기서 바로 Kubernetes나 대규모 라우팅으로 가지 않아도 됩니다. 작은 RAG API 한 개, 내부 Slack 봇 한 개, 평가용 batch job 한 개를 프록시 뒤에 붙여 “호출 성공, 비용 기록, key 제한, 로그 노출 범위”를 먼저 확인하는 편이 낫습니다. 한국 개발팀이라면 이 단계에서 개인정보가 프롬프트와 로그에 남는지도 같이 보는 것이 좋습니다.

 
 
 

config.yaml에 먼저 넣어야 할 권장 필드

 

최소 구성은 사용자가 호출할 `model_name`과 실제 provider 설정을 분리하는 것입니다. 팀 운영에서는 여기에 `master_key`, `DATABASE_URL`, fallback 후보, key/user/team 단위 비용 제한, 로그 설정을 함께 설계해야 합니다.

config.yaml은 LiteLLM 운영의 중심 파일입니다. 처음부터 모든 기능을 켜기보다, “앱이 보는 이름”과 “실제 provider 연결 정보”를 분리하는 데 집중하는 편이 좋습니다.

먼저 확인할 필드는 다음과 같습니다.

  • `model_list`: 서비스 코드가 호출할 모델 목록입니다.
  • `model_name`: 앱 개발자가 보게 될 이름입니다. 예를 들어 `team-chat-default`처럼 내부 표준 이름을 둘 수 있습니다.
  • `litellm_params.model`: 실제 provider와 모델 이름입니다.
  • `api_base`: Azure OpenAI, 자체 호환 서버, 로컬 엔진처럼 별도 endpoint가 있을 때 중요합니다.
  • `api_key`: provider key는 앱 코드가 아니라 프록시 운영 영역에 둬야 합니다.
  • `master_key`: 프록시 관리 요청과 virtual key 발급을 통제하는 기준입니다.
  • `DATABASE_URL`: spend tracking과 virtual key 운영을 위해 Postgres 연결이 필요합니다.

라우팅 문서처럼 같은 사용자-facing `model_name` 아래에 여러 배포 후보를 둘 수도 있습니다. 다만 이 기능은 단순 편의가 아니라 장애 대응 정책입니다. 어떤 provider를 우선할지, 실패 시 fallback을 허용할지, 비용이 높은 모델로 자동 우회해도 되는지까지 팀 내부 기준이 있어야 합니다.

 

도입 전에 확인할 리스크

 

OpenAI 호환은 모든 provider의 기능이 완전히 같아진다는 뜻이 아닙니다. tool calling, streaming, 가격 계산, 장애 응답, 개인정보 로그 보존은 실제 모델 조합으로 따로 테스트해야 합니다.

LiteLLM을 추천하더라도 무조건 설치하라는 뜻은 아닙니다. 중앙 프록시는 편하지만 동시에 모든 provider API key와 요청 로그가 모이는 지점입니다. 로그에 고객 정보, 프롬프트, 영업비밀이 들어간다면 보안 설계 없이 운영에 올리면 안 됩니다.

특히 다음 항목은 먼저 확인해야 합니다.

  • 새 모델의 가격 계산이 내부 청구 기준과 맞는지 검산합니다.
  • tool calling과 streaming이 provider별로 같은 방식으로 동작하는지 테스트합니다.
  • 운영 로그에서 prompt, response, API key, DATABASE_URL이 노출되지 않는지 봅니다.
  • detailed debug 로그는 개발용으로 제한하고 운영에서는 로그 레벨을 보수적으로 둡니다.
  • Docker 이미지는 GHCR 이미지 종류와 cosign 서명 검증 가능 여부를 확인합니다.
  • 라이선스는 GitHub metadata만 보고 단정하지 말고 저장소 LICENSE와 enterprise 하위 예외를 함께 확인합니다.

한국 팀에서 특히 조심할 점은 개인정보와 내부 문서가 프롬프트에 섞이는 경우입니다. LiteLLM은 게이트웨이 역할을 해주지만, 데이터 보존 기간과 마스킹 정책까지 자동으로 대신 정해주지는 않습니다.

 
 
 

누가 지금 LiteLLM을 써볼 만한가

 

LiteLLM은 단일 모델을 혼자 호출하는 프로젝트보다 여러 provider, 여러 팀, 여러 비용 주체가 있는 워크플로에 더 잘 맞습니다. OpenAI 호환 코드를 유지하면서 LLM Gateway 운영 계층을 만들고 싶을 때 우선 후보가 됩니다.

제가 추천하는 첫 적용 대상은 내부 도구입니다. 고객에게 바로 노출되는 핵심 서비스보다, 내부 RAG 검색, 사내 챗봇, 모델 평가 batch, 개발팀 AI 보조 도구처럼 실패 범위를 통제하기 쉬운 곳이 좋습니다.

반대로 단일 provider만 쓰고, 월 사용량이 작고, 비용 추적이 필요 없고, API key가 한 명에게만 있으면 LiteLLM AI Gateway OpenAI 호환 LLM 프록시는 과할 수 있습니다. 이 경우에는 provider SDK나 간단한 wrapper가 더 빠릅니다.

최종 판단 기준은 단순합니다. “모델을 바꾸고 싶다”가 아니라 “모델, 키, 비용, 로그, 장애 대응을 한곳에서 관리해야 한다”면 LiteLLM GitHub 저장소를 열어볼 이유가 있습니다.

 

자주 묻는 질문

 

Q. LiteLLM은 OpenAI API와 얼마나 호환되나?
A. OpenAI 호환 입력/출력 형식과 OpenAI SDK의 base_url 변경 흐름을 지원하는 방향입니다. 다만 provider별 tool calling, streaming, 가격 계산, 오류 응답까지 완전히 같다고 보면 안 되며 실제로 쓰는 모델 조합으로 테스트해야 합니다.

Q. LiteLLM SDK와 Proxy Server는 언제 각각 써야 하나?
A. 개인 스크립트나 작은 실험은 Python SDK만으로 충분할 수 있습니다. 팀별 API key, 비용 추적, rate limit, logging, guardrails, fallback이 필요하면 Proxy Server를 AI Gateway로 두는 쪽이 맞습니다.

Q. LiteLLM 프록시는 어떻게 설치하고 첫 요청을 보내나?
A. 공식 Quick Start 기준으로 `uv tool install 'litellm[proxy]'` 설치 후 `litellm --model <provider>/<model>`로 포트 4000 프록시를 띄우고 `litellm --test` 또는 OpenAI SDK의 `base_url` 변경으로 첫 요청을 확인합니다.

Q. 비용 추적과 virtual key를 쓰려면 무엇이 필요한가?
A. 공식 문서 기준 Postgres `DATABASE_URL`과 `sk-`로 시작하는 master key가 필요합니다. 이후 `/key/generate`로 프록시 접근 키를 만들고 key/user/team 단위 spend tracking을 확인하는 방식으로 시작합니다.

Q. LiteLLM 도입을 건너뛰는 편이 나은 경우는 언제인가?
A. 단일 provider만 쓰고, 사용량이 작고, 중앙 비용 추적이나 virtual key가 필요 없으며, 로그 보안 정책을 아직 정하지 못했다면 먼저 간단한 provider SDK로 유지하는 편이 낫습니다.

함께 읽으면 좋은 글

 

참조 링크