Gemini-Openai-Proxy adalah proxy yang dirancang untuk mengonversi protokol API OpenAI menjadi protokol Google Gemini. Ini memungkinkan aplikasi yang dibangun untuk OpenAI API untuk berkomunikasi dengan mulus dengan protokol Gemini, termasuk dukungan untuk penyelesaian obrolan, embeddings, dan titik akhir model.
Untuk membangun Proxy Gemini-Openai, ikuti langkah-langkah ini:
go build -o gemini main.goKami merekomendasikan untuk menggunakan Gemini-Openai-Proxy menggunakan Docker untuk pengaturan langsung. Ikuti langkah -langkah ini untuk digunakan dengan Docker:
Anda dapat melakukan ini pada baris perintah:
docker run --restart=unless-stopped -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latestAtau dengan konfigurasi komposisi Docker berikut:
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 Sesuaikan pemetaan port (misalnya, -p 8080:8080 ) sesuai kebutuhan, dan pastikan bahwa versi gambar Docker ( zhu327/gemini-openai-proxy:latest ) selaras dengan kebutuhan Anda.
Gemini-Openai-Proxy menawarkan cara langsung untuk mengintegrasikan fungsionalitas openai ke dalam aplikasi apa pun yang mendukung titik akhir API OpenAI khusus. Ikuti langkah -langkah ini untuk memanfaatkan kemampuan proxy ini:
Siapkan Titik Akhir OpenAI: Pastikan aplikasi Anda dikonfigurasi untuk menggunakan titik akhir API OpenAI khusus. Proxy Gemini-Openai dengan mulus bekerja dengan titik akhir yang kompatibel dengan openai.
Dapatkan Kunci API Google AI Studio: Sebelum menggunakan proxy, Anda harus mendapatkan kunci API dari ai.google.dev. Perlakukan kunci API ini sebagai kunci API openai Anda saat berinteraksi dengan Gemini-Openai-Proxy.
Integrasi proxy ke dalam aplikasi Anda: Ubah permintaan API aplikasi Anda untuk menargetkan proxy Gemini-Openai, menyediakan kunci API Google AI yang diperoleh seolah-olah itu adalah kunci API OpenAI Anda.
Contoh permintaan API penyelesaian obrolan (dengan asumsi proxy di -host di 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
} 'Atau, gunakan Gemini Pro Vision:
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
} ' Jika Anda ingin memetakan gpt-4-vision-preview ke gemini-1.5-pro-latest , Anda dapat mengonfigurasi variabel lingkungan GPT_4_VISION_PREVIEW = gemini-1.5-pro-latest . Ini karena gemini-1.5-pro-latest sekarang juga mendukung data multi-modal. Kalau tidak, default menggunakan model gemini-1.5-flash-latest
Jika Anda sudah memiliki akses ke Gemini 1.5 Pro API, Anda dapat menggunakan:
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
} 'Contoh Permintaan API Embeddings:
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."
} 'Anda juga dapat melewati beberapa string input sebagai daftar:
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"]
} 'Pemetaan Model:
| Model GPT | Model Gemini |
|---|---|
| GPT-3.5-turbo | 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 |
| Text-Embedding-DAGA-002 | Text-Embedding-004 |
Jika Anda ingin menonaktifkan pemetaan model, konfigurasikan variabel lingkungan DISABLE_MODEL_MAPPING=1 . Ini akan memungkinkan Anda untuk merujuk ke model Gemini secara langsung.
Berikut adalah contoh permintaan API dengan pemetaan model dinonaktifkan:
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
} 'Tangani tanggapan: Proses tanggapan dari proksi Gemini-Openai dengan cara yang sama seperti Anda akan menangani respons dari Openai.
Sekarang, aplikasi Anda dilengkapi untuk memanfaatkan fungsionalitas OpenAI melalui Gemini-Openai-Proxy, menjembatani kesenjangan antara openai dan aplikasi menggunakan protokol Google Gemini Pro.
Gemini-Openai-Proxy dilisensikan di bawah lisensi MIT-lihat file lisensi untuk detailnya.