tbphp/gpt-load
Self-hosted AI gateway for multi-channel, multi-credential setups — API keys and subscription accounts, scheduling, failover, request logs and usage. 自托管 AI 网关:多渠道多凭据统一接入,含密钥与订阅账号、调度容错、日志与用量。
GPT-Load - LLM API용 자체 호스팅 게이트웨이
기능
- 네이티브 OpenAI, Anthropic, Gemini 등의 API를 모방하는 단일 HTTP 엔드포인트를 제공합니다.
- 해당 엔드포인트 뒤에 많은 채널(다른 공급자, 계정 또는 구독 서비스)을 구성하고 게이트웨이가 가중치, 상태 또는 비용에 따라 요청을 라우팅하도록 할 수 있습니다.
- API 키 관리, OAuth 흐름, 재시도, 쿨다운, 블랙리스트 및 클라이언트별 액세스 키를 처리합니다.
- SQLite, MySQL 또는 PostgreSQL을 백엔드로 하는 임베디드 UI에 로그, 사용 통계 및 비용 추정치를 저장하며 자격 증명은 디스크에서 암호화됩니다.
필요한 이유
- 앱이 각 공급자에 맞게 코드를 변경하지 않고 여러 LLM 공급자(OpenAI, Claude, Gemini, Bedrock 등)와 통신해야 하는 경우.
- 여러 API 키 간에 트래픽을 분산하고 속도 제한을 피하며 하나의 키가 실패할 경우 정상 키로 자동 폴백하기 위해.
- 모든 LLM 호출에 대한 통합 감사 추적 및 비용 대시보드를 한 곳에서 유지하기 위해.
주요 구성 요소
| 구성 요소 | 역할 |
|---|---|
| 게이트웨이 서버(Go로 작성) | OpenAI 호환 경로를 노출하고 선택된 업스트림 채널로 요청을 전달하며 일정 및 재시도 로직을 적용합니다. |
| 관리 UI | 채널, 그룹 및 AccessKey를 추가하기 위한 웹 콘솔(포트 3001). 상태, 로그 및 사용 차트를 표시합니다. |
| 채널 | 특정 업스트림 서비스(예: OpenAI, Anthropic, 사용자 지정 OpenAI 호환 릴레이) 및 하나 이상의 API 자격 증명에 대한 구성입니다. |
| 그룹 | 모델 화이트리스트와 라우팅 정책(가중치, 쿨다운, 세션 선호도)이 포함된 채널 모음입니다. |
| AccessKey | 클라이언트 애플리케이션에 제공되는 토큰으로, 클라이언트가 사용할 수 있는 그룹과 프로토콜을 결정합니다. |
지원 프로토콜 및 모델
- OpenAI 채팅, 완성, 임베딩, 이미지, 재순위, OCR/오디오 등.
- Anthropic
messages, Geminimodels엔드포인트, Mistral OCR/오디오 및 일반 OpenAI 호환 릴레이. - 30개 이상의 내장 공급자: OpenAI, Azure OpenAI, AWS Bedrock, Google Vertex AI, Claude, Gemini, DeepSeek, Moonshot, Hugging Face, Cohere, Groq 등과 Codex, Grok 같은 구독 기반 서비스.
배포 옵션
- Docker Compose(기본값) – 서비스를 컨테이너에서 실행하고 데이터를 Docker 볼륨(
gpt-load-data)에 저장합니다. - 네이티브 바이너리 – Linux/macOS/Windows용 사전 빌드 실행 파일을 다운로드합니다. Windows에서는 서비스를 만드는 설치 프로그램도 제공합니다.
- 데이터베이스 – SQLite가 기본으로 제공됩니다.
DATABASE_DSN을 통해 MySQL 또는 PostgreSQL로 전환할 수 있습니다.
구성 하이라이트
.env파일은 호스트, 포트, 시간 초과, 로깅, 프록시 설정 및 암호화 키를 제어합니다.AUTH_KEY는 관리 UI를 보호하고,ENCRYPTION_KEY는 저장된 API 비밀을 암호화합니다(DB와 함께 백업해야 함).CLIENT_IP_HEADER및TRUSTED_PROXIES를 사용하면 역방향 프록시 뒤에서 실행하고 IP 기반 제한을 적용할 수 있습니다.
일반적인 워크플로
- 시작 서비스를 시작합니다(
docker compose up -d). - 읽기 생성된 관리 키를 읽습니다(
cat /app/data/auth.key). - 로그인
http://127.0.0.1:3001에 로그인하고 채널(예: OpenAI + API 키)을 추가합니다. - 그룹 만들기 채널과 노출할 모델을 선택합니다.
- AccessKey 생성 애플리케이션용 AccessKey를 생성하고 게이트웨이를 호출할 때
Authorization: Bearer ...헤더에 해당 키를 사용합니다.
주의가 필요한 경우
encryption.key를 분실하면 저장된 모든 자격 증명을 복구할 수 없습니다.- 버전 2.0은 완전한 재작성으로, 이전 1.x 라인에서 데이터를 가져올 수 없습니다.
- 서비스는 기본적으로 localhost에 바인딩됩니다. 자체 방화벽 또는 역방향 프록시 뒤에서만 노출하세요.
라이선스 및 커뮤니티
- MIT 라이선스 핵심 코드.
- 공급자 어댑터는 Apache-2.0
Bifrost Core에, OAuth 처리는 MITCLIProxyAPI에 의존합니다. - 공식 Docker 이미지:
ghcr.io/tbphp/gpt-load:2.
모든 세부 사항은 프로젝트의 README에서 직접 가져왔습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트