QuantumNous/new-api
요약
QuantumNous/new-api는 기업 및 조직 수준의 사용을 목적으로 설계된 차세대 LLM 게이트웨이 및 AI 자산 관리 시스템입니다. 이 플랫폼은 멀티 모델 관리, 조직 인증, 상세한 사용량 분석 및 비용 회계 기능을 제공하며, OpenAI, Azure, Claude, Google Gemini 등 다양한 주요 모델 API를 지원합니다. 특히, 지능형 라우팅(Intelligent Routing)을 통해 실패 시 자동 재시도나 사용자별 속도 제한 같은 고급 기능을 구현할 수 있으며, 여러 LLM 응답 형식을 상호 변환하는 기능도 제공하여 개발 편의성을 높입니다.
핵심 포인트
- 다양한 주요 모델 (OpenAI, Azure, Claude, Google Gemini 등)을 통합 관리하는 멀티 모델 게이트웨이 역할을 수행합니다.
- 조직 수준의 인증(OIDC, Discord, Telegram 등) 및 상세한 사용량/비용 회계 기능을 제공하여 기업 환경에 적합합니다.
- 지능형 라우팅 기능으로 채널 가중치 기반 랜덤 선택, 자동 재시도, 사용자별 속도 제한 등을 구현할 수 있습니다.
- OpenAI 응답 형식과 Claude Messages 등 다양한 LLM API 형식을 상호 변환하는 기능을 지원하여 개발 유연성을 높입니다.
🍥 차세대 LLM 게이트웨이 (Gateway) 및 AI 자산 관리 시스템
简体中文 |
繁體中文 |
English |
Français |
日本語
빠른 시작 (Quick Start) • 주요 기능 (Key Features) • 배포 (Deployment) • 문서 (Documentation) • 도움말 (Help)
중요 (Important)
- 이 프로젝트는 합법적이고 권한이 부여된 AI API 게이트웨이 (Gateway), 조직 수준의 인증 (Authentication), 멀티 모델 관리 (Multi-model management), 사용량 분석 (Usage analytics), 비용 회계 (Cost accounting) 및 프라이빗 배포 (Private deployment) 시나리오만을 목적으로 합니다.
- 사용자는 반드시 상위 API 키 (API keys), 계정, 모델 서비스 및 인터페이스 권한을 합법적으로 획득해야 하며, 상위 서비스 약관 및 관련 법규를 준수해야 합니다.
- 사용자는 자신의 사용이 상위 서비스 약관 및 관련 법규를 준수하는지 확인해야 합니다.
- 대중에게 생성형 AI (Generative AI) 서비스를 제공할 때, 사용자는 관련 규제 요구 사항을 준수해야 하며 해당 관할 구역에서 요구하는 모든 신고, 라이선스, 콘텐츠 안전 (Content safety), 실명 인증 (Real-name verification), 로그 보관 (Log retention), 세금 및 상위 서비스 권한 부여 의무를 이행해야 합니다.
순서에 상관없음
이 프로젝트에 무료 오픈 소스 개발 라이선스를 제공해 준 JetBrains에 감사드립니다
# 프로젝트 클론 (Clone)
git clone https://github.com/QuantumNous/new-api.git
cd new-api
...
Docker 명령어 사용하기
# 최신 이미지 풀 (Pull)
docker pull calciumion/new-api:latest
# SQLite 사용 (기본값)
...
💡 팁: -v ./data:/data를 사용하면
현재 디렉토리의 data 폴더에 데이터를 저장합니다. -v /your/custom/path:/data와 같이 절대 경로로 변경할 수도 있습니다.
🎉 배포가 완료되면, http://localhost:3000을 방문하여
사용을 시작하세요!
경고 (Warning)
이 프로젝트를 공개 생성형 AI (Generative AI) 서비스 또는 API 재판매 서비스로 운영할 때, 사용자는 먼저 필요한 모든 신고, 라이선스, 콘텐츠 안전, 실명 인증, 로그 보관, 세금, 결제 및 상위 서비스 권한 부여 의무를 완료해야 합니다.
📖 더 많은 배포 방법은 배포 가이드 (Deployment Guide)를 참조하십시오.
빠른 탐색:
| 카테고리 | 링크 |
|---|---|
| 🚀 배포 가이드 (Deployment Guide) | 설치 문서 (Installation Documentation) |
| ... |
상세 기능에 대해서는 기능 소개 (Features Introduction)를 참조하십시오.
| 기능 | 설명 |
|---|---|
| 🎨 새로운 UI (New UI) | 현대적인 사용자 인터페이스 디자인 |
| ... |
-
✅ 합법적이고 권한이 부여된 시나리오를 위한 내부 충전 및 할당량 배분 (EPay, Stripe)
-
✅ 조직 수준의 요청당, 사용량 기반 및 캐시 히트 (cache-hit) 비용 회계
-
✅ OpenAI, Azure, DeepSeek, Claude, Qwen 및 지원되는 모델에 대한 캐시 과금 통계
-
✅ 내부 관리 또는 권한을 부여받은 기업 고객을 위한 유연한 과금 정책
-
😈 Discord 인증 로그인
-
🤖 LinuxDO 인증 로그인
-
📱 Telegram 인증 로그인
-
🔑 OIDC 통합 인증
-
🔍 키 할당량 사용량 조회 (neko-api-key-tool 사용)
API 형식 지원:
- ⚡ OpenAI 응답 (Responses)
- ⚡ OpenAI Realtime API (Azure 포함)
- ⚡ Claude Messages
- ⚡ Google Gemini
- 🔄 리랭크 (Rerank) 모델 (Cohere, Jina)
지능형 라우팅 (Intelligent Routing):
- ⚖️ 채널 가중치 기반 랜덤 (Channel weighted random)
- 🔄 실패 시 자동 재시도 (Automatic retry on failure)
- 🚦 사용자 수준 모델 속도 제한 (Rate limiting)
형식 변환 (Format Conversion):
- 🔄 OpenAI 호환 ⇄ Claude Messages
- 🔄 OpenAI 호환 → Google Gemini
- 🚧 Google Gemini → OpenAI 호환 - 텍스트만 지원, 함수 호출 (function calling)은 아직 지원되지 않음
- 🔄 OpenAI 호환 ⇄ OpenAI 응답 (Responses) - 개발 중
- 🔄 사고 과정을 콘텐츠로 변환 (Thinking-to-content) 기능
추론 노력 (Reasoning Effort) 지원:
상세 설정 보기
OpenAI 시리즈 모델:
o3-mini-high
- 높은 추론 노력 (High reasoning effort)
o3-mini-medium
- 중간 추론 노력 (Medium reasoning effort)
o3-mini-low
- 낮은 추론 노력 (Low reasoning effort)
gpt-5-high
- 높은 추론 노력 (High reasoning effort)
gpt-5-medium
- 중간 추론 노력 (Medium reasoning effort)
gpt-5-low
- 낮은 추론 노력 (Low reasoning effort)
Claude 사고(thinking) 모델:
claude-3-7-sonnet-20250219-thinking
- 사고 모드 활성화
Google Gemini 시리즈 모델:
gemini-2.5-flash-thinking
- 사고 모드 활성화
gemini-2.5-flash-nothinking
- 사고 모드 비활성화
gemini-2.5-pro-thinking
- 사고 모드 활성화
gemini-2.5-pro-thinking-128
- 128 토큰의 사고 예산 (thinking budget)으로 사고 모드 (thinking mode) 활성화
- 또한, Gemini 모델 이름 뒤에
-low,-medium, 또는-high를 추가하여 해당 추론 노력 (reasoning effort)을 요청할 수 있습니다 (별도의 사고 예산 접미사는 필요하지 않음).
자세한 내용은 API Documentation - Gateway Interface를 참조하십시오.
| 모델 유형 | 설명 | 문서 |
|---|---|---|
| 🤖 OpenAI 호환 (OpenAI-Compatible) | OpenAI 호환 모델 | [문서 (Documentation)] |
| ... |
전체 인터페이스 목록 보기
팁
최신 Docker 이미지: calciumion/new-api:latest
| 구성 요소 | 요구 사항 |
|---|---|
| 로컬 데이터베이스 (Local database) | SQLite (Docker가 /data 디렉토리를 마운트해야 함) |
| 원격 데이터베이스 (Remote database) | MySQL ≥ 5.7.8 또는 PostgreSQL ≥ 9.6 |
| 컨테이너 엔진 (Container engine) | Docker / Docker Compose |
일반적인 환경 변수 (environment variable) 설정
| 변수 이름 | 설명 | 기본값 |
|---|---|---|
SESSION_SECRET | 세션 비밀키 (Session secret) (다중 머신 배포 시 필요) | - |
CRYPTO_SECRET | 암호화 비밀키 (Encryption secret) (Redis 사용 시 필요) | - |
SQL_DSN | 데이터베이스 연결 문자열 (Database connection string) | - |
REDIS_CONN_STRING | Redis 연결 문자열 (Redis connection string) | - |
STREAMING_TIMEOUT | 스트리밍 타임아웃 (Streaming timeout) (초) | 300 |
STREAM_SCANNER_MAX_BUFFER_MB | 스트림 스캐너의 라인당 최대 버퍼 (Max per-line buffer) (MB); 업스트림에서 거대한 이미지/base64 페이로드를 보낼 때 값을 늘리십시오 | 64 |
MAX_REQUEST_BODY_MB | 최대 요청 본문 크기 (Max request body size) (MB, 압축 해제 후 계산됨; 거대한 요청이나 zip 폭탄 (zip bombs)으로 인한 메모리 고갈 방지) |
이를 초과하면 413을 반환합니다 |
32 |
AZURE_DEFAULT_API_VERSION |
Azure API 버전 | 2025-04-01-preview |
ERROR_LOG_ENABLED |
에러 로그 스위치 | false |
PYROSCOPE_URL |
Pyroscope 서버 주소 | - |
PYROSCOPE_APP_NAME |
Pyroscope 애플리케이션 이름 | new-api |
PYROSCOPE_BASIC_AUTH_USER |
Pyroscope 기본 인증 (Basic Auth) 사용자 | - |
PYROSCOPE_BASIC_AUTH_PASSWORD |
Pyroscope 기본 인증 (Basic Auth) 비밀번호 | - |
PYROSCOPE_MUTEX_RATE |
Pyroscope 뮤텍스 (Mutex) 샘플링 비율 | 5 |
PYROSCOPE_BLOCK_RATE |
Pyroscope 블록 (Block) 샘플링 비율 | 5 |
HOSTNAME |
Pyroscope용 호스트네임 (Hostname) 태그 | new-api |
📖 전체 설정: 환경 변수 (Environment Variables) 문서
방법 1: Docker Compose (권장)
# 프로젝트 클론 (Clone)
git clone https://github.com/QuantumNous/new-api.git
cd new-api
...
방법 2: Docker 명령어
SQLite 사용 시:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
...
MySQL 사용 시:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
...
💡 경로 설명:
./data:/data
- 상대 경로, 현재 디렉토리의 data 폴더에 데이터가 저장됩니다.
- 절대 경로도 사용할 수 있습니다. 예:
/your/custom/path:/data
방법 3: BaoTa 패널
- BaoTa 패널 설치 (≥ 9.2.0 버전)
- 애플리케이션 스토어에서 New-API 검색 - 원클릭 설치
⚠️ 주의 사항
반드시 SESSION_SECRET을 설정해야 합니다.
- 그렇지 않으면 로그인 상태가 일관되지 않을 수 있습니다.
공유 Redis 사용 시 반드시CRYPTO_SECRET을 설정해야 합니다. - 그렇지 않으면 데이터를 복호화할 수 없습니다.
재시도 설정: Settings → Operation Settings → General Settings → Failure Retry Count
캐시 설정:
REDIS_CONN_STRING : Redis 캐시 (권장)
MEMORY_CACHE_ENABLED : 메모리 캐시
| 프로젝트 | 설명 |
|---|---|
| One API | 원본 프로젝트 기반 |
| Midjourney-Proxy | Midjourney 인터페이스 지원 |
| Project | Description |
|---|---|
| neko-api-key-tool | 키 할당량 (Key quota) 조회 도구 |
| new-api-horizon | New API 고성능 최적화 버전 |
| Resource | Link |
|---|---|
| 📘 FAQ | FAQ |
| ... |
모든 형태의 기여를 환영합니다!
- 🐛 버그 보고 (Report Bugs)
- 💡 새로운 기능 제안 (Propose New Features)
- 📝 문서 개선 (Improve Documentation)
- 🔧 코드 제출 (Submit Code)
이 프로젝트는 GNU Affero General Public License v3.0 (AGPLv3) 라이선스 하에 배포됩니다.
AGPLv3 섹션 7에 따른 추가 약관이 적용됩니다. 수정된 버전은 적절한 법적 고지 사항과 사용자 인터페이스에서 제공되는 눈에 띄는 정보(about, 법적 고지, 푸터 또는 저작자 표시 위치)에 Frontend design and development by New API contributors.라는 저작자 표시 문구를 반드시 유지해야 합니다.
사용자 인터페이스를 제공하는 수정 버전은 반드시 원본 프로젝트에 대한 가시적인 링크를 유지해야 합니다: https://github.com/QuantumNous/new-api.
이 프로젝트는 One API (MIT License)를 기반으로 개발된 오픈 소스 프로젝트입니다.
귀하의 조직 정책상 AGPLv3 라이선스 소프트웨어 사용이 허용되지 않거나, AGPLv3의 오픈 소스 의무 사항을 피하고자 하는 경우 다음으로 문의해 주세요: support@quantumnous.com
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기