프로젝트 소개
Jano는 단일 GPU에서 여러 로컬 LLM을 실행하는 사용자를 위해 설계된 경량의 OpenAI 호환 HTTP 라우터입니다. 매 요청 변경 시 모델을 전환하는 대신, 현재 로드된 모델에 대한 모든 대기 요청을 먼저 처리하고 필요한 경우에만 전환하는 군거 배치(greedy batching) 방식을 구현함으로써 오버헤드를 줄입니다. 이를 통해 모델 전환 횟수를 각 버스트 당 여러 번에서 단 한 번으로 줄일 수 있으며, 로컬 하드웨어에서 30초에서 3분까지 상당한 시간을 절약할 수 있습니다.
Jano는 llama-server나 vLLM 같은 로컬 백엔드와 DeepSeek 같은 원격 API 모두를 지원하며, 원격 제공업체에 대해 자동 모델 이름 재작성도 제공합니다. /health, /status, Prometheus metrics 엔드포인트를 통한 내장 텔레메트리를 갖추고 있어 큐 깊이, 전환 시간, 토큰 처리량, 백엔드 상태를 추적합니다.
구성方式是 환경 변수와 models.json 파일을 통해 이루어지며, 사용자는 모델 이름, URL, 별칭 및 선택적 전환 스크립트를 정의합니다. 전환 스크립트 계약은 간단합니다: 모델 이름을 인자로 받아 해당 백엔드를 활성화하고 정상 종료해야 합니다. 초기 상태 감지를 돕기 위해 선택적으로 상태 보고도 가능합니다.
Jano는 로직을 단순하게 유지하기 위해 백엔드별 요청을 직렬화하므로, 다중 사용자 서비스를 넘어 개인 또는 소규모 환경에 이상적입니다. GPU 온도나 시스템 자원 관리는 역할 범위 밖에 있습니다.
기존 도구 위의 얇은 계층으로 설계된 Jano는 모델 전환에 대한 명시적 제어, 모든 OpenAI 호환 백엔드와의 호환성, 스트리밍과 tool call의 투명한 통과 기능을 제공합니다. Ollama나 단일 모델을 사용하는 경우 필요하지 않으며, 이미 커스텀 백엔드를 갖추고 있어 라우팅과 전환에 세밀한 제어를 원하는 사용자에게 가장 적합합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.