theroyallab/tabbyAPI

The official API server for Exllama. OAI compatible, lightweight, and fast.

해결하는 문제

TabbyAPI는 대규모 언어 모델(LLM)을 웹 서비스로 제공하는 방법을 제공하여, 사용자가 명령줄 인터페이스나 무거운 GUI를 직접 조작하는 대신 API를 통해 텍스트를 생성할 수 있도록 합니다. 이는 특히 ExllamaV3 백엔드의 공식 API 서버 역할을 합니다.

작동 원리

FastAPI를 기반으로 구축된 TabbyAPI는 ExllamaV3 백엔드를 래핑하여 모델 로드 및 추론을 처리합니다. OpenAI 호환 API를 구현하므로 많은 애플리케이션에서 OpenAI 서비스의 드롭인 대체제로 사용할 수 있습니다. 연속 배치 처리(continuous batching)와 페이지드 어텐션(paged attention, Nvidia Ampere GPU 이상 지원), 그리고 속도 향상을 위해 드래프트 모델을 사용하는 추측 디코딩(speculative decoding)과 같은 고급 추론 기술을 지원합니다.

대상 사용자

로컬이나 자체 하드웨어에서 LLM을 실행하고, 이를 표준화된 API를 통해 다른 애플리케이션에서 사용하고자 하는 애호가 및 개발자를 위해 설계되었습니다.

주요 특징

  • OpenAI 호환성: OpenAI 호환 API를 사용하여 쉽게 통합할 수 있습니다.
  • 고급 추론: 연속 배치 처리, 페이지드 어텐션, 추측 디코딩을 지원합니다.
  • 유연한 포맷팅: JSON schema, Regex, EBNF 지원 및 채팅 완성을 위한 Jinja2 템플릿 엔진을 포함합니다.
  • 모델 관리: HuggingFace에서 모델을 직접 로드, 언로드 및 다운로드할 수 있습니다.
  • 확장 기능: 임베딩 모델(embedding models) 및 OAI 스타일의 도구/함수 호출(tool/function calling)을 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch