UniAPI: 대규모 모델 API 포워딩의 서버 없는 통합 관리

최신 AI 도구2 개월 전에 게시 됨 Sharenet.ai
438 0
Trae

일반 소개

UniAPI는 OpenAI 프로토콜과 호환되는 API 포워더로, 핵심 기능은 통합된 OpenAI 형식을 통해 OpenAI, Azure OpenAI, Claude 등과 같은 여러 대형 모델 서비스 제공업체의 API를 관리하는 것입니다. 개발자는 하나의 인터페이스를 사용하여 잦은 코드 조정 없이 여러 공급업체의 모델을 호출할 수 있으며, UniAPI는 모델 최적화, 회로 차단기 메커니즘 및 스트리밍 출력 최적화를 지원하여 효율적이고 안정적인 요청을 보장합니다. 개인 또는 팀 API 서비스 스테이션을 빠르게 구축하는 데 적합한 Vercel 원클릭 배포를 제공합니다. 이 프로젝트는 GitHub 사용자 zhangtyzzz가 개발했으며 계속 업데이트 중입니다.

UniAPI:免服务器统一管理大模型API转发

 

기능 목록

  • Azure OpenAI, Claude 등을 포함한 OpenAI 및 OpenAI 프로토콜 호환 서비스를 지원합니다.
  • 여러 공급업체의 API를 OpenAI 형식으로 통합하여 호출 프로세스를 간소화하세요.
  • 모델 매핑을 지원하여 여러 공급업체의 실제 모델을 통일된 모델 이름으로 호출합니다.
  • 72시간 성공률과 첫 번째 성공 횟수를 기준으로 모델 선택 메커니즘을 제공합니다. 토큰 최고의 서비스를 선택하기 위한 응답 시간.
  • 회로 차단기 메커니즘이 내장되어 있어 서비스 연속 실패 시 자동으로 요청을 중단하여 시스템 안정성을 보호합니다.
  • 큰 응답 청크를 작은 청크로 분할하여 스트리밍 출력을 최적화하여 시각적 효과를 개선하세요.
  • 유연한 구성을 위해 사용자 지정 API 키, 기본 URL 및 모델 목록을 지원합니다.
  • Vercel을 통해 배포되는 이 솔루션은 관리 패널과 보안 인증을 제공합니다.

 

도움말 사용

UniAPI의 사용은 배포와 구성의 두 부분으로 나뉩니다. 다음은 빠르게 시작할 수 있도록 설치, 구성 및 작동 방법에 대한 자세한 설명입니다.

설치 프로세스

UniAPI는 로컬 런타임과 Vercel 원클릭 배포의 두 가지 배포 방법을 지원합니다. 여기서는 대부분의 사용자에게 적합한 Vercel 배포를 기본으로 사용합니다.

Vercel 원클릭 배포

  1. 배포 링크에 액세스
    공식 버셀을 클릭하세요. 배포 주소
  2. 환경 변수 구성
    Vercel 배포 페이지에서 다음 변수를 입력합니다:

    • ADMIN_API_KEY관리자 패널에 로그인하기 위한 관리자 키를 설정해야 합니다. mysecretkey.
    • TEMP_API_KEYAPI에 액세스할 수 있는 키(예: 최대 2개까지 설정 가능)를 입력합니다. key1 노래로 응답 key2.
    • REDIS_URL영구 저장소 구성을 위한 Redis 연결 주소(선택 사항).
    • ENVIRONMENT: 설정 production 를 눌러 개발 모드 기본 키를 비활성화합니다.
      구성이 완료되면 '배포'를 클릭합니다.
  3. 배포 주소 가져오기
    배포가 성공적으로 완료되면 Vercel은 다음과 같은 URL을 생성합니다. https://your-vercel-url.vercel.app. 사용 ADMIN_API_KEY 관리자 패널에 로그인합니다.

로컬 작업(선택 사항)

  1. 환경 준비하기
    디바이스에 Python 3.8 이상이 설치되어 있는지 확인하세요. 버전을 확인합니다:
python --version
  1. 파일 다운로드
    예를 들어 최신 바이너리를 다운로드하려면 https://github.com/zhangtyzzz/uni-api/releases 을 방문하세요. uni-api-linux-x86_64-0.0.99.pex.
  2. 실행 중인 프로그램
    터미널에서 실행됩니다:
chmod +x uni-api-linux-x86_64-0.0.99.pex
./uni-api-linux-x86_64-0.0.99.pex

기본 리스너 http://localhost:8000.

