theroyallab/tabbyAPI
The official API server for Exllama. OAI compatible, lightweight, and fast.
TabbyAPI – OpenAI 호환 REST API를 갖춘 빠른 오픈소스 LLM 서빙
무엇인가요
- Python 3.10–3.14용 FastAPI 애플리케이션으로, ExllamaV3 추론 엔진을 감싸고 있습니다. 로컬에 저장된 LLM 체크포인트를 OpenAI의
v1/completions및v1/chat/completions엔드포인트와 동일한 JSON 스키마를 사용하는 웹 서비스로 변환합니다.
왜 중요한가요
- ExllamaV3는 페이지 기반 어텐션, 지속적 배치 처리, 그리고 Nvidia Ampere+ 카드에서 GPU 가속 추론으로 유명합니다. TabbyAPI는 이러한 성능 향상을 익숙한 HTTP API 뒤에 노출시켜, CUDA 코드를 직접 작성하지 않고도 기존 도구(예: LangChain, AI-Horde, 커스텀 프론트엔드)에 쉽게 통합할 수 있게 합니다.
주요 기능 (README에 기재된 내용)
- OpenAI 호환 API –
chat/completions및completions엔드포인트의 즉시 대체 가능. - 모델 라이프사이클 – 런타임 중 모델 로드, 언로드, 전환 가능.
- HuggingFace 다운로더 – 허브에서 직접 모델을 다운로드.
- 임베딩 모델 지원 – 텍스트 생성과 함께 벡터 임베딩 제공.
- 스키마 인식 프롬프트 – 구조화된 출력을 위한 JSON 스키마, 정규표현식, EBNF 검증.
- AI-Horde 통합 – 분산 추론 네트워크에 선택적으로 참여 가능.
- 예측적 디코딩 – 빠른 '드래프트' 모델을 사용해 생성 속도 향상.
- 프록시 레이어 – 실시간으로 클라이언트 측 파라미터나 샘플러 재정의 가능.
- Jinja2 템플릿 – HuggingFace 채팅 형식을 반영한 유연한 프롬프트 구성.
- 비동기 동시성 –
asyncio를 활용해 여러 요청을 동시에 처리. - 도구/함수 호출 – OAI 스타일의 함수 호출 지원.
- 임베딩 스택 (옵션) – 추가 Docker 태그에는 고처리량 벡터화를 위한
infinity-emb스택 포함.
지원하는 모델 유형
- Exl3 (ExllamaV3 형식) – 최고의 속도를 원할 경우 추천.
- FP16 / BF16 체크포인트.
- 페이지 기반 어텐션 배치 처리를 지원하는 Nvidia Ampere 이상 GPU에서 작동.
시작 방법
- Docker (권장) – 사전 빌드된 이미지 다운로드:
API는docker pull ghcr.io/theroyallab/tabbyapi:latest # CUDA 12.8 docker run --gpus all -p 5000:5000 \ -v /path/to/models:/app/models \ ghcr.io/theroyallab/tabbyapi:latesthttp://localhost:5000에서 접근 가능합니다. - 대체 태그 –
cu13은 CUDA 13용,latest-extras는 임베딩 스택 포함. - 소스에서 – 리포지토리 클론, Python 종속성 설치, FastAPI 앱 실행 (
uvicorn tabbyapi.main:app). 자세한 단계와 Docker-Compose 예제는 위키 참조. - 구성 – 모델 디렉터리, 포트, 선택적 설정은 환경 변수 또는
config.yaml파일로 제어 (위키에 문서화됨).
일반적인 사용 사례
- 데스크톱 워크스테이션에서 개인 또는 취미용 LLM 서빙.
- 클라우드 API 요금을 지불하지 않고 ChatGPT 스타일 애플리케이션을 빠르게 프로토타이핑.
- 자체 호스팅 UI 프로젝트인 SillyTavern 또는 Text Generation WebUI와 통합.
- 예측적 디코딩, 함수 호출, 사용자 정의 프롬프트 템플릿 실험.
제한 사항
- 취미 프로젝트로 간주되며, 프로덕션 수준의 확장성 또는 고가용성 배포를 목적으로 하지 않습니다.
- 롤링 리リ스 상태로 인해 파괴적 변경이 발생할 수 있으며, 업데이트 후 종속성 재설치가 필요할 수 있습니다.
라이선스
- AGPL-v3 – 서비스로 배포된 수정 사항은 동일한 라이선스 하에 공개되어야 합니다.
커뮤니티 및 지원
- 문제 해결 및 기능 요청을 위한 공식 Discord 서버 (README 내 링크).
- 기여는 풀 리퀘스트를 통해 환영합니다. 리포지토리는 이슈/PR 템플릿 제공.
공식 상류 프로젝트
- ExllamaV2/V3, Aphrodite Engine, infinity-emb, FastAPI, Text Generation WebUI, SillyTavern 등.
결론: TabbyAPI는 최신 LLM을 로컬에서 OpenAI 스타일 HTTP API로 실행할 수 있도록 해주는 가벼운 오픈소스 게이트웨이입니다. 빠른 ExllamaV3 백엔드를 활용하며, 상용 LLM API의 자체 호스팅 대안을 원하는 개발자와 취미가수에게 적합합니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트