OpenAI 호환 API로 서빙하기

OpenAI 호환 API로 서빙하기

OpenLLM의 핵심 가치는 OpenAI 호환 API로 LLM을 노출하는 데 있어요. 덕분에 OpenAI를 쓰던 프레임워크·도구를 그대로 두고 base URL만 OpenLLM 서버로 바꾸면 오픈소스 모델을 쓸 수 있어요. 보통 지정할 것은 API 호스트 주소, 모델 이름, (선택) API 키 정도예요.

서버 시작

openllm serve로 서버를 띄우면 기본 주소는 http://localhost:3000이에요.

openllm serve llama3.2:1b

출처: https://github.com/bentoml/OpenLLM/blob/main/README.md

OpenAI 파이썬 클라이언트

OpenAI 클라이언트의 base_url/v1로 바꾸면 바로 호출할 수 있어요. models.list()로 서버가 제공하는 모델 목록을 확인할 수도 있어요.

from openai import OpenAI

client = OpenAI(base_url='http://localhost:3000/v1', api_key='na')

model_list = client.models.list()
chat_completion = client.chat.completions.create(
    model="meta-llama/Llama-3.2-1B-Instruct",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)

LlamaIndex에서 사용

LangChain·LlamaIndex 같은 도구도 OpenAI 클래스를 열린 엔드포인트로 바꿔 쓸 수 있어요. 예를 들어 LlamaIndex는 이렇게 연결해요.

from llama_index.llms.openai import OpenAI

llm = OpenAI(
    api_bese="http://localhost:3000/v1",
    model="meta-llama/Llama-3.2-1B-Instruct",
    api_key="dummy",
)

채팅 UI

브라우저에서 바로 쓰고 싶다면 서버의 /chat 엔드포인트를 열어요. http://localhost:3000/chat에서 모델과 대화할 수 있어요.

더 알아보기