yym68686/uni-api
This is a project that unifies the management of LLM APIs. It can call multiple backend services through a unified API interface, convert them to the OpenAI format uniformly, and support load balancing. Currently supported backend services include: OpenAI, Anthropic, DeepBricks, OpenRouter, Gemini, Vertex, etc.
uni‑api – 다양한 LLM 제공업체를 위한 통합 자체 호스팅 게이트웨이
개요
- 표준 OpenAI HTTP 엔드포인트(예:
/v1/chat/completions,/v1/images/generations,/v1/embeddings등)를 노출하지만 요청을 구성 가능한 백엔드 LLM 서비스 목록으로 전달하는 오픈소스 서버입니다. - 단일 API 표면을 실행하면서 OpenAI, Anthropic, Gemini, Vertex AI, Azure, AWS Bedrock, Cohere, Groq, Cloudflare Workers AI, OpenRouter 등 다양한 제공업체를 혼합하여 사용할 수 있습니다.
- 모든 구성은 일반
api.yaml파일(또는CONFIG_URL에 제공된 URL)을 통해 이루어지므로 별도의 UI가 필요 없습니다.
주요 기능
- 제공업체 무관 라우팅 – 모든 OpenAI 스타일 요청을 적절한 백엔드 URL 및 API 키에 매핑합니다.
- 로드 밸런싱 – 세 가지 모드:
- 채널별 가중치 기반 밸런싱.
- 채널별 라운드로빈(순차) 밸런싱.
- 채널 내 여러 API 키 간 자동 라운드로빈.
- 자동 재시도 및 쿨링 – 백엔드가 오류를 반환하면 다음 채널에서 요청을 재시도합니다. 실패한 채널은 일시적으로 "쿨링"되어 쿨다운이 만료될 때까지 제외됩니다.
- 세밀한 타임아웃 – 모델별로 다른 요청 타임아웃을 설정할 수 있습니다.
- 권한 및 속도 제한 제어 – API 키별 모델 화이트리스트, 와일드카드 패턴, 구성 가능한 요청 상한(예:
2/min,5/hour). - 도구 및 이미지 지원 – 지원하는 제공업체(Anthropic, Gemini, Vertex 등)에 대해 네이티브 도구 호출 및 이미지 생성 엔드포인트를 전달합니다.
- 모더레이션 – 선택적 OpenAI 스타일 콘텐츠 모더레이션으로 허용되지 않은 사용자 메시지를 백엔드에 도달하기 전에 차단할 수 있습니다.
- 사용자 정의 요청 조정 – 요청 본문 필드, 헤더 주입, 프록시 설정, 최대 페이로드 크기에 대한 모델별 재정의.
실행 방법
api.yaml준비 – 제공업체, 기본 URL, API 키, 노출할 모델을 나열합니다. README에는 최소 예제와 매우 상세한 고급 예제가 포함되어 있습니다.- 배포 – 다음 중 하나를 선택:
- 파일을 Docker 컨테이너에
api.yaml로 마운트하거나, CONFIG_URL을 원격 YAML 파일을 가리키도록 설정합니다. 컨테이너는 시작 시 다운로드합니다.
- 파일을 Docker 컨테이너에
- 컨테이너 시작 – 이미지는 Docker Hub(
yym68686/uni-api)에 게시되어 있습니다. 빠른 클라우드 배포를 위한 원클릭 "Deploy to Fugue" 버튼이 제공됩니다. - API 사용 –
api_keys섹션에서 정의한 API 키 중 하나를 사용하여 호스트에서 일반 OpenAI 엔드포인트(예:http://localhost:8000/v1/chat/completions)를 호출합니다.
대상 사용자
- 맞춤 UI를 구축하지 않고 여러 유료 LLM 서비스를 통합하는 개인 "프록시"를 원하는 개인 또는 소규모 팀.
- 다양한 제공업체나 폴백 전략을 실험하면서 일관된 OpenAI 호환 인터페이스가 필요한 개발자.
- 로드 밸런싱, 속도 제한, 모델별 조정을 위한 간단한 YAML 기반 구성을 찾는 모든 사람.
링크
- 텔레그램 토론 그룹: https://t.me/uni_api
- Docker Hub 페이지(풀 수, 태그): https://hub.docker.com/repository/docker/yym68686/uni-api
- 원클릭 배포: https://fugue.pro/new/repository?repository-url=https%3A%2F%2Fgithub.com%2Fyym68686%2Funi-api
위의 모든 세부 사항은 저장소의 README에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트