الإنجليزية | 中文
Azure Openai Proxy هو وكيل لـ Azure Openai API يمكنه تحويل طلب Openai إلى طلب Azure Openai. إنه مصمم لاستخدامه كوجود خلفي لمشروع ويب Open Source ChatGpt. كما أنه يدعم استخدامه كوكيل Openai API بسيط لحل مشكلة Openai API التي يتم تقييدها في بعض المناطق.
أبرز:
يدعم أحدث إصدار من خدمة Azure Openai حاليًا واجهات برمجة التطبيقات الثلاثة التالية:
| طريق | حالة |
|---|---|
| /V1/الدردشة/الإكمال | ✅ |
| /v1/الانتهاء | ✅ |
| /V1/تضمينات | ✅ |
سيتم إرجاع واجهات برمجة التطبيقات الأخرى التي لا تدعمها Azure بتنسيق وهمية (مثل طلبات الخيارات التي بدأتها المتصفحات). إذا وجدت أن مشروعك يحتاج إلى واجهات برمجة تطبيقات إضافية مدعومة ، فلا تتردد في تقديم العلاقات العامة.
/v1/models ، إصلاح مشكلة بعض مشاريع الويب اعتمادًا على خطأ واجهة models .options المدعومة ، قم بإصلاح مشكلة خطأ فحص المجال المتقاطع لبعض مشاريع الويب. متغيرات البيئة
| حدود | وصف | القيمة الافتراضية |
|---|---|---|
| azure_openai_proxy_address | عنوان الاستماع الخدمة | 0.0.0.0:8080 |
| azure_openai_proxy_mode | وضع الوكيل ، يمكن أن يكون إما "Azure" أو "Openai". | أزور |
| azure_openai_endpoint | Azure Openai Endpoint ، عادةً ما يشبه 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 Token. إذا تم تعيين متغير البيئة هذا ، فسيتم تجاهل الرمز المميز في رأس الطلب. | "" " |
استخدم في سطر الأوامر
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 لدعم الوصول إلى إصدار HTTPS من Openai API.
على افتراض أن مجال الوكيل الذي قمت بتكوينه هو 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 في مشاريع 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 توربو | GPT-35-TURBO الترقية |
| GPT-3.5-TURBO-0301 | GPT-35-TURBO-0301--Fine Tuned |
معهد ماساتشوستس للتكنولوجيا