BerriAI/litellmView GitHub Homepage for Latest Official Releases
통합 LLM API 호출 게이트웨이, 100개 이상의 대규모 언어 모델 제공업체의 OpenAI 형식 호출 지원
NOASSERTIONPythonlitellmBerriAI 27.0k Last Updated: August 07, 2025
LiteLLM - 통합 대규모 언어 모델 API 호출 게이트웨이
프로젝트 개요
LiteLLM은 오픈 소스 Python SDK 및 프록시 서버(LLM 게이트웨이)로, Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, Replicate, Groq 등 주요 제공업체를 포함한 100개 이상의 대규모 언어 모델 API를 OpenAI 형식으로 호출할 수 있습니다.
GitHub 주소: https://github.com/BerriAI/litellm
핵심 기능
1. 통합 API 형식
- 입력 형식 표준화: 모든 제공업체의 입력을 통일된 형식으로 변환
- 출력 형식 일관성: 텍스트 응답은 항상
['choices'][0]['message']['content']
에서 획득 가능 - 다중 엔드포인트 지원: completion, embedding 및 image_generation 엔드포인트 지원
2. 고가용성 보장
- 재시도/롤백 로직: 여러 배포 간 자동 재시도 및 롤백 지원 (예: Azure/OpenAI)
- 라우팅 기능: 최적의 가용 모델로 스마트 라우팅
- 로드 밸런싱: 여러 배포 간 요청 부하 분산
3. 비용 및 권한 제어
- 예산 관리: 프로젝트, API 키, 모델별 예산 제한 설정
- 속도 제한: API 호출 과다 사용 방지
- 사용 추적: 상세한 호출 통계 및 비용 분석
주요 특징
Python SDK 사용 예시
기본 호출
from litellm import completion
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"
messages = [{"content": "Hello, how are you?", "role": "user"}]
# OpenAI
response = completion(model="openai/gpt-4o", messages=messages)
# Anthropic
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)
비동기 호출 지원
from litellm import acompletion
import asyncio
async def test_get_response():
user_message = "Hello, how are you?"
messages = [{"content": user_message, "role": "user"}]
response = await acompletion(model="openai/gpt-4o", messages=messages)
return response
response = asyncio.run(test_get_response())
스트리밍 응답
from litellm import completion
response = completion(model="openai/gpt-4o", messages=messages, stream=True)
for part in response:
print(part.choices[0].delta.content or "")
프록시 서버 기능
빠른 시작
pip install 'litellm[proxy]'
litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000
클라이언트 호출
import openai
client = openai.OpenAI(
api_key="anything",
base_url="http://0.0.0.0:4000"
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{
"role": "user",
"content": "this is a test request, write a short poem"
}]
)
지원되는 제공업체
LiteLLM은 다음을 포함하여 30개 이상의 주요 LLM 제공업체를 지원합니다.
주요 클라우드 서비스 제공업체
- OpenAI - GPT 시리즈 모델
- Azure - Azure OpenAI 서비스
- AWS - Bedrock 및 SageMaker
- Google - Vertex AI, PaLM, Gemini
- Anthropic - Claude 시리즈 모델
오픈 소스 및 전문 플랫폼
- HuggingFace - 오픈 소스 모델 호스팅
- Replicate - 모델 API 서비스
- Together AI - 오픈 소스 모델 추론
- Groq - 고속 추론 칩
- Ollama - 로컬 모델 실행
특징적인 기능 플랫폼
- Cohere - 엔터프라이즈급 NLP
- AI21 - Jurassic 모델
- Perplexity - 검색 강화 생성
- DeepInfra - 고성능 추론
가시성 및 로깅
LiteLLM은 다양한 모니터링 및 로그 플랫폼을 기본적으로 지원합니다.
import litellm
import os
os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
os.environ["HELICONE_API_KEY"] = "your-helicone-auth-key"
os.environ["LANGFUSE_PUBLIC_KEY"] = "your-langfuse-public-key"
litellm.success_callback = [
"lunary", "mlflow", "langfuse",
"athina", "helicone"
]
response = completion(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hi 👋"}]
)
지원되는 모니터링 플랫폼:
- Lunary - LLM 애플리케이션 모니터링
- MLflow - 머신러닝 실험 추적
- Langfuse - LLM 애플리케이션 추적
- Helicone - API 호출 모니터링
- Athina - AI 애플리케이션 평가
엔터프라이즈급 기능
키 관리 시스템
curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{
"models": ["gpt-3.5-turbo", "gpt-4", "claude-2"],
"duration": "20m",
"metadata": {
"user": "user@company.com",
"team": "core-infra"
}
}'
Docker 배포
git clone https://github.com/BerriAI/litellm
cd litellm
echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
echo 'LITELLM_SALT_KEY="your-salt-key"' > .env
docker-compose up
웹 관리 인터페이스
/ui
에 접속하여 시각적 관리 인터페이스 획득- 다중 프로젝트 예산 및 속도 제한 설정
- 실시간 API 사용량 모니터링
- 사용자 및 팀 관리
기술 사양
시스템 요구 사항
- Python 버전: Python 3.7+ 필요
- 종속성 요구 사항:
openai>=1.0.0
(v1.0.0+ 필수)pydantic>=2.0.0
(v1.40.14+ 필수)
코드 품질 표준
- 코드 스타일: Google Python 스타일 가이드 준수
- 포맷 도구: Black 및 isort 사용
- 타입 검사: MyPy 및 Pyright
- 코드 검사: Ruff를 사용하여 lint 검사
안정성 보장
- 안정 버전:
-stable
태그가 있는 Docker 이미지 사용 - 부하 테스트: 릴리스 전 12시간 부하 테스트 진행
- 지속적 통합: 완전한 CI/CD 프로세스
상업 지원
엔터프라이즈 버전 기능
- 고급 보안 기능: 싱글 사인온(SSO) 통합
- 전문 지원: 전용 Discord 및 Slack 지원
- 맞춤형 통합: 맞춤형 LLM 제공업체 통합
- SLA 보장: 서비스 수준 계약
- 기능 우선 순위: 기업 요구 기능 우선 개발
커뮤니티 지원
- GitHub Issues: 기능 요청 및 문제 보고
- Discord 커뮤니티: 실시간 교류 및 지원
- 문서 완비: 상세한 API 문서 및 튜토리얼
사용 시나리오
1. 멀티 클라우드 LLM 배포
- 공급업체 종속 방지
- 플랫폼 간 모델 호출 구현
- 마이그레이션 비용 절감
2. 비용 최적화
- 가장 저렴한 가용 모델로 스마트 라우팅
- 예산 제어 및 사용량 모니터링
- 대량 API 호출 최적화
3. 고가용성 아키텍처
- 자동 장애 조치
- 로드 밸런싱
- 다중 지역 배포 지원
4. 개발 효율성 향상
- 통합 API 인터페이스
- 간소화된 모델 전환
- 풍부한 SDK 지원
설치 및 빠른 시작
기본 설치
pip install litellm
프록시 서버 설치
pip install 'litellm[proxy]'
개발 환경 설정
git clone https://github.com/BerriAI/litellm
cd litellm
python -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"
uvicorn litellm.proxy.proxy_server:app --host localhost --port 4000 --reload
요약
LiteLLM은 Rocket Money, Samsara, Lemonade 및 Adobe와 같은 유명 기업에서 채택되었습니다. 통합 API 인터페이스, 강력한 라우팅 기능 및 엔터프라이즈급 관리 기능을 제공하여 다중 LLM 환경의 관리 복잡성을 크게 단순화하여 현대 AI 애플리케이션 개발에 이상적인 선택입니다.