One API는 오픈 소스 LLM API 관리 및 배포 시스템으로, OpenAI, Azure, Anthropic Claude, Google Gemini, DeepSeek, ChatGLM 등 주요 모델을 지원하며, API를 통합적으로 어댑팅하여 키 관리 및 2차 배포에 사용할 수 있습니다. 이 프로젝트는 단일 실행 파일과 Docker 이미지를 제공하여 원클릭 배포와 즉시 사용이 가능합니다.
이 프로젝트는 다음과 같은 주요 대규모 언어 모델 제공업체를 지원합니다.
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api
docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api
# 현재 MySQL 시작 지원, 데이터는 ./data/mysql 폴더에 저장
docker-compose up -d
# 배포 상태 확인
docker-compose ps
git clone https://github.com/songquanpeng/one-api.git
# 프론트엔드 빌드
cd one-api/web/default
npm install
npm run build
# 백엔드 빌드
cd ../..
go mod download
go build -ldflags "-s -w" -o one-api
chmod u+x one-api
./one-api --port 3000 --log-dir ./logs
PORT=3000
및 SQL_DSN
구성SQL_DSN
: 데이터베이스 연결 문자열 (MySQL 또는 PostgreSQL 사용 권장)LOG_SQL_DSN
: 로그 테이블 독립 데이터베이스 연결REDIS_CONN_STRING
: 캐시용 Redis 연결 문자열MEMORY_CACHE_ENABLED
: 메모리 캐시 활성화SYNC_FREQUENCY
: 데이터베이스 동기화 빈도 (초)SESSION_SECRET
: 고정 세션 키NODE_TYPE
: 노드 유형 (master/slave)FRONTEND_BASE_URL
: 프론트엔드 리디렉션 주소GLOBAL_API_RATE_LIMIT
: API 속도 제한GLOBAL_WEB_RATE_LIMIT
: Web 속도 제한RELAY_TIMEOUT
: 릴레이 타임아웃 설정--port <port_number>
: 포트 번호 지정 (기본값 3000)--log-dir <log_dir>
: 로그 폴더 지정--version
: 버전 번호 출력--help
: 도움말 보기root
, 비밀번호 123456
사용# OpenAI 공식 라이브러리 구성
OPENAI_API_KEY="sk-xxxxxx"
OPENAI_API_BASE="https://<HOST>:<PORT>/v1"
토큰 뒤에 채널 ID를 추가하여 특정 채널 사용 지정 가능:
Authorization: Bearer ONE_API_KEY-CHANNEL_ID
사용자 → One API → OpenAI/Azure/Claude/Gemini 등 여러 제공업체
One API는 중간 계층으로, 다양한 제공업체의 API 형식을 통합하고 다음을 제공합니다.
docker run --name chat-next-web -d -p 3001:3000 yidadaa/chatgpt-next-web
페이지 설정에서 인터페이스 주소와 API 키를 설정하면 됩니다.
docker run --name chatgpt-web -d -p 3002:3002 -e OPENAI_API_BASE_URL=https://openai.justsong.cn -e OPENAI_API_KEY=sk-xxx chenzhaoyu94/chatgpt-web
본 프로젝트는 MIT 라이선스에 따라 오픈 소스로 제공되며, 페이지 하단에 저작자 표시 및 본 프로젝트 링크를 유지해야 합니다.