제미니 밸런스: 제미니 모델 API는 OpenAI 형식과 호환되며, 지역 제한을 해제하고 다중 API 키 폴링을 지원합니다.
일반 소개
쌍둥이자리 밸런스는 효율적인 멀티 API 키 관리 및 최적화 기능을 제공하는 것을 목표로 FastAPI 프레임워크를 기반으로 개발된 OpenAI API 프록시 서비스입니다. Gemini 모델 호출을 지원하며, 주요 기능으로는 멀티 API 키 폴링, 인증 포렌식, 스트리밍 응답, CORS 교차 도메인 지원, 상태 확인 인터페이스 등이 있습니다. Gemini Balance는 Python 3.9+ 및 Docker와 같은 기술 스택을 사용하여 개발자에게 높은 동시성과 높은 안정성이 요구되는 애플리케이션 시나리오를 위한 유연하고 효율적인 API 프록시 솔루션을 제공합니다.

기능 목록
- 멀티 API 키 폴링 지원
- 무기명 토큰 인증
- 스트리밍 응답 지원
- CORS 교차 도메인 지원
- 상태 확인 인터페이스
- Gemini 모델 통화 지원
- 검색 기능 지원
- 코드 실행 지원
도움말 사용
환경 요구 사항
- Python 3.9+
- 도커(선택 사항)
종속성 설치
pip install -r requirements.txt
구성 파일
설정.env
파일을 열고 다음 매개변수를 구성합니다:
API_KEYS=["your-api-key-1","your-api-key-2"]
ALLOWED_TOKENS=["your-access-token-1","your-access-token-2"]
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
TOOLS_CODE_EXECUTION_ENABLED=true
MODEL_SEARCH=["gemini-2.0-flash-exp"]
도커 배포
docker build -t gemini-balance .
docker run -p 8000:8000 -d gemini-balance
API 인터페이스
- 모델 목록 가져오기
GET /v1/models
Authorization: Bearer your-token
- 채팅 완료.
POST /v1/chat/completions
Authorization: Bearer your-token
{
"messages": [...],
"model": "gemini-1.5-flash-002",
"temperature": 0.7,
"stream": false,
"tools": []
}
- 임베딩 받기
POST /v1/embeddings
Authorization: Bearer your-token
{
"input": "Your text here",
"model": "text-embedding-004"
}
- 건강 검진
GET /health
코드 구조
app/
api/
routes.py
: API 라우팅dependencies.py
: 종속성 주입core/
config.py
: 구성 관리security.py
: 보안 인증services/
chat_service.py
: 채팅 서비스key_manager.py
키 관리model_service.py
: 모델링 서비스schemas/
request_model.py
요청 모델main.py
메인 프로그램 입장
Dockerfile
: 도커 구성requirements.txt
: 프로젝트 종속성
안전 기능
- API 키 폴링 메커니즘
- 무기명 토큰 인증
- 로깅 요청
- 실패 재시도 메커니즘
- 키 유효성 검사
주의
- API 키와 액세스 토큰을 안전하게 보관하세요!
- 프로덕션 환경에서는 환경 변수를 사용하여 민감한 정보를 구성하는 것이 좋습니다.
- 기본 서비스 포트는 8000입니다.
- 기본 API 키 실패 재시도 횟수는 10회입니다.
- 지원되는 모델 목록은 Gemini API 설명서를 참조하세요.
부록: 허깅페이스, 쌍둥이자리 에이전트, 계정 폴링 호출, 지역 제한 해제 배포
1. 공간 복사
제미니 밸런스 - 포옹하는 얼굴 공간 by snailyp

2. 표시 여부를 다음과 같이 수정합니다.Public
(공개로 변경하거나 액세스할 수 없도록 주의해야 함), 설정ALLOWED_TOKENS
,API_KEYS
,BASE_URL
기본값(설정)

ALLOWED_TOKENS
형식["自定义apikey"]
괄호, 쉼표 및 역 쉼표는 엄격하게 준수됩니다.API_KEYS
형식은 단일 키 형태입니다:["gemini_key1"]
여러 키의 형태["gemini_key1","gemini_key2"]
괄호, 쉼표 및 역 쉼표는 엄격하게 준수됩니다.BASE_URL
기본값을 그대로 둡니다.
3. 배포가 성공할 때까지 기다리면 배포가 성공하면 다음 로그와 실행 상태가 나타납니다.

4. 이 시점에서 허깅페이스 서비스의 기본 호스트는 다음과 같습니다.huggingface用户名-gemini-balance.hf.space
저처럼요.snailyp-gemini-balance.hf.space
다음 사항에 유의하십시오.허깅페이스 서비스는 48시간 동안 사용하지 않으면 절전 모드로 전환되며, 청룡 패널이나 업타임 쿠마 등의 시간 제한 작업으로 살려두는 것을 권장합니다. (요청을 통해 직접 호출)https://用户名-gemini-balance.hf.space
(완료 가능)
5. 지원되는 엔드포인트/hf/v1/models
노래로 응답/hf/v1/chat/completions
6.huggingface 도메인 네임은 국내, hf.space는 접속이 안될 수 있으며, 접속이 안될 경우 다음 절차를 참고하시기 바랍니다.
cf 작업자를 프록시로 사용하고 사용자 지정 도메인 이름을 바인딩하면 중국에서 액세스할 수 있으며, cf 작업자 프록시 코드는 다음과 같습니다.url.host를 직접 변경합니다.::
export default { async fetch(request, env) { const url = new URL(request.url); url.host = 'xxx-gemini-balance.hf.space'; url.pathname = "/hf" + url.pathname; return fetch(new Request(url, request)) } }
다음 사항에 유의하십시오.프록시된 엔드포인트는 /hf를 제거하므로 이제 엔드포인트는 다음과 같이 됩니다./v1/models
노래로 응답/v1/chat/completions
클라이언트 구성에는 약간의 주의가 필요합니다.
7. 일부 제한 사항, 현재 이미지 처리 및 구조적 단어 출력을 수행 할 수 없습니다.

© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...