API 구성

  1. 로그인 관리 패널(Vercel 배포)
    배포된 URL을 열고 다음을 입력합니다. ADMIN_API_KEY 로그인합니다. 화면에 구성 추가 및 구성 목록이 표시됩니다.
  2. API 구성 추가
    '구성 추가'를 클릭하고 다음 정보를 입력합니다:
  • 서비스 제공업체OpenAI, Claude 등 중에서 선택하세요.
  • 기본 URL: 서비스 제공업체의 API 주소를 입력합니다(예 https://api.openai.com/v1.
  • API 키: 서비스 제공업체에서 받은 키를 입력합니다(예 sk-xxxx.
  • 모델 이름: 실제 모델 이름 또는 매핑 이름을 입력합니다. gpt-3.5-turbo.
    저장 후 구성이 목록에 표시됩니다.
  1. 모델 매핑
    예를 들어 구성에 매핑을 추가합니다:
  • 일반 이름 gpt-4 OpenAI의 gpt-4 노래로 응답 Claude (명목식 형태로 사용됨) claude-2.
    요청은 다음을 사용하여 이루어집니다. gpt-4시스템이 사용 가능한 서비스를 자동으로 선택합니다.

주요 기능 사용

  1. 요청 보내기
    curl로 API를 테스트합니다:
curl -X POST https://your-vercel-url.vercel.app/v1/chat/completions 
-H "Authorization: Bearer your_api_key" 
-H "Content-Type: application/json" 
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好"}], "stream": true}'

성공적인 구성을 나타내는 스트리밍 출력을 반환합니다.

  1. 모델 선택
    시스템은 지난 72시간 동안의 첫 번째 토큰의 성공률과 응답 시간을 기준으로 최적의 서비스 제공업체를 자동으로 선택합니다. 사용자가 수동으로 개입할 필요가 없습니다.
  2. 차단기 메커니즘
    서비스가 지속적으로 실패하면 회로 차단기가 트리거됩니다:
  • 3회 실패: 5분 일시 중지.
  • 4번 실패: 10분 정지.
  • 9번 실패: 48시간 정지.
    일시 정지 중에는 시스템이 다른 서비스 제공업체로 전환됩니다.
  1. 스트리밍 최적화
    와 관련하여 쌍둥이자리 UniAPI와 같이 응답 덩어리가 큰 모델은 자동으로 작은 출력 덩어리로 분할됩니다.

자주 묻는 질문

  • 요청 실패 401검사 : 검사 Authorization 헤더에 올바른 Bearer your_api_key.
  • 모델을 사용할 수 없습니다.: 구성된 모델 이름이 서비스 제공업체에서 제공한 모델 이름과 일치하는지 확인하거나 매핑 설정을 확인합니다.
  • 배포 후 액세스할 수 없음: 인정 ENVIRONMENT 로 설정 productionVercel 로그는 사용자가 사용할 수 없으며 확인됩니다.

이러한 단계를 통해 구성이 쉽고 강력하며 여러 공급업체의 API를 관리해야 하는 시나리오에 이상적인 UniAPI를 쉽게 배포하고 사용할 수 있습니다.

 

애플리케이션 시나리오

  1. 멀티벤더 모델에 대한 개발자 테스트
    OpenAI와 Claude의 출력을 비교하려고 합니다. uniAPI를 사용하면 단일 인터페이스로 두 가지를 모두 호출하여 시간을 절약할 수 있습니다.
  2. 안정적인 API 서비스를 구축하는 팀
    팀은 비즈니스를 지원하기 위해 신뢰할 수 있는 API 스테이션이 필요했습니다. uniAPI의 회로 차단기와 메리트주의는 중단 없는 서비스를 보장했습니다.
  3. 교육 및 연구
    학생들은 학술 실험에 적합한 다양한 모델의 반응성과 안정성을 조사하는 데 UniAPI를 사용할 수 있습니다.

 

QA

  1. UniAPI는 어떤 서비스 제공업체를 지원하나요?
    OpenAI, Azure OpenAI, Claude 및 기타 OpenAI 프로토콜 호환 서비스에 대한 지원은 GitHub에서 업데이트를 참조하세요.
  2. 회로 차단기가 트리거되면 어떻게 되나요?
    시스템이 자동으로 다른 서비스 제공업체로 전환하고 냉각 시간이 지나면 다시 시도합니다. 수동 조작이 필요하지 않습니다.
  3. 스트리밍 출력의 장점은 무엇인가요?
    특히 실시간 채팅 시나리오에서 더 원활한 사용자 경험을 위해 큰 응답 덩어리를 작은 조각으로 분할합니다.
© 저작권 정책
AiPPT

관련 문서

댓글 없음

없음
댓글 없음...