Home
Login

통합 LLM API 호출 게이트웨이, 100개 이상의 대규모 언어 모델 제공업체의 OpenAI 형식 호출 지원

NOASSERTIONPython 24.4kBerriAI Last Updated: 2025-06-21

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 애플리케이션 개발에 이상적인 선택입니다.