mostlygeek/llama-swap
Reliable model swapping for any local OpenAI/Anthropic compatible server - llama.cpp, vllm, etc
해결하는 문제
llama-swap는 단일 머신에서 여러 생성형 AI 모델을 실행하고 필요 시 모델 간 전환할 수 있게 해줍니다. 각 모델에 맞는 추론 서버를 수동으로 시작하고 중지할 필요 없이, 로컬 AI 워크플로우를 위한 통합 API 인터페이스를 제공합니다.
작동 방식
OpenAI 및 Anthropic 호환 엔드포인트로의 요청을 가로채는 역방향 프록시로 작동합니다. 요청에서 특정 모델이 지정되면 llama-swap는 모델 ID를 추출하고 해당 서버 설정을 자동으로 로드합니다. 필요한 모델의 서버가 현재 실행 중이지 않으면, 활성 서버를 올바른 것으로 스왑합니다. 기본 설정에서는 한 번에 하나의 모델만 처리하지만, 고급 사용자를 위해 복수의 모델을 동시에 실행할 수 있는 사용자 정의 DSL "matrix"를 지원합니다.
대상 사용자
로컬 LLM, 이미지 생성기, 오디오 모델을 실행하는 개발자 및 AI 애호가로서, 프로세스나 포트를 수동으로 관리하지 않고도 여러 모델을 원활하게 관리하고 싶은 분들께 적합합니다.
주요 특징
- 광범위한 호환성: OpenAI 및 Anthropic API 엔드포인트 외에도 llama.cpp, stable-diffusion.cpp, audio.cpp, ComfyUI 전용 엔드포인트를 지원합니다.
- 의존성 없음: 고성능과 간결함을 위해 Go로 구현되었으며, 단일 바이너리와 구성 파일만 필요합니다.
- 통합 웹 UI: 모델 테스트, 토큰 메트릭 모니터링, 요청/응답 검사가 가능한 실시간 인터페이스를 포함합니다.
- 고급 리소스 관리: TTL(Time-to-Live) 설정을 통한 모델 자동 언로드 및 Docker/Podman 컨테이너 지원 기능이 있습니다.
- 관측성: 프록시, 업스트림, 모델별 세부 로그 스트리밍과 시스템 및 GPU 사용량을 위한 Prometheus 메트릭을 제공합니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트