ภาษาอังกฤษ | 中文
Azure Openai Proxy เป็นพร็อกซีสำหรับ Azure Openai API ที่สามารถแปลงคำขอ OpenAI เป็นคำขอ Azure OpenAI มันถูกออกแบบมาเพื่อใช้เป็นแบ็กเอนด์สำหรับโครงการเว็บโอเพ่นซอร์ส Chatgpt ต่างๆ นอกจากนี้ยังรองรับการใช้เป็นพร็อกซี OpenAI API อย่างง่ายเพื่อแก้ปัญหาของ OpenAI API ที่ถูก จำกัด ในบางภูมิภาค
ไฮไลท์:
ปัจจุบันบริการ Azure Openai รุ่นล่าสุดรองรับ 3 API ต่อไปนี้:
| เส้นทาง | สถานะ |
|---|---|
| /v1/แชท/เสร็จสิ้น | |
| /v1/เสร็จสิ้น | |
| /v1/embeddings |
API อื่น ๆ ที่ไม่ได้รับการสนับสนุนโดย Azure จะถูกส่งกลับในรูปแบบจำลอง (เช่นคำขอตัวเลือกที่ริเริ่มโดยเบราว์เซอร์) หากคุณพบว่าโครงการของคุณต้องการ API ที่รองรับ OpenAI เพิ่มเติมอย่าลังเลที่จะส่ง PR
/v1/models แก้ไขปัญหาของโครงการเว็บบางโครงการขึ้นอยู่กับข้อผิดพลาดของอินเทอร์เฟซ modelsoptions ที่รองรับแก้ไขปัญหาข้อผิดพลาดการตรวจสอบข้ามโดเมนของโครงการเว็บบางโครงการ ตัวแปรสภาพแวดล้อม
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
| 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-PREVIEW | 2023-03-15-PREVIEW |
| azure_openai_model_mapper | รายการโมเดลที่คั่นด้วยเครื่องหมายจุลภาค = คู่การปรับใช้ แผนที่ชื่อรุ่นไปยังชื่อการปรับใช้ ตัวอย่างเช่น 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!"}]
} 'เมื่อเข้าถึง Azure OpenAI API ผ่าน HTTP สามารถใช้เป็นพร็อกซีได้โดยตรง แต่เครื่องมือนี้ไม่มีการรองรับ HTTPS ในตัวดังนั้นคุณต้องมีพร็อกซี HTTPS เช่น NGINX เพื่อรองรับการเข้าถึง OpenAI API รุ่น 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!"}]
} 'หรือกำหนดค่าเป็นพร็อกซี HTTP ในโครงการ Open Source Web ChatGPT อื่น ๆ :
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-turbo | GPT-35-turbo-upgrade |
| GPT-3.5-turbo-0301 | GPT-35-turbo-0301-fine-tuned |
มิกซ์