Gunakan generateContent
atau streamGenerateContent
untuk membuat konten dengan
Gemini.
Kumpulan model Gemini mencakup model yang berfungsi dengan permintaan perintah multimodal. Istilah multimodal menunjukkan bahwa Anda dapat menggunakan lebih dari satu modalitas, atau jenis input, dalam perintah. Model yang tidak multimodal hanya menerima perintah dengan teks. Modalitas dapat mencakup teks, audio, video, dan lainnya.
Membuat akun Google Cloud untuk memulai
Untuk mulai menggunakan Vertex AI API untuk Gemini, buat akun Google Cloud.
Setelah membuat akun, gunakan dokumen ini untuk meninjau isi permintaan, parameter model, isi respons, dan beberapa contoh permintaan model Gemini.
Jika sudah siap, lihat panduan memulai Vertex AI API untuk Gemini untuk mempelajari cara mengirim permintaan ke Vertex AI Gemini API menggunakan SDK bahasa pemrograman atau REST API.
Model yang didukung
Model | Versi |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 gemini-1.5-flash-002 |
Gemini 1.5 Pro | gemini-1.5-pro-001 gemini-1.5-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-001 gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
Contoh sintaksis
Sintaksis untuk membuat respons model.
Non-streaming
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Streaming
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Daftar parameter
Lihat contoh untuk mengetahui detail penerapan.
Isi permintaan
{ "cachedContent": string, "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer } } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema, "seed": integer, "responseLogprobs": boolean, "logprobs": integer, "audioTimestamp": boolean }, "labels": { string: string } }
Isi permintaan berisi data dengan parameter berikut:
Parameter | |
---|---|
| Opsional:
Nama konten yang di-cache yang digunakan sebagai konteks untuk
menayangkan prediksi. Format:
|
|
Wajib: Konten percakapan saat ini dengan model. Untuk kueri satu giliran, ini adalah satu instance. Untuk kueri multi-giliran, ini adalah kolom berulang yang berisi histori percakapan dan permintaan terbaru. |
|
Opsional: Tersedia untuk Petunjuk untuk model agar mengarahkannya ke performa yang lebih baik. Misalnya, "Jawab seringkas mungkin" atau "Jangan gunakan istilah teknis dalam respons Anda". String Kolom |
|
Opsional. Potongan kode yang memungkinkan sistem berinteraksi dengan sistem eksternal untuk melakukan tindakan, atau serangkaian tindakan, di luar pengetahuan dan cakupan model. Lihat Panggilan fungsi. |
|
Opsional. Lihat Panggilan fungsi. |
|
Opsional: Setelan per permintaan untuk memblokir konten tidak aman. Diberlakukan pada |
|
Opsional: Setelan konfigurasi pembuatan. |
|
Opsional: Metadata yang dapat Anda tambahkan ke panggilan API dalam format key-value pair. |
contents
Jenis data terstruktur dasar yang berisi konten multibagian dari pesan.
Class ini terdiri dari dua properti utama: role
dan parts
. Properti role
menunjukkan individu yang memproduksi konten, sedangkan properti parts
berisi beberapa elemen, yang masing-masing mewakili segmen data dalam
pesan.
Parameter | |
---|---|
|
Opsional: Identitas entitas yang membuat pesan. Nilai-nilai berikut didukung:
Nilai Untuk percakapan non-multi-giliran, kolom ini dapat dikosongkan atau tidak ditetapkan. |
|
Daftar bagian yang diurutkan yang membentuk satu pesan. Bagian yang berbeda mungkin memiliki jenis MIME IANA yang berbeda. Untuk batas input, seperti jumlah maksimum token atau jumlah gambar, lihat spesifikasi model di halaman Model Google. Untuk menghitung jumlah token dalam permintaan Anda, lihat Mendapatkan jumlah token. |
parts
Jenis data yang berisi media yang merupakan bagian dari pesan Content
multibagian.
Parameter | |
---|---|
|
Opsional: Dialog teks atau cuplikan kode. |
|
Opsional: Data inline dalam byte mentah. Untuk |
|
Opsional: Data yang disimpan dalam file. |
|
Opsional: Ini berisi string yang mewakili kolom Lihat Panggilan fungsi. |
|
Opsional: Output hasil Lihat Panggilan fungsi. |
|
Opsional: Untuk input video, offset awal dan akhir video dalam format Durasi. Misalnya, untuk menentukan klip 10 detik yang dimulai pada 1:00, tetapkan Metadata hanya boleh ditentukan saat data video ditampilkan di |
blob
Blob konten. Jika memungkinkan, kirim sebagai teks, bukan byte mentah.
Parameter | |
---|---|
|
data atau fileUri . Nilai yang dapat diterima mencakup hal berikut:
Klik untuk meluaskan jenis MIME
Untuk Untuk Gemini 1.5 Pro dan Gemini 1.5 Flash, durasi maksimum file audio adalah 8,4 jam dan durasi maksimum file video (tanpa audio) adalah satu jam. Untuk informasi selengkapnya, lihat Persyaratan media Gemini 1.5 Pro. File teks harus berenkode UTF-8. Konten file teks dihitung dalam batas token. Tidak ada batasan resolusi gambar. |
|
Encoding base64 gambar, PDF, atau video
untuk disertakan secara inline dalam perintah. Saat menyertakan media secara inline, Anda juga harus menentukan jenis
media ( Batas ukuran: 20 MB |
FileData
Data URI atau URL web.
Parameter | |
---|---|
|
Jenis MIME IANA data. |
|
URI atau URL file yang akan disertakan dalam perintah. Nilai yang dapat diterima mencakup hal berikut:
Saat menentukan |
functionCall
functionCall
yang diprediksi ditampilkan dari model yang berisi string
yang mewakili functionDeclaration.name
dan objek JSON terstruktur
yang berisi parameter dan nilainya.
Parameter | |
---|---|
|
Nama fungsi yang akan dipanggil. |
|
Parameter dan nilai fungsi dalam format objek JSON. Lihat Panggilan fungsi untuk mengetahui detail parameter. |
functionResponse
Output yang dihasilkan dari FunctionCall
yang berisi string yang mewakili
FunctionDeclaration.name
. Juga berisi objek JSON terstruktur dengan output dari fungsi (dan menggunakannya sebagai konteks untuk model). File ini harus berisi
hasil FunctionCall
yang dibuat berdasarkan prediksi model.
Parameter | |
---|---|
|
Nama fungsi yang akan dipanggil. |
|
Respons fungsi dalam format objek JSON. |
videoMetadata
Metadata yang menjelaskan konten video input.
Parameter | |
---|---|
|
Opsional: Offset awal video. |
|
Opsional: Offset akhir video. |
safetySetting
Setelan keamanan.
Parameter | |
---|---|
|
Opsional:
Kategori keamanan yang akan dikonfigurasi batasnya. Nilai yang dapat diterima mencakup hal berikut:
Klik untuk meluaskan kategori keamanan
|
|
Opsional: Nilai minimum untuk memblokir respons yang mungkin termasuk dalam kategori keamanan yang ditentukan berdasarkan probabilitas.
|
|
Opsional: Tentukan apakah nilai minimum digunakan untuk skor probabilitas atau keparahan. Jika tidak ditentukan, nilai minimum akan digunakan untuk skor probabilitas. |
harmCategory
Kategori berbahaya yang memblokir konten.
Parameter | |
---|---|
|
Kategori bahaya tidak ditentukan. |
|
Kategori bahaya adalah ujaran kebencian. |
|
Kategori bahaya adalah konten berbahaya. |
|
Kategori bahayanya adalah pelecehan. |
|
Kategori bahaya adalah konten seksual vulgar. |
harmBlockThreshold
Tingkat nilai minimum probabilitas yang digunakan untuk memblokir respons.
Parameter | |
---|---|
|
Batas pemblokiran bahaya tidak ditentukan. |
|
Blokir nilai minimum rendah dan yang lebih tinggi (yaitu, blokir lebih banyak). |
|
Blokir nilai minimum sedang dan lebih tinggi. |
|
Block only high threshold (yaitu memblokir lebih sedikit). |
|
Tidak memblokir komponen apa pun. |
|
Menonaktifkan perlindungan jika semua kategori dinonaktifkan |
harmBlockMethod
Batas probabilitas yang memblokir respons berdasarkan kombinasi probabilitas dan keparahan.
Parameter | |
---|---|
|
Metode pemblokiran bahaya tidak ditentukan. |
|
Metode pemblokiran bahaya menggunakan skor probabilitas dan keparahan. |
|
Metode pemblokiran konten berbahaya menggunakan skor probabilitas. |
generationConfig
Setelan konfigurasi yang digunakan saat membuat perintah.
Parameter | |
---|---|
|
Opsional:
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons pengganti, coba tingkatkan suhunya.
Untuk mengetahui informasi selengkapnya, lihat Parameter pembuatan konten. |
|
Opsional: Jika ditentukan, sampling nukleus akan digunakan. Top-P mengubah cara model memilih token untuk output. Token dipilih dari yang paling mungkin (lihat top-K) hingga yang paling tidak mungkin sampai jumlah probabilitasnya sama dengan nilai top-P. Misalnya, jika token A, B, dan C memiliki probabilitas 0,3, 0,2, dan 0,1 dengan nilai top-P Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.
|
|
Opsional: Top-K mengubah cara model memilih token untuk output. Top-K Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sampelnya. Kemudian, token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan pengambilan sampel suhu. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Rentang: Hanya didukung oleh Default untuk |
|
Opsional: Jumlah variasi respons yang akan ditampilkan. Untuk setiap permintaan, Anda dikenai biaya untuk token output dari semua kandidat, tetapi hanya dikenai biaya satu kali untuk token input. Menentukan beberapa kandidat adalah fitur Pratinjau yang berfungsi dengan
|
|
Opsional: int Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar empat karakter. 100 token setara dengan sekitar 60-80 kata. Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang berpotensi lebih panjang. Untuk mengetahui informasi selengkapnya, lihat Parameter pembuatan konten. |
|
Opsional:
Menentukan daftar string yang memberi tahu model untuk berhenti menghasilkan teks jika salah satu
string ditemukan dalam respons. Jika string muncul beberapa kali dalam respons, respons akan dipotong di tempatnya pertama kali ditemukan.
String peka huruf besar/kecil.
Maksimum 5 item dalam daftar. Untuk mengetahui informasi selengkapnya, lihat Parameter pembuatan konten. |
|
Opsional: Penalti positif. Nilai positif akan menghukum token yang sudah muncul dalam teks yang dihasilkan, sehingga meningkatkan kemungkinan menghasilkan konten yang lebih beragam. Nilai maksimum untuk Didukung oleh |
|
Opsional: Nilai positif akan menghukum token yang berulang kali muncul dalam teks yang dihasilkan, sehingga mengurangi kemungkinan konten berulang. Nilai maksimum ini untuk Didukung oleh |
|
Opsional: Tersedia untuk model berikut:
Jenis MIME respons output dari teks kandidat yang dihasilkan. Jenis MIME berikut didukung:
Tentukan jenis respons yang sesuai untuk menghindari perilaku yang tidak diinginkan. Misalnya,
jika Anda memerlukan respons berformat JSON, tentukan
|
|
Opsional: schema Skema yang harus diikuti untuk menghasilkan teks kandidat. Untuk mengetahui informasi selengkapnya, lihat Mengontrol output yang dihasilkan. Anda harus menentukan parameter Tersedia untuk model berikut:
|
|
Opsional: Jika seed ditetapkan ke nilai tertentu, model akan berusaha sebaik mungkin untuk memberikan respons yang sama untuk permintaan berulang. Output deterministik tidak dijamin. Selain itu, mengubah setelan model atau parameter, seperti suhu, dapat menyebabkan variasi respons meskipun Anda menggunakan nilai seed yang sama. Secara default, nilai seed acak akan digunakan. Tersedia untuk model berikut:
Ini adalah fitur pratinjau. |
|
Opsional: Jika true, menampilkan log probabilitas token yang dipilih
oleh model pada setiap langkah. Secara default, parameter ini ditetapkan ke
Tersedia untuk model berikut:
Ini adalah fitur pratinjau. |
|
Opsional:
Menampilkan log probabilitas token kandidat teratas pada setiap langkah pembuatan. Token yang dipilih
model mungkin tidak sama dengan token kandidat teratas di setiap langkah. Tentukan jumlah kandidat yang akan ditampilkan menggunakan nilai bilangan bulat dalam rentang Anda harus mengaktifkan
Ini adalah fitur pratinjau. |
|
Opsional: Tersedia untuk model berikut:
Mengaktifkan pemahaman stempel waktu untuk file khusus audio. Ini adalah fitur pratinjau. |
Isi respons
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer }, "modelVersion": string }
Elemen respons | Deskripsi |
---|---|
modelVersion |
Model dan versi yang digunakan untuk pembuatan. Contoh:
gemini-1.5-flash-002 . |
text |
Teks yang dihasilkan. |
finishReason |
Alasan model berhenti menghasilkan token. Jika kosong, model
belum berhenti membuat token. Karena respons menggunakan perintah untuk konteks, Anda tidak dapat mengubah perilaku cara model berhenti membuat token.
|
category |
Kategori keamanan yang akan dikonfigurasi batasnya. Nilai yang dapat diterima mencakup hal berikut:
Klik untuk meluaskan kategori keamanan
|
probability |
Tingkat kemungkinan bahaya dalam konten.
|
blocked |
Flag boolean yang terkait dengan atribut keamanan yang menunjukkan apakah input atau output model diblokir. |
startIndex |
Bilangan bulat yang menentukan tempat kutipan dimulai dalam content .
|
endIndex |
Bilangan bulat yang menentukan tempat kutipan diakhiri dalam content .
|
url |
URL sumber kutipan. Contoh sumber URL dapat berupa situs berita atau repositori GitHub. |
title |
Judul sumber kutipan. Contoh judul sumber mungkin dari artikel berita atau buku. |
license |
Lisensi yang terkait dengan kutipan. |
publicationDate |
Tanggal penerbitan kutipan. Formatnya yang valid adalah
YYYY , YYYY-MM , dan YYYY-MM-DD .
|
avgLogprobs |
Probabilitas log rata-rata kandidat. |
logprobsResult |
Menampilkan token kandidat teratas (topCandidates ) dan
token yang sebenarnya dipilih (chosenCandidates ) di setiap langkah. |
token |
Model AI generatif membagi data teks menjadi token untuk diproses, yang dapat berupa karakter, kata, atau frasa. |
logProbability |
Nilai log probabilitas yang menunjukkan keyakinan model untuk token tertentu. |
promptTokenCount |
Jumlah token dalam permintaan. |
candidatesTokenCount |
Jumlah token dalam respons. |
totalTokenCount |
Jumlah token dalam permintaan dan respons. |
Contoh
Respons teks non-streaming
Buat respons model non-streaming dari input teks.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Anda.LOCATION
: Region untuk memproses permintaan.MODEL_ID
: ID model dari model yang ingin Anda gunakan (misalnya,gemini-1.5-flash-002
). Lihat daftar model yang didukung.TEXT
: Petunjuk teks yang akan disertakan dalam perintah.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Isi JSON permintaan:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_ID: Nama model yang akan digunakan.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Isi JSON permintaan:
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Respons multi-modal non-streaming
Buat respons model non-streaming dari input multi-modal, seperti teks dan gambar.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Anda.LOCATION
: Region untuk memproses permintaan.MODEL_ID
: ID model dari model yang ingin Anda gunakan (misalnya,gemini-1.5-flash-002
). Lihat daftar model yang didukung.TEXT
: Petunjuk teks yang akan disertakan dalam perintah.FILE_URI
: Cloud Storage URI ke file yang menyimpan data.MIME_TYPE
: Jenis MIME IANA data.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Isi JSON permintaan:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } } ] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_ID: Nama model yang akan digunakan.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Isi JSON permintaan:
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Streaming respons teks
Buat respons model streaming dari input teks.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Anda.LOCATION
: Region untuk memproses permintaan.MODEL_ID
: ID model dari model yang ingin Anda gunakan (misalnya,gemini-1.5-flash-002
). Lihat daftar model yang didukung.TEXT
: Petunjuk teks yang akan disertakan dalam perintah.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Isi JSON permintaan:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
REST (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_ID: Nama model yang akan digunakan.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Isi JSON permintaan:
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Streaming respons multi-modal
Buat respons model streaming dari input multi-modal, seperti teks dan gambar.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Anda.LOCATION
: Region untuk memproses permintaan.MODEL_ID
: ID model dari model yang ingin Anda gunakan (misalnya,gemini-1.5-flash-002
). Lihat daftar model yang didukung.TEXT
: Petunjuk teks yang akan disertakan dalam perintah.FILE_URI1
: Cloud Storage URI ke file yang menyimpan data.MIME_TYPE1
: Jenis MIME IANA data.FILE_URI2
: Cloud Storage URI ke file yang menyimpan data.MIME_TYPE2
: Jenis MIME IANA data.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Isi JSON permintaan:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE1" } }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE2" } } ] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
REST (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_ID: Nama model yang akan digunakan.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Isi JSON permintaan:
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Anda dapat memanggil Inference API menggunakan library OpenAI. Untuk mengetahui informasi selengkapnya, lihat Memanggil model Vertex AI menggunakan library OpenAI.
Versi model
Untuk menggunakan versi yang diupdate secara otomatis, tentukan nama model tanpa nomor versi di akhir, misalnya gemini-1.5-flash
, bukan gemini-1.5-flash-001
.
Untuk mengetahui informasi selengkapnya, lihat Versi dan siklus proses model Gemini.
Langkah selanjutnya
- Pelajari Gemini API lebih lanjut.
- Pelajari Pemanggilan fungsi lebih lanjut.
- Pelajari lebih lanjut cara Menyatukan respons untuk model Gemini.