영어 | 中文
Azure OpenAi 프록시는 Azure OpenAI API의 대리인으로, OpenAI 요청을 Azure OpenAI 요청으로 변환 할 수 있습니다. 다양한 오픈 소스 Chatgpt 웹 프로젝트의 백엔드로 사용하도록 설계되었습니다. 또한 일부 지역에서 OpenAI API가 제한되는 문제를 해결하기 위해 간단한 OpenAI API 프록시로 사용되는 것을 지원합니다.
하이라이트:
Azure Openai 서비스의 최신 버전은 현재 다음 3 개의 API를 지원합니다.
| 길 | 상태 |
|---|---|
| /V1/채팅/완료 | ✅ |
| /V1/완료 | ✅ |
| /V1/임베딩 | ✅ |
Azure에서 지원하지 않는 다른 API는 모의 형식으로 반환됩니다 (예 : 브라우저에서 시작한 옵션 요청). 프로젝트에 추가 OpenAi 지원 API가 필요하다고 생각되면 PR을 제출하십시오.
/v1/models 인터페이스, models 인터페이스 오류에 따라 일부 웹 프로젝트 문제를 수정했습니다.options 인터페이스, 일부 웹 프로젝트의 크로스 도메인 검사 오류 문제를 수정했습니다. 환경 변수
| 매개 변수 | 설명 | 기본값 |
|---|---|---|
| azure_openai_proxy_address | 서비스 청취 주소 | 0.0.0.0:8080 |
| azure_openai_proxy_mode | 프록시 모드는 "Azure"또는 "OpenAi"일 수 있습니다. | 하늘빛 |
| azure_openai_endpoint | Azure Openai 엔드 포인트는 일반적으로 https : // {custom} .openai.azure.com처럼 보입니다. 필수의. | |
| azure_openai_apiversion | Azure Openai API 버전. 기본값은 2023-03-15- 예정입니다. | 2023-03-15-- 검토 |
| azure_openai_model_mapper | Model = 배포 쌍의 쉼표로 구분 된 목록. 모델 이름을 배포 이름으로지도합니다. 예를 들어, gpt-3.5-turbo=gpt-35-turbo , gpt-3.5-turbo-0301=gpt-35-turbo-0301 . 일치가 없으면 프록시는 모델을 배포 이름으로 직접 전달합니다 (실제로 대부분의 Azure 모델 이름은 OpenAI와 동일합니다). | gpt-3.5-turbo=gpt-35-turbogpt-3.5-turbo-0301=gpt-35-turbo-0301 |
| azure_openai_token | Azure Openai API 토큰. 이 환경 변수가 설정되면 요청 헤더의 토큰은 무시됩니다. | "" " |
명령 줄에 사용하십시오
curl https://{your-custom-domain}/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer {your azure api key} "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
} 'HTTP를 통해 Azure OpenAI API에 액세스 할 때 프록시로 직접 사용할 수 있지만이 도구에는 HTTPS 지원이 내장되어 있지 않으므로 HTTPS 버전의 HTTPS 버전에 액세스하기 위해 NGINX와 같은 HTTPS 프록시가 필요합니다.
구성한 프록시 도메인이 https://{your-domain}.com 이라고 가정하면 터미널에서 다음 명령을 실행하여 https 프록시를 사용 할 수 있습니다.
export https_proxy=https://{your-domain}.com
curl https://api.openai.com/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer {your azure api key} "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
} '또는 다른 오픈 소스 웹 chatgpt 프로젝트에서 HTTP 프록시로 구성하십시오.
export HTTPS_PROXY=https://{your-domain}.com
Docker를 통해 배포
docker pull ishadows/azure-openai-proxy:latest
docker run -d -p 8080:8080 --name=azure-openai-proxy
--env AZURE_OPENAI_ENDPOINT={your azure endpoint}
--env AZURE_OPENAI_MODEL_MAPPER={your custom model mapper ,like: gpt-3.5-turbo=gpt-35-turbo,gpt-3.5-turbo-0301=gpt-35-turbo-0301}
ishadows/azure-openai-proxy:latest부름
curl https://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer {your azure api key} "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
} ' AZURE_OPENAI_MODEL_MAPPER 에 사전 정의 된 모델 매핑에 대한 일련의 규칙이 있으며, 기본 구성은 기본적으로 모든 Azure 모델의 매핑을 충족시킵니다. 규칙에는 다음이 포함됩니다.
gpt-3.5-turbo > gpt-35-turbogpt-3.5-turbo-0301 > gpt-35-turbo-0301사용자 정의 미세 조정 모델의 경우 모델 이름을 직접 전달할 수 있습니다. 배포 이름이 모델 이름과 다른 모델의 경우 다음과 같은 사용자 정의 매핑 관계를 정의 할 수 있습니다.
| 모델 이름 | 배포 이름 |
|---|---|
| GPT-3.5 터보 | GPT-35- 터보 업그레이드 |
| GPT-3.5-Turbo-0301 | GPT-35-TURBO-0301-FINE-TUNED |
MIT