LiteLLM은 Claude·GPT·Gemini 등 100개가 넘는 LLM을 OpenAI 형식 하나로 부를 수 있게 해 주는 오픈소스 도구다. 모델 이름만 바꾸면 같은 코드로 다른 모델을 부를 수 있다. 그래서 모델을 비교하거나 자주 바꿀 때, 또는 팀이 함께 쓰는 공용 LLM 게이트웨이가 필요할 때 쓴다.
| 쓰는 방식 | 어디서 | 이럴 때 |
|---|---|---|
| Python 라이브러리 | 내 코드 안에서 임포트 | 혼자 쓰는 스크립트, 앱에서 모델 교체 |
| 프록시 서버 | 별도 서버로 실행 | 팀 전체가 같이 쓰는 공용 게이트웨이 |
pip install litellm으로 설치하고 from litellm import completion을 불러온다. 모델은 anthropic/claude-opus-4-5, openai/gpt-4o, ollama/llama3처럼 회사/모델명 형식으로 적고, API 키는 ANTHROPIC_API_KEY 같은 환경변수에 넣는다.
어떤 모델을 불러도 응답이 OpenAI 형식으로 돌아오고 오류도 비슷한 형태로 맞춰진다. 그래서 응답 처리와 재시도 코드를 한 번만 짜면 된다. 같은 질문을 여러 모델에 보내 품질과 비용을 비교할 때 특히 편하다.
설정 파일의 model_list에 쓸 모델과 실제 API 키를 적고 litellm --config config.yaml로 서버를 띄운다. 팀원은 OpenAI SDK의 주소(base_url)만 이 프록시로 바꾸면 된다. 원래 키를 나눠 줄 필요가 없다.
프록시에서 사람이나 프로젝트별로 가상 키를 따로 발급하고, 예산과 사용량을 관리할 수 있다. 한 모델이 실패하면 다른 모델로 넘기는 대체(fallback)와 여러 배포에 요청을 나누는 부하 분산도 설정할 수 있다.
| 방식 | 누가 운영 | 맞는 경우 |
|---|---|---|
| 회사별 공식 SDK | 없음 (직접 호출) | 모델 하나만 쓸 때 |
| LiteLLM | 내가 직접 (오픈소스) | 내 키·내 서버로 여러 모델을 관리할 때 |
| OpenRouter | 외부 호스팅 서비스 | 서버 없이 키 하나로 여러 모델을 쓸 때 |
회사마다 다른 고유 기능이나 일부 파라미터는 통일된 형식으로 그대로 옮겨지지 않을 수 있다. 막 나온 모델이나 기능은 지원이 늦게 붙을 수도 있다. 꼭 필요한 기능이 있으면 먼저 문서에서 지원 여부를 확인한다.
프록시에는 모든 API 키가 모이므로 접근 권한을 좁게 두고, 버전을 고정해 검증된 버전만 올리는 것이 안전하다. 모델을 하나만 쓴다면 공식 SDK가 더 단순하다.
혼자라면 여러 모델을 같은 코드로 비교하는 데 가장 많이 쓴다. 팀이라면 프록시를 띄워 키와 비용을 한곳에서 관리하는 게이트웨이로 쓴다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 모델 비교·평가 | 같은 프롬프트를 모델 이름만 바꿔 보내 품질과 비용을 나란히 본다 |
| 사내 LLM 게이트웨이 | 프록시 하나를 띄우고 팀원·프로젝트마다 가상 키와 예산을 준다 |
| OpenAI 호환 도구 연결 | OpenAI 주소를 받는 앱이나 코딩 도구의 base_url을 프록시로 바꿔 다른 회사 모델을 붙인다 |
| 로컬·클라우드 모델 섞어 쓰기 | 가벼운 일은 ollama/ 로컬 모델로, 어려운 일은 클라우드 모델로 같은 코드에서 나눈다 |