Gemini-Openai-Proxy هو وكيل مصمم لتحويل بروتوكول Openai API إلى بروتوكول Google Gemini. يمكّن ذلك التطبيقات المصممة لتواصل API Openai من التواصل بسلاسة مع بروتوكول Gemini ، بما في ذلك دعم الانتهاء من الدردشة ، والتضمينات ، ونقاط النهايات النموذجية.
لبناء الجوزاء أوبيناي بوكسي ، اتبع هذه الخطوات:
go build -o gemini main.go
نوصي بنشر Gemini-Openai-Proxy باستخدام Docker لإعداد مباشر. اتبع الخطوات هذه للنشر مع Docker:
يمكنك إما القيام بذلك على سطر الأوامر:
docker run --restart=unless-stopped -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latest
أو مع تكوين Docker-Corms التالي:
version : ' 3 '
services :
gemini :
container_name : gemini
environment : # Set Environment Variables here. Defaults listed below
- GPT_4_VISION_PREVIEW=gemini-1.5-flash-latest
- DISABLE_MODEL_MAPPING=0
ports :
- " 8080:8080 "
image : zhu327/gemini-openai-proxy:latest
restart : unless-stopped
اضبط تعيين المنفذ (على سبيل المثال ، -p 8080:8080
) حسب الحاجة ، وتأكد من أن إصدار صورة Docker ( zhu327/gemini-openai-proxy:latest
) يتماشى مع متطلباتك.
يوفر Gemini-Openai-Proxy طريقة مباشرة لدمج وظائف Openai في أي تطبيق يدعم نقاط نهاية API Openai المخصصة. اتبع هذه الخطوات للاستفادة من قدرات هذا الوكيل:
قم بإعداد نقطة نهاية Openai: تأكد من تكوين التطبيق الخاص بك لاستخدام نقطة نهاية API Openai المخصصة. يعمل Gemini-Openai-Proxy بسلاسة مع أي نقطة نهاية متوافقة مع OpenAI.
احصل على مفتاح Google AI Studio API: قبل استخدام الوكيل ، ستحتاج إلى الحصول على مفتاح API من ai.google.dev. تعامل مع مفتاح API هذا على أنه مفتاح API Openai عند التفاعل مع الجوزاء Openai-Proxy.
دمج الوكيل في التطبيق الخاص بك: تعديل طلبات API الخاصة بالتطبيق لاستهداف Gemini-Openai-Proxy ، وتوفير مفتاح API Google AI Suductive الذي تم الحصول عليه كما لو كان مفتاح API Openai الخاص بك.
مثال على طلب API لإكمال الدردشة (على افتراض أن الوكيل يتم استضافته في http://localhost:8080
):
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} '
بدلاً من ذلك ، استخدم رؤية Gemini Pro:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-4-vision-preview",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "What’s in this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]}],
"temperature": 0.7
} '
إذا كنت ترغب في تعيين gpt-4-vision-preview
إلى gemini-1.5-pro-latest
، فيمكنك تكوين متغير البيئة GPT_4_VISION_PREVIEW = gemini-1.5-pro-latest
. وذلك لأن gemini-1.5-pro-latest
يدعم الآن بيانات متعددة الوسائط. خلاف ذلك ، يستخدم الافتراضي نموذج gemini-1.5-flash-latest
إذا كان لديك بالفعل الوصول إلى واجهة برمجة تطبيقات Gemini 1.5 Pro ، فيمكنك استخدام:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gpt-4-turbo-preview",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} '
مثال على طلب API التضمينات:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": "This is a test sentence."
} '
يمكنك أيضًا المرور في سلاسل إدخال متعددة كقائمة:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "text-embedding-ada-002",
"input": ["This is a test sentence.", "This is another test sentence"]
} '
رسم خرائط النموذج:
نموذج GPT | نموذج الجوزاء |
---|---|
GPT-3.5 توربو | Gemini-1.0-Pro-Latest |
GPT-4 | Gemini-1.5-flash-latest |
GPT-4-TURBO-PREVIEW | Gemini-1.5-Pro-Latest |
GPT-4-Vision-Preview | Gemini-1.0-Pro-Vision-Latest |
النصوص النصية -ADA-002 | embedding-004 |
إذا كنت ترغب في تعطيل تعيين النموذج ، فقم بتكوين متغير البيئة DISABLE_MODEL_MAPPING=1
. سيسمح لك ذلك بالإشارة إلى نماذج الجوزاء مباشرة.
فيما يلي طلب API مع تعطيل رسم خرائط النموذج:
curl http://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY "
-d ' {
"model": "gemini-1.0-pro-latest",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
} '
تعامل مع الاستجابات: معالجة الاستجابات من الجوزاء أوبني بوكسي بالطريقة نفسها التي ستتعامل بها مع الاستجابات من Openai.
الآن ، تم تجهيز تطبيقك للاستفادة من وظائف Openai من خلال Gemini-Openai-Proxy ، وسد الفجوة بين Openai والتطبيقات باستخدام بروتوكول Google Gemini Pro.
تم ترخيص Gemini-Openai-Proxy بموجب ترخيص MIT-راجع ملف الترخيص للحصول على التفاصيل.