GPT-Load
여러 채널과 자격 증명을 한 입구로 묶는 자체 호스팅 게이트웨이
git clone --depth 1 https://github.com/tbphp/gpt-load.git && cd gpt-load && cp .env.example .env && docker compose up -d여러 제공자의 API 키와 구독 계정을 한 곳에 모아 두고 애플리케이션에는 주소 하나와 접근 키 하나만 주는 자체 호스팅 게이트웨이입니다. 클라이언트는 쓰던 규약을 그대로 쓰고 제공자와 계정, 모델, 라우팅 정책은 관리 화면에서 정합니다. 자격 증명이 여러 개일 때 가중치를 자동으로 조정하고 재시도와 냉각, 차단, 세션 고정으로 한 계정의 장애가 전체로 번지지 않게 막습니다. 상태와 경로, 로그, 사용량, 비용 추정을 내장 화면에서 봅니다. SQLite 와 MySQL, 포스트그레스를 지원하고 자격 증명은 로컬에서 암호화해 보관합니다.
판단
이럴 때 씁니다
- API 키와 구독 계정이 여러 개라 관리가 흩어질 때
- 한 계정의 과부하가 전체 서비스로 번지는 것을 막아야 할 때
- 요청 로그와 사용량, 비용 추정을 한 화면에서 봐야 할 때
이럴 땐 쓰지 마세요
- 제공자 하나에 키 하나면 게이트웨이가 과합니다
- 2.x 는 아직 후보 판이고 1.x 데이터를 옮겨 오지 못합니다
- 구독 계정을 API 처럼 쓰는 채널은 약관 확인이 먼저입니다
차별점
- API 키와 구독 계정을 같은 자격 증명 관리 체계로 다룹니다.
- 가중치 자동 조정과 재시도, 냉각, 차단, 세션 고정이 기본으로 들어 있습니다.
- 클라이언트는 쓰던 규약을 그대로 쓰고 게이트웨이가 변환합니다.
- 자격 증명을 로컬에서 암호화해 보관합니다.
워크플로
- 01저장소를 받아 환경 파일을 만들고 컴포즈로 띄웁니다.
- 02상태 확인 주소로 기동을 확인합니다.
- 03첫 기동 때 만들어진 관리 키를 꺼내 보관합니다.
- 04채널을 추가하고 키나 구독 자격 증명을 넣습니다.
- 05그룹을 만들어 모델과 정책을 정하고 접근 키를 발급해 애플리케이션에 줍니다.
주요 명령
| 명령 | 설명 |
|---|---|
docker compose up -d | 게이트웨이를 띄웁니다. |
curl --fail http://127.0.0.1:3001/health | 기동을 확인합니다. |
docker compose exec gpt-load sh -c 'cat /app/data/auth.key' | 첫 기동 때 생성된 관리 키를 읽습니다. |
함정
설치 전에 확인하세요
- 2.0 은 완전히 다시 만든 판이라 1.x 데이터를 열거나 가져오지 못합니다. 빈 데이터베이스와 새 암호화 키로 시작해야 합니다.
- 저장소 최상단 안내는 2.x 기준인데 최신 정식 판은 1.4.11 이고 2.0 은 후보 판입니다. 어느 쪽을 띄우는지 확인해야 합니다.
- 기본은 루프백 주소만 듣습니다. 외부에 열려면 설정을 바꿔야 하고, 그 순간 구독 채널의 고정 콜백 포트도 함께 노출됩니다.
- 첫 기동에 관리 키가 자동 생성됩니다. 꺼내서 따로 보관하지 않으면 컨테이너를 지울 때 함께 사라집니다.
비교
게이트웨이는 대체로 API 키를 여러 개 물려 돌리는 데까지입니다. 이쪽은 구독 계정 로그인까지 같은 체계로 넣고, 장애가 난 자격 증명을 자동으로 빼는 운영 기능을 두껍게 넣었습니다. 대신 관리 화면과 데이터베이스가 딸린 서비스를 하나 더 운영하게 됩니다.
최근 변경
새 채널이 추가되고 의존성이 올라갔습니다. 2.x 는 완전히 다시 만든 판이라 1.x 데이터와 호환되지 않으므로 빈 데이터베이스와 새 암호화 키로 시작하라고 안내하고 있습니다.