LiteLLM — 하나의 인터페이스, 모든 제공자
실제로 실행 가능한 미니 프로젝트입니다. 받아서 Docker로 실행해 보세요.
2026년 6월 28일
LiteLLM — 하나의 인터페이스, 모든 제공자아주 작은 LiteLLM 스크립트입니다. 프롬프트 하나를
litellm.completion()으로 보내고 응답을 출력합니다. 같은 호출이
Anthropic Claude, OpenAI, Google AI Studio (Gemini) 에서 모두
동작합니다 — 코드는 그대로 두고 .env의 MODEL만 바꾸면 됩니다.
설정
cd samples/litellm_1
cp .env.sample .env
# .env 편집: MODEL과 해당 제공자의 키를 설정
MODEL이 제공자를 결정합니다:
| 제공자 | MODEL 예시 |
.env의 키 |
|---|---|---|
| Anthropic Claude | claude-opus-4-8 |
ANTHROPIC_API_KEY |
| OpenAI | gpt-4o |
OPENAI_API_KEY |
| Google AI Studio | gemini/gemini-2.5-flash |
GEMINI_API_KEY |
| Ollama (local) | ollama_chat/qwen3.5:9b |
OLLAMA_API_BASE |
.env는 gitignore 처리되어 있고, .env.sample만 커밋됩니다.
Ollama (로컬 모델): 먼저 호스트에서 모델을 받아두세요 —
ollama pull qwen3.5:9b(또는 ollama run qwen3.5:9b)를 실행합니다. 그다음
MODEL=ollama_chat/qwen3.5:9b로 설정하고 OLLAMA_API_BASE를 서버 주소로 지정하세요 — API
키는 필요 없습니다. DooD를 쓰는 devcontainer에서는 컨테이너가 호스트의 Ollama에
http://host.docker.internal:11434로 접근하고, 로컬 실행 시에는
http://localhost:11434를 씁니다.
Docker로 실행
cd samples/litellm_1
docker build -t aas-litellm .
docker run --rm --env-file .env aas-litellm "Summarize litellm in one line."
Docker로 실행 (DooD를 쓰는 devcontainer에서)
호스트 Docker 데몬과 통신하는 dev container(Docker-outside-of-Docker)에서는 위의
포그라운드 docker run이 종종 아무것도 출력하지 않고 exit 0으로 끝납니다. 하지만
실행 자체는 성공한 것입니다. 스크립트는 끝까지 실행되고 출력도 Docker가 모두
캡처하는데, 실시간 attach 스트림만 그 출력을 VM 경계에서 흘려버립니다. 같은
컨테이너에 docker logs를 실행하면 전체 출력이 그대로 보이고, 컨테이너는 exit 0으로
끝나며 OOM도 아닙니다. detached로 실행하고 로그를 따라가세요:
cd samples/litellm_1
docker build -t aas-litellm .
docker logs -f "$(docker run -d --env-file .env aas-litellm \
"Summarize litellm in one line.")"
로컬에서 실행
cd samples/litellm_1
pip install -r requirements.txt
python app.py "Summarize litellm in one line."
python-dotenv가 .env를 자동으로 불러옵니다. 키는 다음에서 발급받으세요:
Anthropic,
OpenAI,
Google AI Studio.
실행 결과
모델과 실행마다 결과가 달라집니다 — LLM은 비결정적이라 표현(그리고 에이전트의 구체적 단계)이 매번 다릅니다. 아래는
claude-opus-4-8로 실행한 한 예입니다.
LiteLLM is an open-source library that provides a unified interface to call 100+ LLM APIs (OpenAI, Anthropic, Azure, Cohere, etc.) using the OpenAI format.