OpenLLM

Local AI RunnersCLIPython

★ 12,530주당 +11조회 4

무엇인가

OpenLLM은 오픈소스 LLM을 OpenAI 호환 HTTP API 서버로 띄우는 Python CLI다. 모델 서빙 스택을 직접 조립하던 자리를 대신한다. 모델 이름과 버전을 지정하면 추론 서버가 뜨고, 클라이언트는 OpenAI API를 흉내 낸 엔드포인트로 붙는다.

어떻게 동작하나

동작은 모델 저장소와 Bento 단위로 이뤄진다. `openllm serve <모델>:<버전>`은 기본 모델 저장소에서 해당 모델의 Bento(모델 정의와 서빙 코드 묶음)를 가져와 추론 백엔드에 올린다. 서버는 기본적으로 http://localhost:3000 에 바인딩되고, 같은 주소의 /chat 경로에 채팅 UI가 붙는다. 가중치는 OpenLLM이 보관하지 않고 Hugging Face에서 내려받는다.

무엇과 다른가

FastAPI로 OpenAI 호환 래퍼를 직접 쓰고 모델별 실행 스크립트를 관리하는 방식과 다르다. 모델 정의가 저장소의 Bento로 패키징되어 이름으로 참조되고, 같은 산출물이 로컬 프로세스, Docker 이미지, Kubernetes, BentoCloud 배포로 이어진다. 클라이언트 쪽은 OpenAI Python 클라이언트나 LlamaIndex처럼 OpenAI 호환 API를 받는 도구를 그대로 쓴다.

어떻게 쓰나

설치 후 `openllm serve llama3.1:8b`로 서버를 세운다. 클라이언트에는 호스트 주소(http://localhost:3000), 모델 이름, 선택적 API 키를 넘긴다. 터미널에서 대화하려면 `openllm run`을 쓰고, BentoCloud로 올리려면 `openllm deploy`를 실행한다. 커스텀 모델은 bentos 디렉터리에 Bento를 빌드해 공개 저장소로 등록한 뒤 목록을 동기화해 쓴다.

전제와 한계

게이트 모델은 Hugging Face 토큰(HF_TOKEN)과 해당 모델 접근 승인이 필요하다. 모델마다 요구 GPU 메모리가 정해져 있어 deepseek r1-671b는 80G x 16, llama3.3 70b는 80G x 2를 요구한다. 커스텀 모델 저장소는 공개 저장소만 등록할 수 있다.

관련 논문 2

유사 도구