본문 바로가기

인공지능

100개 이상의 LLM을 간편하게 활용하는 방법 – LiteLLM 소개 및 활용 가이드

728x90
반응형

 

LiteLLM이란 무엇인가?

최근 AI 기반 애플리케이션 개발이 활발해지면서, 다양한 LLM(대형 언어 모델)을 활용할 필요성이 커지고 있습니다. 그러나 각 LLM마다 API 호출 방식이 다르고, 비용 관리와 로깅 기능을 개별적으로 처리해야 하는 번거로움이 있습니다.

LiteLLM은 OpenAI, Anthropic, Hugging Face 등 100개 이상의 LLM을 통합적으로 활용할 수 있도록 지원하는 프레임워크입니다. Python SDK와 프록시 서버를 제공하여, 다양한 LLM을 단일 인터페이스로 호출하고 비용 및 사용량을 추적할 수 있도록 해줍니다.

이 글에서는 LiteLLM의 기능, 사용법, 그리고 실제 활용 사례를 알아보고, AI 개발자들이 어떻게 이를 효과적으로 활용할 수 있는지 소개하겠습니다.

반응형

1. LiteLLM의 주요 기능 및 특징

✅ 1.1. 100개 이상의 LLM 지원

LiteLLM은 OpenAI, Anthropic Claude, Hugging Face, Azure OpenAI 등 다양한 제공업체의 LLM을 단일 API로 호출할 수 있도록 지원합니다.

💡 예제: OpenAI와 Anthropic의 모델을 동일한 방식으로 호출 가능

from litellm import completion

messages = [{"content": "안녕하세요, 오늘 날씨는 어떤가요?", "role": "user"}]

# OpenAI 모델 호출
response = completion(model="openai/gpt-4o", messages=messages)

# Anthropic 모델 호출
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)

print(response)

위 코드에서 model 파라미터만 변경하면 다른 LLM을 호출할 수 있습니다.


✅ 1.2. 일관된 응답 형식 제공

LiteLLM을 사용하면, 다양한 LLM이 제공하는 응답을 OpenAI 포맷으로 통일할 수 있습니다. 즉, 개발자는 개별 모델별로 응답을 변환할 필요 없이, 동일한 구조로 데이터를 받을 수 있습니다.

응답 예시 (OpenAI 포맷):

{
    "id": "chatcmpl-565d891b-a42e-4c39-8d14-82a1f5208885",
    "model": "claude-3-sonnet-20240229",
    "choices": [
        {
            "message": {
                "content": "안녕하세요! 무엇을 도와드릴까요?",
                "role": "assistant"
            }
        }
    ]
}

이처럼 응답 형식이 통일되므로, 다양한 모델을 사용하더라도 추가적인 데이터 변환 작업이 필요 없습니다.


✅ 1.3. 로드 밸런싱 및 자동 재시도 기능

LiteLLM은 다양한 LLM 제공업체의 API를 로드 밸런싱하여, 성능과 비용을 최적화할 수 있도록 설계되었습니다. 또한, 특정 LLM의 호출이 실패할 경우, 자동으로 다른 LLM을 호출하는 재시도 기능을 제공합니다.

💡 예제: 자동 재시도 기능 활용

response = completion(model="openai/gpt-4o", messages=messages, retry=True)
print(response)

이 기능을 활용하면, OpenAI API 장애가 발생해도 자동으로 Anthropic 또는 다른 LLM을 호출할 수 있습니다.


2. LiteLLM 사용 방법

🛠️ 2.1. Python SDK 사용 방법

LiteLLM은 Python 개발자를 위해 간단한 SDK를 제공합니다.

1️⃣ 설치하기

pip install litellm

2️⃣ 환경 변수 설정

import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

3️⃣ LLM 호출하기

from litellm import completion

messages = [{"content": "Hello, how are you?", "role": "user"}]
response = completion(model="openai/gpt-4o", messages=messages)
print(response)

이제 model 파라미터만 변경하면 원하는 LLM을 간편하게 호출할 수 있습니다.


🖥️ 2.2. LiteLLM 프록시 서버 활용

LiteLLM 프록시 서버를 사용하면, 중앙 게이트웨이(LLM Gateway) 역할을 수행하여 여러 프로젝트의 비용 및 사용량을 추적할 수 있습니다.

✅ 프록시 서버 실행 방법

1️⃣ 설치하기

pip install 'litellm[proxy]'

2️⃣ 프록시 서버 실행

litellm --model openai/gpt-4o

✅ 서버 실행 후, http://0.0.0.0:4000에서 API 요청을 처리할 수 있습니다.

3️⃣ OpenAI SDK와 연동

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": "시를 써줘"}]
)
print(response)

이제 OpenAI SDK를 활용하면서도 LiteLLM의 프록시 서버를 통해 API 호출을 할 수 있습니다.


3. LiteLLM을 활용해야 하는 이유

단일 인터페이스로 100개 이상의 LLM 활용 – 여러 API를 개별적으로 다룰 필요 없음
일관된 응답 포맷(OpenAI 형식) 제공 – 데이터 변환 작업 불필요
자동 로드 밸런싱 및 재시도 기능 지원 – 안정적인 API 호출 가능
비용 및 사용량 추적 기능 제공 – 프로젝트별 예산 설정 가능
Python SDK 및 프록시 서버 지원 – 개발 환경에 맞게 유연한 선택 가능


728x90

LiteLLM은 다양한 LLM을 단일 API로 통합 관리할 수 있는 강력한 솔루션입니다. 특히 AI 개발자와 머신러닝 팀이 여러 LLM을 활용할 때, 비용 절감과 개발 생산성 향상에 큰 도움이 됩니다.

앞으로 AI 모델의 종류가 더욱 늘어날 것이기 때문에, LiteLLM과 같은 통합 프레임워크의 필요성은 더욱 커질 것입니다.

LiteLLM을 활용하여 AI 애플리케이션을 더욱 효율적으로 개발해 보세요! 🚀

https://www.litellm.ai/

 

LiteLLM

LiteLLM handles loadbalancing, fallbacks and spend tracking across 100+ LLMs. all in the OpenAI format

www.litellm.ai

728x90
반응형