Gemini ChatCompletion API memungkinkan Anda mengirim permintaan ke Vertex AI Gemini API dengan menggunakan library OpenAI untuk Python dan REST. Jika sudah menggunakan library OpenAI, Anda bisa menggunakan API ini untuk beralih antara memanggil model OpenAI dan Model Gemini dapat membandingkan output, biaya, dan skalabilitas, tanpa mengubah kode yang sudah ada. Jika Anda belum menggunakan library OpenAI, sebaiknya Anda memanggil Gemini API secara langsung.
Model yang didukung
Model | Versi |
---|---|
Flash Gemini 1.5 | google/gemini-1.5-flash-001 |
Gemini 1.5 Pro | google/gemini-1.5-pro-001 |
Gemini 1.0 Pro Vision | google/gemini-1.0-pro-vision google/gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | google/gemini-1.0-pro-002 google/gemini-1.0-pro-001 google/gemini-1.0-pro |
Autentikasikan
Untuk menggunakan library Python OpenAI, instal OpenAI SDK:
pip install openai
Untuk melakukan autentikasi dengan Gemini Chat Completion API, Anda dapat memodifikasi konfigurasi klien atau mengubah lingkungan Anda konfigurasi AI Google untuk menggunakan autentikasi Google endpoint. Pilih salah satu dari opsi berikut, mana yang lebih mudah:
Penyiapan klien
Untuk mendapatkan kredensial Google secara terprogram di Python, Anda bisa menggunakan
SDK Python google-auth
:
pip install google-auth
pip install requests
Mengubah OpenAI SDK agar mengarah ke chat Vertex AI titik akhir penyelesaian:
# Programmatically get an access token
creds, project = google.auth.default()
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)
# Note: the credential lives for 1 hour by default (https://cloud.google.com/docs/authentication/token-types#at-lifetime); after expiration, it must be refreshed.
# Pass the Vertex endpoint and authentication to the OpenAI SDK
PROJECT = 'PROJECT_ID'
LOCATION = 'LOCATION'
MODEL_ID = 'MODEL_ID'
client = openai.OpenAI(
base_url = f'https://{LOCATION}-aiplatform.googleapis.com/v1beta1/projects/{PROJECT}/locations/{LOCATION}/endpoints/openapi',
api_key = creds.token)
Secara {i>default<i}, token akses berlaku selama 1 jam. Anda dapat
memperpanjang masa pakai token akses
atau perbarui token secara berkala dan perbarui variabel openai.api_key
.
Variabel lingkungan
Menginstal Google Cloud CLI. Library OpenAI dapat
membaca lingkungan OPENAI_API_KEY
dan OPENAI_BASE_URL
variabel untuk mengubah autentikasi dan endpoint di klien default mereka.
Tetapkan variabel berikut:
$ export PROJECT=PROJECT_ID
$ export LOCATION=LOCATION
$ export MODEL_ID=MODEL_ID
$ export OPENAI_API_KEY="$(gcloud auth application-default print-access-token)"
$ export OPENAI_BASE_URL="https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT}/locations/${LOCATION}/endpoints/openapi"
Berikutnya, inisialisasi klien:
client = openai.OpenAI()
Gemini Chat Completion API menggunakan OAuth untuk mengautentikasi
dengan
token akses jangka pendek.
Secara {i>default<i}, token akses berlaku selama 1 jam. Anda dapat
memperpanjang masa pakai token akses
atau secara berkala memperbarui token Anda dan memperbarui OPENAI_API_KEY
variabel lingkungan.
Memanggil Gemini Chat Completion API
Input teks
Contoh berikut menunjukkan cara mengirim permintaan non-streaming:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi/chat/completions \ -d '{ "model": "google/${MODEL_ID}", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk informasi selengkapnya, lihat Dokumentasi referensi Python API.
Contoh berikut menunjukkan cara mengirim permintaan streaming:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi/chat/completions \ -d '{ "model": "google/${MODEL_ID}", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk informasi selengkapnya, lihat Dokumentasi referensi Python API.
Parameter yang didukung
Gemini Chat Completion API mendukung OpenAI berikut parameter. Untuk penjelasan setiap parameter, lihat dokumentasi OpenAI tentang Membuat penyelesaian chat.
messages |
|
model |
|
max_tokens |
|
n |
|
response_format |
|
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
function_call |
Kolom ini tidak digunakan lagi, tetapi didukung untuk versi mundur kompatibilitas mundur. |
functions |
Kolom ini tidak digunakan lagi, tetapi didukung untuk versi mundur kompatibilitas mundur. |
Jika Anda meneruskan parameter yang tidak didukung, parameter tersebut akan diabaikan.
Langkah selanjutnya
- Lihat contoh cara memanggil Inference API dengan sintaksis yang kompatibel dengan OpenAI.
- Lihat contoh cara memanggil Function Calling API dengan sintaksis yang kompatibel dengan OpenAI.
- Pelajari Gemini API lebih lanjut.
- Pelajari lebih lanjut cara bermigrasi dari Azure OpenAI ke Gemini API.