LiteLLM — vLLM 배포
LiteLLM — vLLM 배포
LiteLLM은 OpenAI 형식으로 모든 LLM API(Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq 등)를 호출할 수 있게 해 주는 라이브러리입니다. vLLM의 모든 모델을 지원합니다.
출처: 문서
본문
LiteLLM이 관리하는 것들:
- 입력을 프로바이더의
completion,embedding,image_generation엔드포인트로 변환. - 일관된 출력 — 텍스트 응답은 항상
['choices'][0]['message']['content']에서 사용 가능. - 여러 배포(예: Azure/OpenAI) 간 재시도/폴백 로직 — Router.
- 프로젝트·API 키·모델별 예산(Budget)과 속도 제한(Rate limit) 설정 — LiteLLM Proxy Server(LLM Gateway).
사전 준비 (Prerequisites)
vLLM과 litellm 환경을 설정합니다.
pip install vllm litellm
채팅 완성 (Chat completion)
- 지원되는 채팅 완성 모델로 vLLM 서버를 시작합니다.
vllm serve qwen/Qwen1.5-0.5B-Chat
- litellm으로 호출합니다.
import litellm
messages = [{"content": "Hello, how are you?", "role": "user"}]
# hosted_vllm 은 접두사 키워드이며 반드시 필요
response = litellm.completion(
model="hosted_vllm/qwen/Qwen1.5-0.5B-Chat", # vllm 모델 이름 전달
messages=messages,
api_base="http://{your-vllm-server-host}:{your-vllm-server-port}/v1",
temperature=0.2,
max_tokens=80,
)
print(response)
임베딩 (Embeddings)
- 지원되는 임베딩 모델로 vLLM 서버를 시작합니다.
vllm serve BAAI/bge-base-en-v1.5
- litellm으로 호출합니다.
from litellm import embedding
import os
os.environ["HOSTED_VLLM_API_BASE"] = "http://{your-vllm-server-host}:{your-vllm-server-port}/v1"
# hosted_vllm 은 접두사 키워드이며 반드시 필요
# vllm 모델 이름 전달
embedding = embedding(model="hosted_vllm/BAAI/bge-base-en-v1.5", input=["Hello world"])
print(embedding)
핵심 포인트
- 모델 이름은 반드시
hosted_vllm/접두사를 붙여야 LiteLLM이 이 호출을 셀프 호스팅 vLLM 서버로 라우팅합니다. api_base(또는HOSTED_VLLM_API_BASE환경 변수)에 vLLM 서버의/v1엔드포인트를 지정합니다.- 채팅 완성과 임베딩 모두 vLLM 서버의 OpenAI 호환 API를 그대로 활용합니다.
자세한 내용은 "Using vLLM in LiteLLM" 튜토리얼을 참고하세요.
더 알아보기 (Learn more)
- 모든 배포 프레임워크 — vLLM과 연동되는 프레임워크 목록
- LiteLLM 튜토리얼 — vLLM 사용하기
- OpenAI 호환 서버 — vLLM의 OpenAI 호환 API