지금까지는 SDK였다. Proxy(게이트웨이)는 LiteLLM을 독립 서버로 띄워 여러 앱·팀이 공유하게 한다. 앱은 base_url만 게이트웨이로 바꾼 OpenAI 클라이언트로 호출하고, 모델·키 관리는 게이트웨이가 중앙에서 맡는다.
이 강의 목표는 config.yaml로 모델을 등록하고 게이트웨이를 실행한 뒤, OpenAI 클라이언트로 호출하는 것이다.
1. config.yaml
model_list:
- model_name: gpt-4o # 앱이 부를 이름(별칭)
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
- model_name: claude # 별칭으로 공급자 은닉
litellm_params:
model: anthropic/claude-sonnet-4
api_key: os.environ/ANTHROPIC_API_KEY
litellm_settings:
num_retries: 2
request_timeout: 30
2. 실행
export OPENAI_API_KEY=sk-...
litellm --config config.yaml # 기본 http://0.0.0.0:4000
3. 앱에서 호출(OpenAI 호환)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:4000", api_key="anything")
resp = client.chat.completions.create(
model="gpt-4o", # config의 별칭
messages=[{"role": "user", "content": "안녕"}],
)
print(resp.choices[0].message.content)
핵심 명령·용어
| 이름 | 뜻 |
|---|---|
model_list |
게이트웨이가 제공할 모델·별칭 |
os.environ/NAME |
환경변수에서 키 주입 |
litellm --config |
게이트웨이 실행 명령 |
base_url |
앱이 바라볼 게이트웨이 주소 |
예제
# 헬스체크와 등록된 모델 목록 확인
curl http://localhost:4000/health/readiness
curl http://localhost:4000/v1/models
해설) 별칭(model_name)으로 실제 공급자를 감추면, 앱 코드를 건드리지 않고 게이트웨이에서 모델을 교체할 수 있다. 이것이 게이트웨이의 핵심 이점이다.
댓글 0
댓글은 운영자만 작성할 수 있어요.