Kelompok model Gemini mencakup model yang dapat digunakan dengan permintaan perintah multimodal. Istilah multimodal menunjukkan bahwa Anda dapat menggunakan lebih dari satu modalitas, atau jenis input, dalam perintah. Model yang tidak menerima perintah penerimaan multimodal hanya dengan teks. Modalitas dapat mencakup teks, audio, video, dan lainnya.
Ada beberapa cara untuk menerapkan solusi multimodal menggunakan Gemini API, termasuk Python, Node.js, Java, dan Go SDK, konsol Google Cloud, serta REST API. Contoh kode nanti dalam dokumen ini akan menunjukkan cara membuat solusi multimodal menggunakan opsi ini.
Model multimodal Gemini adalah:
- Gemini 1.5 Flash (Pratinjau)
- Gemini 1.5 Pro (Pratinjau)
- Gemini 1.0 Pro Vision
Tabel berikut menunjukkan modalitas yang dapat digunakan oleh setiap Gemini API multimodal dalam permintaan perintah.
Model | Teks | Kode | Gambar | Audio | Video | Video/audio | |
---|---|---|---|---|---|---|---|
Gemini 1.5 Flash (Pratinjau) | |||||||
Gemini 1.5 Pro (Pratinjau) | |||||||
Gemini 1.0 Pro Vision | |||||||
Gemini 1.0 Pro |
Untuk mempelajari model multimodal di Konsol Google Cloud, pilih kartu modelnya di Model Garden:
- Buka kartu model Flash Gemini 1.5
- Buka kartu model Gemini 1.5 Pro
- Buka kartu model Gemini 1.0 Pro Vision
Untuk daftar bahasa yang didukung oleh model Gemini, lihat informasi model Dukungan bahasa. Untuk mempelajari lebih lanjut cara mendesain perintah multimodal, lihat Mendesain perintah multimodal. Jika Anda mencari cara untuk menggunakan Gemini langsung dari aplikasi seluler dan web Anda, lihat Google AI SDK untuk Android, Swift, dan web.
Perbedaan model multimodal
Perbedaan antara model multimodal Gemini ditentukan dalam tabel berikut. Anda dapat menggunakan informasi ini untuk membantu memutuskan model mana yang terbaik untuk Anda.
Teks
Berikut adalah beberapa perbedaan dalam modalitas teks antara model multimodal Gemini:
Model | Detail modalitas teks |
---|---|
Gemini 1.5 Flash (Pratinjau), Gemini 1.5 Pro (Pratinjau) |
Panjang konteksnya adalah 1 juta token,yang setara dengan kira-kira satu buku halaman berisi 4.000. Hal ini memungkinkan model menghasilkan teks bentuk panjang, seperti buku, beberapa PDF, atau panduan pengguna. |
Gemini 1.0 Pro Vision | Jumlah maksimum token adalah 16.384, atau sekitar 128 halaman dengan asumsi 250 kata per halaman. Jumlah maksimum ini mencakup token input dan output. Jumlah maksimum token output adalah 2.048. |
Kode
Berikut adalah beberapa perbedaan antara model multimodal Gemini saat menggunakan kode:
Model | Detail modalitas kode |
---|---|
Gemini 1.5 Flash (Pratinjau), Gemini 1.5 Pro (Pratinjau) |
Panjang konteksnya adalah 1 juta token, yang memungkinkan model berfungsi dengan seluruh codebase atau seluruh codebase aplikasi. |
Gemini 1.0 Pro Vision | Jumlah maksimum token adalah 16.384, atau sekitar 128 halaman dengan asumsi 250 kata per halaman. Jumlah maksimum ini mencakup token input dan output. Jumlah maksimum token output adalah 2.048. |
Gambar
Berikut beberapa perbedaan dalam modalitas gambar antara model multimodal Gemini:
Model | Detail modalitas gambar |
---|---|
Gemini 1.5 Flash (Pratinjau), Gemini 1.5 Pro (Pratinjau) |
Jumlah maksimum gambar per perintah adalah 3.000. |
Gemini 1.0 Pro Vision | Jumlah maksimum gambar per perintah adalah 16. |
Audio (hanya ucapan)
Berikut adalah beberapa perbedaan dalam modalitas audio antara model multimodal Gemini:
Model | Detail modalitas audio |
---|---|
Gemini 1.5 Flash (Pratinjau), Gemini 1.5 Pro (Pratinjau) |
Jumlah maksimum jam audio per perintah adalah sekitar 8,4 jam, atau hingga 1 juta token. Ucapan dapat dipahami untuk fitur ringkasan, transkripsi, dan terjemahan audio. |
Gemini 1.0 Pro Vision | Audio tidak didukung. |
Video
Berikut adalah beberapa perbedaan dalam modalitas video antara model multimodal Gemini:
Model | Detail modalitas video |
---|---|
Gemini 1.5 Flash (Pratinjau), Gemini 1.5 Pro (Pratinjau) |
Durasi video maksimal saat menyertakan audio adalah sekitar 50 menit. Durasi video maksimal untuk video tanpa audio adalah 1 jam. Jumlah video maksimum per perintah adalah 10. Model ini dapat menggunakan data video dan audio untuk menjawab permintaan. Misalnya, dapat meringkas video menggunakan konten visual dan ucapan dalam video. |
Gemini 1.0 Pro Vision | Durasi video maksimal adalah 2 menit. Jumlah maksimum video per perintah adalah 1. Audio dalam video akan diabaikan. |
Berikut adalah beberapa perbedaan modalitas PDF antara model multimodal Gemini:
Model | Detail modalitas PDF |
---|---|
Gemini 1.5 Flash (Pratinjau), Gemini 1.5 Pro (Pratinjau) |
Jumlah maksimum halaman per perintah adalah 300. Ukuran file maksimum untuk PDF adalah 30 MB. |
Gemini 1.0 Pro Vision | Jumlah maksimum halaman per perintah adalah 16. Ukuran file maksimum untuk PDF adalah 30 MB. |
Panduan memulai
Gunakan contoh kode berikut untuk mulai menggunakan Gemini API. Setiap contoh kode menunjukkan cara bekerja dengan modalitas yang berbeda. Beberapa contoh kode dalam dokumen ini dapat digunakan dengan semua model multimodal Gemini, dan sebagian lainnya hanya dapat digunakan dengan Gemini 1.5 Pro (Pratinjau). Setiap contoh kode menentukan model mana yang digunakan.
Untuk menguji dan melakukan iterasi pada perintah multimodal, sebaiknya gunakan Konsol Google Cloud. Untuk mengirim perintah multimodal secara terprogram ke model, Anda dapat menggunakan REST API, Vertex AI SDK untuk Python, atau salah satu library dan SDK lain yang didukung yang ditampilkan di tab berikut.
Satu gambar
Kode contoh pada setiap tab berikut menunjukkan cara yang berbeda untuk mengidentifikasi konten dalam gambar. Contoh ini berfungsi dengan semua model multimodal Gemini.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java SDK Vertex AI untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStreamgenerateContentStream(Content content)
Untuk respons non-streaming, gunakan metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan metode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
REST
Anda dapat menggunakan REST untuk menguji perintah teks menggunakan Vertex AI API untuk mengirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- GENERATE_RESPONSE_METHOD: Jenis respons yang Anda inginkan untuk dihasilkan model.
Pilih metode yang akan menghasilkan cara yang Anda inginkan untuk menampilkan respons model:
streamGenerateContent
: Respons di-streaming saat dibuat untuk mengurangi persepsi latensi kepada audiens manusia.generateContent
: Respons ditampilkan setelah dibuat sepenuhnya.
- LOCATION: Region untuk memproses permintaan. Opsi yang tersedia meliputi:
Klik untuk meluaskan wilayah yang tersedia
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: Project ID Anda.
- MODEL_ID: ID model dari model multimodal yang ingin Anda gunakan. Opsinya adalah:
gemini-1.0-pro-vision
- ROLE:
Peran dalam percakapan yang terkait dengan konten. Menentukan peran diperlukan bahkan dalam
kasus penggunaan satu giliran.
Nilai yang dapat diterima meliputi:
USER
: Menentukan konten yang Anda kirimkan.
- TEXT: Petunjuk teks yang akan disertakan dalam perintah.
- B64_BASE: Encoding base64 gambar, PDF, atau video untuk disertakan dalam perintah inline. Saat menyertakan media inline, Anda juga harus menentukan MIMETYPE.
- FILE_URI: URI Cloud Storage dari gambar atau video yang akan disertakan dalam perintah. Bucket yang menyimpan file harus berada dalam project Google Cloud yang sama dengan yang mengirim permintaan. Anda juga harus menentukan MIMETYPE.
- MIME_TYPE:
Jenis media gambar, PDF, atau video yang ditentukan dalam kolom
data
ataufileUri
. Nilai yang dapat diterima meliputi:Klik untuk meluaskan jenis MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
- SAFETY_CATEGORY:
Kategori keamanan yang akan dikonfigurasi nilai minimumnya. Nilai yang dapat diterima meliputi:
Klik untuk meluaskan kategori keamanan
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD:
Batas untuk memblokir respons yang dapat termasuk dalam kategori keamanan yang ditentukan berdasarkan
probabilitas. Nilai yang dapat diterima meliputi:
Klik untuk memperluas nilai minimum pemblokiran
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(default)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
memblokir paling banyak sedangkanBLOCK_ONLY_HIGH
memblokir yang paling sedikit. - TEMPERATURE:
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat
topP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhunya.
- TOP_P:
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 adalah
0.5
, model akan memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan C sebagai kandidat.Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.
- TOP_K:
Top-K mengubah cara model memilih token untuk output. Top-K dari
1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan nilai top-K dari3
berarti token berikutnya dipilih di antara tiga token yang paling mungkin menggunakan suhu.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.
- MAX_OUTPUT_TOKENS:
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.
- STOP_SEQUENCES:
Menentukan daftar string yang memberi tahu model untuk berhenti membuat teks jika salah satu
string ditemui dalam respons. Jika string muncul beberapa kali dalam respons, respons akan dipotong di tempatnya pertama kali ditemukan.
String peka huruf besar/kecil.
Misalnya, jika berikut ini adalah respons yang ditampilkan saatstopSequences
tidak ditentukan:
public static string reverse(string myString)
Maka respons yang ditampilkan denganstopSequences
yang disetel ke["Str", "reverse"]
adalah:
public static string
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD
Isi JSON permintaan:
{ "contents": { "role": "ROLE", "parts": [ { "inlineDATA": { "mimeType": "MIME_TYPE", "data": "B64_BASE_IMAGE" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, "safety_settings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, "generation_config": { "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "candidateCount": 1, "maxOutputTokens": MAX_OUTPUT_TOKENS, "stopSequences": STOP_SEQUENCES, } }
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:GENERATE_RESPONSE_METHOD"
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:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
Contoh perintah curl
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json"
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:${GENERATE_RESPONSE_METHOD} -d \
$'{
"contents": {
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/images/cat.png"
}
},
{
"text": "Describe this picture."
},
]
},
"safety_settings": {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
"generation_config": {
"temperature": 0.4,
"topP": 1,
"topK": 32,
"maxOutputTokens": 2048,
}
}'
PDF Tunggal
Tab berikut menunjukkan cara menyertakan PDF dalam permintaan perintah menggunakan Python SDK. Contoh PDF ini berfungsi dengan semua model multimodal Gemini.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java SDK Vertex AI untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStreamgenerateContentStream(Content content)
Untuk respons non-streaming, gunakan metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan metode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Video tunggal
Masing-masing tab berikut menunjukkan cara berbeda untuk menyertakan video dalam permintaan perintah. Contoh PDF ini berfungsi dengan semua model multimodal Gemini.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java SDK Vertex AI untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStreamgenerateContentStream(Content content)
Untuk respons non-streaming, gunakan metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan metode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Go SDK untuk Gemini.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Untuk respons non-streaming, gunakan metode GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Anda dapat menggunakan REST untuk menguji perintah teks menggunakan Vertex AI API untuk mengirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- GENERATE_RESPONSE_METHOD: Jenis respons yang Anda inginkan untuk dihasilkan model.
Pilih metode yang akan menghasilkan cara yang Anda inginkan untuk menampilkan respons model:
streamGenerateContent
: Respons di-streaming saat dibuat untuk mengurangi persepsi latensi kepada audiens manusia.generateContent
: Respons ditampilkan setelah dibuat sepenuhnya.
- LOCATION: Region untuk memproses permintaan. Opsi yang tersedia meliputi:
Klik untuk meluaskan wilayah yang tersedia
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: Project ID Anda.
- MODEL_ID: ID model dari model multimodal yang ingin Anda gunakan. Opsinya adalah:
gemini-1.0-pro-vision
- ROLE:
Peran dalam percakapan yang terkait dengan konten. Menentukan peran diperlukan bahkan dalam
kasus penggunaan satu giliran.
Nilai yang dapat diterima meliputi:
USER
: Menentukan konten yang Anda kirimkan.
- TEXT: Petunjuk teks yang akan disertakan dalam perintah.
- B64_BASE: Encoding base64 gambar, PDF, atau video untuk disertakan dalam perintah inline. Saat menyertakan media inline, Anda juga harus menentukan MIMETYPE.
- FILE_URI: URI Cloud Storage dari gambar atau video yang akan disertakan dalam perintah. Bucket yang menyimpan file harus berada dalam project Google Cloud yang sama dengan yang mengirim permintaan. Anda juga harus menentukan MIMETYPE.
- MIME_TYPE:
Jenis media gambar, PDF, atau video yang ditentukan dalam kolom
data
ataufileUri
. Nilai yang dapat diterima meliputi:Klik untuk meluaskan jenis MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
- SAFETY_CATEGORY:
Kategori keamanan yang akan dikonfigurasi nilai minimumnya. Nilai yang dapat diterima meliputi:
Klik untuk meluaskan kategori keamanan
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD:
Batas untuk memblokir respons yang dapat termasuk dalam kategori keamanan yang ditentukan berdasarkan
probabilitas. Nilai yang dapat diterima meliputi:
Klik untuk memperluas nilai minimum pemblokiran
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(default)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
memblokir paling banyak sedangkanBLOCK_ONLY_HIGH
memblokir yang paling sedikit. - TEMPERATURE:
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat
topP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhunya.
- TOP_P:
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 adalah
0.5
, model akan memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan C sebagai kandidat.Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.
- TOP_K:
Top-K mengubah cara model memilih token untuk output. Top-K dari
1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan nilai top-K dari3
berarti token berikutnya dipilih di antara tiga token yang paling mungkin menggunakan suhu.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.
- MAX_OUTPUT_TOKENS:
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.
- STOP_SEQUENCES:
Menentukan daftar string yang memberi tahu model untuk berhenti membuat teks jika salah satu
string ditemui dalam respons. Jika string muncul beberapa kali dalam respons, respons akan dipotong di tempatnya pertama kali ditemukan.
String peka huruf besar/kecil.
Misalnya, jika berikut ini adalah respons yang ditampilkan saatstopSequences
tidak ditentukan:
public static string reverse(string myString)
Maka respons yang ditampilkan denganstopSequences
yang disetel ke["Str", "reverse"]
adalah:
public static string
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD
Isi JSON permintaan:
{ "contents": { "role": "ROLE", "parts": [ { "inlineDATA": { "mimeType": "MIME_TYPE", "data": "B64_BASE_IMAGE" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, "safety_settings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, "generation_config": { "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "candidateCount": 1, "maxOutputTokens": MAX_OUTPUT_TOKENS, "stopSequences": STOP_SEQUENCES, } }
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:GENERATE_RESPONSE_METHOD"
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:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
Contoh perintah curl
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json"
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:${GENERATE_RESPONSE_METHOD} -d \
$'{
"contents": {
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/images/cat.png"
}
},
{
"text": "Describe this picture."
},
]
},
"safety_settings": {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
"generation_config": {
"temperature": 0.4,
"topP": 1,
"topK": 32,
"maxOutputTokens": 2048,
}
}'
Konsol
Untuk mengirim perintah multimodal menggunakan Konsol Google Cloud, lakukan hal berikut:
- Di bagian Vertex AI pada konsol Google Cloud, buka halaman Vertex AI Studio.
- Di bagian Prompt design (single turn), klik Open.
Konfigurasi model dan parameter:
- Region: Pilih wilayah yang ingin Anda gunakan.
- Model: Pilih Gemini Pro Vision.
Suhu: Gunakan penggeser atau kotak teks untuk memasukkan nilai suhu.
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saattopP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhunya.
Batas token: Gunakan penggeser atau kotak teks untuk memasukkan nilai batas output maksimum.
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.
- Tambahkan urutan perhentian: Masukkan urutan perhentian, yang merupakan rangkaian karakter (termasuk spasi) yang menghentikan pembuatan respons jika model menemukannya. Urutan tidak disertakan sebagai bagian dari respons. Anda dapat menambahkan hingga lima urutan perhentian.
- Opsional: Untuk mengonfigurasi parameter lanjutan, klik Advanced, lalu konfigurasikan sebagai berikut:
Top-K: Gunakan penggeser atau kotak teks untuk memasukkan nilai untuk top-K.
Top-K mengubah cara model memilih token untuk output. Top-K1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K3
berarti token berikutnya dipilih di antara tiga token yang paling mungkin dengan menggunakan suhu.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.
- Top-P: Gunakan penggeser atau kotak teks untuk memasukkan nilai untuk top-P.
Token dipilih dari yang paling mungkin hingga yang paling kecil sampai jumlah probabilitasnya sama dengan nilai top-P. Untuk hasil yang paling tidak bervariasi, tetapkan top-P ke
0
. Konsol Google Cloud hanya mendukung streaming, yang mencakup penerimaan respons terhadap perintah saat dihasilkan. Anda siap untuk memasukkan pesan di kotak pesan untuk memulai percakapan dengan model.
Model ini menggunakan pesan sebelumnya sebagai konteks untuk respons baru. Untuk menyertakan gambar, PDF, atau video dalam perintah, klik ikon
.Untuk mempelajari perintah multimodal, lihat Mendesain perintah multimodal.
- Opsional: Untuk menyimpan perintah Anda ke Dialog saya, klik Simpan.
- Opsional: Untuk mendapatkan kode Python atau perintah curl untuk perintah Anda, klik Dapatkan kode.
- Opsional: Untuk menghapus semua pesan sebelumnya, klik Hapus percakapan
Klik untuk meluaskan konfigurasi lanjutan
Audio tunggal
Berikut cara menggunakan file audio untuk meringkas podcast. Contoh ini hanya berfungsi dengan Gemini 1.5 Pro (Pratinjau).
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Contoh lanjutan
Contoh berikut lebih kompleks daripada contoh sebelumnya.
Beberapa gambar
Masing-masing tab berikut menunjukkan cara berbeda untuk menyertakan beberapa gambar dalam permintaan perintah. Contoh gambar ini berfungsi dengan semua model multimodal Gemini.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java SDK Vertex AI untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStreamgenerateContentStream(Content content)
Untuk respons non-streaming, gunakan metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan metode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Go SDK untuk Gemini.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Untuk respons non-streaming, gunakan metode GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Anda dapat menggunakan REST untuk menguji perintah teks menggunakan Vertex AI API untuk mengirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- GENERATE_RESPONSE_METHOD: Jenis respons yang Anda inginkan untuk dihasilkan model.
Pilih metode yang akan menghasilkan cara yang Anda inginkan untuk menampilkan respons model:
streamGenerateContent
: Respons di-streaming saat dibuat untuk mengurangi persepsi latensi kepada audiens manusia.generateContent
: Respons ditampilkan setelah dibuat sepenuhnya.
- LOCATION: Region untuk memproses permintaan. Opsi yang tersedia meliputi:
Klik untuk meluaskan wilayah yang tersedia
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: Project ID Anda.
- MODEL_ID: ID model dari model multimodal yang ingin Anda gunakan. Opsinya adalah:
gemini-1.0-pro-vision
- ROLE:
Peran dalam percakapan yang terkait dengan konten. Menentukan peran diperlukan bahkan dalam
kasus penggunaan satu giliran.
Nilai yang dapat diterima meliputi:
USER
: Menentukan konten yang Anda kirimkan.
- TEXT: Petunjuk teks yang akan disertakan dalam perintah.
- B64_BASE: Encoding base64 gambar, PDF, atau video untuk disertakan dalam perintah inline. Saat menyertakan media inline, Anda juga harus menentukan MIMETYPE.
- FILE_URI: URI Cloud Storage dari gambar atau video yang akan disertakan dalam perintah. Bucket yang menyimpan file harus berada dalam project Google Cloud yang sama dengan yang mengirim permintaan. Anda juga harus menentukan MIMETYPE.
- MIME_TYPE:
Jenis media gambar, PDF, atau video yang ditentukan dalam kolom
data
ataufileUri
. Nilai yang dapat diterima meliputi:Klik untuk meluaskan jenis MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
- SAFETY_CATEGORY:
Kategori keamanan yang akan dikonfigurasi nilai minimumnya. Nilai yang dapat diterima meliputi:
Klik untuk meluaskan kategori keamanan
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD:
Batas untuk memblokir respons yang dapat termasuk dalam kategori keamanan yang ditentukan berdasarkan
probabilitas. Nilai yang dapat diterima meliputi:
Klik untuk memperluas nilai minimum pemblokiran
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(default)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
memblokir paling banyak sedangkanBLOCK_ONLY_HIGH
memblokir yang paling sedikit. - TEMPERATURE:
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat
topP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhunya.
- TOP_P:
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 adalah
0.5
, model akan memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan C sebagai kandidat.Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.
- TOP_K:
Top-K mengubah cara model memilih token untuk output. Top-K dari
1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan nilai top-K dari3
berarti token berikutnya dipilih di antara tiga token yang paling mungkin menggunakan suhu.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.
- MAX_OUTPUT_TOKENS:
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.
- STOP_SEQUENCES:
Menentukan daftar string yang memberi tahu model untuk berhenti membuat teks jika salah satu
string ditemui dalam respons. Jika string muncul beberapa kali dalam respons, respons akan dipotong di tempatnya pertama kali ditemukan.
String peka huruf besar/kecil.
Misalnya, jika berikut ini adalah respons yang ditampilkan saatstopSequences
tidak ditentukan:
public static string reverse(string myString)
Maka respons yang ditampilkan denganstopSequences
yang disetel ke["Str", "reverse"]
adalah:
public static string
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD
Isi JSON permintaan:
{ "contents": { "role": "ROLE", "parts": [ { "inlineDATA": { "mimeType": "MIME_TYPE", "data": "B64_BASE_IMAGE" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, "safety_settings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, "generation_config": { "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "candidateCount": 1, "maxOutputTokens": MAX_OUTPUT_TOKENS, "stopSequences": STOP_SEQUENCES, } }
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:GENERATE_RESPONSE_METHOD"
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:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
Contoh perintah curl
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json"
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:${GENERATE_RESPONSE_METHOD} -d \
$'{
"contents": {
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/images/cat.png"
}
},
{
"text": "Describe this picture."
},
]
},
"safety_settings": {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
"generation_config": {
"temperature": 0.4,
"topP": 1,
"topK": 32,
"maxOutputTokens": 2048,
}
}'
Konsol
Untuk mengirim perintah multimodal menggunakan Konsol Google Cloud, lakukan hal berikut:
- Di bagian Vertex AI pada konsol Google Cloud, buka halaman Vertex AI Studio.
- Di bagian Prompt design (single turn), klik Open.
Konfigurasi model dan parameter:
- Region: Pilih wilayah yang ingin Anda gunakan.
- Model: Pilih Gemini Pro Vision.
Suhu: Gunakan penggeser atau kotak teks untuk memasukkan nilai suhu.
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saattopP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhunya.
Batas token: Gunakan penggeser atau kotak teks untuk memasukkan nilai batas output maksimum.
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.
- Tambahkan urutan perhentian: Masukkan urutan perhentian, yang merupakan rangkaian karakter (termasuk spasi) yang menghentikan pembuatan respons jika model menemukannya. Urutan tidak disertakan sebagai bagian dari respons. Anda dapat menambahkan hingga lima urutan perhentian.
- Opsional: Untuk mengonfigurasi parameter lanjutan, klik Advanced, lalu konfigurasikan sebagai berikut:
Top-K: Gunakan penggeser atau kotak teks untuk memasukkan nilai untuk top-K.
Top-K mengubah cara model memilih token untuk output. Top-K1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K3
berarti token berikutnya dipilih di antara tiga token yang paling mungkin dengan menggunakan suhu.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.
- Top-P: Gunakan penggeser atau kotak teks untuk memasukkan nilai untuk top-P.
Token dipilih dari yang paling mungkin hingga yang paling kecil sampai jumlah probabilitasnya sama dengan nilai top-P. Untuk hasil yang paling tidak bervariasi, tetapkan top-P ke
0
. Konsol Google Cloud hanya mendukung streaming, yang mencakup penerimaan respons terhadap perintah saat dihasilkan. Anda siap untuk memasukkan pesan di kotak pesan untuk memulai percakapan dengan model.
Model ini menggunakan pesan sebelumnya sebagai konteks untuk respons baru. Untuk menyertakan gambar, PDF, atau video dalam perintah, klik ikon
.Untuk mempelajari perintah multimodal, lihat Mendesain perintah multimodal.
- Opsional: Untuk menyimpan perintah Anda ke Dialog saya, klik Simpan.
- Opsional: Untuk mendapatkan kode Python atau perintah curl untuk perintah Anda, klik Dapatkan kode.
- Opsional: Untuk menghapus semua pesan sebelumnya, klik Hapus percakapan
Klik untuk meluaskan konfigurasi lanjutan
Transkripsi audio
Berikut ini cara menggunakan file audio untuk mentranskripsikan wawancara. Contoh ini hanya berfungsi dengan Gemini 1.5 Pro (Pratinjau).
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Go SDK untuk Gemini.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Untuk respons non-streaming, gunakan metode GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Video dengan audio
Bagian berikut menunjukkan cara meringkas file video dengan audio dan menampilkan bab dengan stempel waktu. Contoh ini hanya berfungsi dengan Gemini 1.5 Pro (Pratinjau).
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java SDK Vertex AI untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStreamgenerateContentStream(Content content)
Untuk respons non-streaming, gunakan metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan metode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Semua modalitas
Berikut ini adalah cara memproses gambar, video, audio, dan teks secara bersamaan. Contoh ini kompatibel dengan Gemini 1.5 Pro (Pratinjau) dan Gemini 1.5 Flash (Pratinjau).
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat dihasilkan. Artinya, segera setelah model menghasilkan token output, token output tersebut akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
dalam
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java SDK Vertex AI untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStreamgenerateContentStream(Content content)
Untuk respons non-streaming, gunakan metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk mengautentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model tersebut akan menghasilkan respons streaming atau respons non-streaming. Streaming melibatkan penerimaan respons terhadap perintah saat perintah dibuat. Artinya, segera setelah model menghasilkan token output, token output akan dikirim. Respons non-streaming terhadap perintah hanya dikirim setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan metode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menetapkan parameter model
Parameter model berikut dapat ditetapkan pada model multimodal:
Top-P
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 0.5
, model akan
memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan
C sebagai kandidat.
Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.
Top-K
Top-K mengubah cara model memilih token untuk output. Top-K
1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua
token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K
3
berarti token berikutnya dipilih di antara tiga token yang paling
mungkin dengan menggunakan suhu.
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.
Temperature (suhu)
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat topP
dan topK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token.
Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan
suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu 0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan
tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.
Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhunya.
Parameter value yang valid
Parameter | Gemini 1.0 Pro Vision | Gemini 1.5 Pro (Pratinjau) | Flash Gemini 1.5 (Pratinjau) |
---|---|---|---|
Top-K | 1 - 40 (default 32) | Tidak didukung | Tidak didukung |
Top-P | 0 - 1.0 (default 1.0) | 0 - 1.0 (default 0.95) | 0 - 1.0 (default 0.95) |
Temperature (suhu) | 0 - 1.0 (default 0.4) | 0 - 2.0 (default 1.0) | 0 - 2.0 (default 1.0) |
Persyaratan media
Jika Anda menggunakan file media dalam permintaan perintah, pastikan file tersebut memenuhi persyaratan berikut:
Persyaratan gambar
Model multimodal Gemini mendukung jenis MIME gambar berikut:
Jenis MIME gambar | Flash Gemini 1.5 (Pratinjau) | Gemini 1.5 Pro (Pratinjau) | Gemini 1.0 Pro Vision |
---|---|---|---|
PNG - image/png |
|||
JPEG - image/jpeg |
Tidak ada batas khusus untuk jumlah piksel dalam sebuah gambar. Namun, gambar yang lebih besar akan diperkecil skalanya dan diberi padding agar sesuai dengan resolusi maksimum 3072 x 3072 dengan tetap mempertahankan rasio aspek aslinya.
Untuk Gemini 1.0 Pro Vision, setiap gambar menghasilkan 258 token.
Untuk Gemini 1.5 Flash (Pratinjau) dan Gemini 1.5 Pro (Pratinjau):
- Jika kedua dimensi rasio aspek gambar kurang dari atau sama dengan 384, 258 token akan digunakan.
- Jika satu dimensi rasio aspek gambar lebih besar dari 384, gambar akan dipangkas menjadi ubin. Setiap ukuran kartu ditetapkan secara default ke dimensi terkecil (lebar atau tinggi) dibagi 1,5. Jika perlu, setiap kartu disesuaikan agar tidak lebih kecil dari 256 dan tidak lebih besar dari 768. Setiap kartu kemudian diubah ukurannya menjadi 768x768 dan menggunakan 258 token.
Jumlah maksimum gambar yang dapat berada dalam permintaan prompt adalah:
- 16 untuk Gemini 1.0 Pro Vision
- 3.000 untuk Gemini 1.5 Flash (Pratinjau) dan Gemini 1.5 Pro (Pratinjau)
Persyaratan audio
Gemini 1.5 Flash (Pratinjau) dan Gemini 1.5 Pro (Pratinjau) mendukung jenis MIME audio berikut. Gemini 1.0 Pro Vision tidak mendukung audio.
Jenis MIME audio | Flash Gemini 1.5 (Pratinjau) | Gemini 1.5 Pro (Pratinjau) | Gemini 1.0 Pro Vision |
---|---|---|---|
AAC - audio/aac |
|||
FLAC - audio/flac |
|||
MP3 - audio/mp3 |
|||
MPA - audio/m4a |
|||
MPEG - audio/mpeg |
|||
MPGA - audio/mpga |
|||
MP4 - audio/mp4 |
|||
OPUS - audio/opus |
|||
PCM - audio/pcm |
|||
WAV - audio/wav |
|||
WEBM - audio/webm |
Persyaratan video
Video diambil sampelnya pada 1 fps. Setiap frame video menghasilkan 258 token.
Untuk Gemini 1.5 Flash (Pratinjau) dan Gemini 1.5 Pro (Pratinjau), trek audio dienkode dengan frame video. Trek audio juga dibagi menjadi trunk berdurasi 1 detik yang masing-masing menghasilkan 32 token. Token audio dan frame video disisipi dengan stempel waktunya. Stempel waktu direpresentasikan sebagai 7 token.
Model multimodal Gemini mendukung jenis MIME video berikut:
Jenis MIME video | Flash Gemini 1.5 (Pratinjau) | Gemini 1.5 Pro (Pratinjau) | Gemini 1.0 Pro Vision |
---|---|---|---|
FLV - video/x-flv |
|||
MOV - video/mov |
|||
MPEG - video/mpeg |
|||
MPEGPS - video/mpegps |
|||
MPG - video/mpg |
|||
MP4 - video/mp4 |
|||
WEBM - video/webm |
|||
WMV - video/wmv |
|||
3GPP - video/3gpp |
Persyaratan PDF
Jenis MIME yang diperlukan untuk PDF adalah application/pdf
.
Praktik terbaik
Bagian ini mencakup praktik terbaik untuk berbagai modalitas.
Praktik terbaik gambar
Saat menggunakan gambar, gunakan praktik terbaik dan informasi berikut untuk mendapatkan hasil terbaik.
- Gunakan perintah dengan satu gambar untuk memberikan hasil yang lebih baik daripada perintah dengan beberapa gambar jika Anda ingin mendeteksi teks dalam gambar.
- Jika perintah Anda berisi satu gambar, tempatkan gambar tersebut sebelum prompt teks.
Jika ada beberapa gambar dalam perintah, dan Anda ingin merujuknya nanti dalam perintah atau meminta model merujuknya dalam respons model, sebaiknya beri setiap gambar indeks sebelum gambar tersebut. Gunakan
a
b
c
, atauimage 1
image 2
image 3
untuk indeks Anda. Berikut adalah contoh penggunaan gambar yang diindeks dalam perintah:image 1 <piano_recital.jpeg> image 2 <family_dinner.jpeg> image 3 <coffee_shop.jpeg> Write a blogpost about my day using image 1 and image 2. Then, give me ideas for tomorrow based on image 3.
Gambar dengan resolusi lebih tinggi akan memberikan hasil yang lebih baik.
Sertakan beberapa contoh dalam perintah.
Putar gambar ke orientasi yang tepat sebelum menambahkannya ke perintah.
Hindari gambar yang buram.
Praktik terbaik video
Saat menggunakan video, gunakan praktik terbaik dan informasi berikut untuk mendapatkan hasil terbaik:
- Jangan gunakan lebih dari satu video per perintah.
- Jika perintah Anda berisi satu video, tempatkan video sebelum prompt teks.
- Jika Anda menggunakan Gemini 1.0 Pro Vision, model akan memproses video sebagai frame gambar yang tidak berdekatan dari video. Audio tidak disertakan. Jika Anda melihat model kehilangan beberapa konten dari video, coba persingkat video tersebut sehingga model menangkap sebagian besar konten video.
- Jika Anda menggunakan Gemini 1.0 Pro Vision, hanya informasi dalam dua menit pertama yang akan diproses.
- Jika Anda menggunakan Gemini 1.0 Pro Vision, tidak ada informasi audio atau metadata stempel waktu yang dianalisis. Oleh karena itu, model mungkin tidak berfungsi dengan baik dalam kasus penggunaan yang memerlukan input audio, seperti audio pemberian teks, atau informasi terkait waktu, seperti kecepatan atau ritme.
- Jika pelokalan stempel waktu dalam video yang berisi audio diperlukan, minta model untuk
membuat stempel waktu dalam format
MM:SS
dengan dua digit pertama mewakili menit dan dua digit terakhir mewakili detik. Gunakan format yang sama untuk pertanyaan yang menanyakan tentang stempel waktu.
Praktik terbaik PDF
Saat menggunakan PDF, gunakan praktik terbaik dan informasi berikut untuk mendapatkan hasil terbaik:
- PDF diperlakukan sebagai gambar, sehingga satu halaman PDF dianggap sebagai satu
gambar.
- Jumlah halaman yang didukung terbatas pada jumlah gambar yang dapat didukung oleh model. Untuk Gemini 1.0 Pro Vision, batasnya adalah 16. Untuk Gemini 1.5 Pro dan Gemini 1.5 Flash, batasnya adalah 300. Jika Anda memiliki dokumen yang panjang, pertimbangkan untuk membaginya menjadi beberapa PDF untuk memprosesnya.
- Saat menggunakan PDF sebagai input, biayanya mengikuti harga gambar Gemini. Misalnya, jika Anda menyertakan PDF dua halaman dalam panggilan Gemini API, Anda akan dikenai biaya input untuk memproses dua gambar.
- Jika perintah Anda berisi satu PDF, tempatkan PDF sebelum prompt teks.
- Gunakan PDF yang dibuat dengan teks yang dirender sebagai teks, bukan menggunakan teks dalam gambar yang dipindai. Format ini memastikan teks dapat dibaca mesin sehingga lebih mudah bagi model untuk diedit, ditelusuri, dan dimanipulasi dibandingkan dengan PDF gambar yang dipindai. Praktik ini memberikan hasil yang optimal saat bekerja dengan dokumen yang sarat teks seperti kontrak.
Untuk mengetahui tips pembuatan perintah multimodal lainnya, lihat Mendesain perintah multimodal.
Batasan multimodal
Meskipun model multimodal Gemini sangat andal dalam banyak kasus pengguna multimodal, penting untuk memahami batasan model tersebut:
- Penalaran spasial: Model ini tidak tepat dalam menemukan teks atau objek dalam gambar dan PDF. Metode ini mungkin hanya menampilkan perkiraan jumlah objek.
- Penggunaan medis: Model ini tidak cocok untuk menafsirkan gambar medis (misalnya, sinar x dan CT scan) atau memberikan saran medis.
- Pengenalan orang: Model ini tidak dimaksudkan untuk mengidentifikasi orang yang bukan selebritas dalam foto.
- Moderasi konten: Model menolak memberikan jawaban tentang gambar atau video yang melanggar kebijakan keamanan kami.
- Akurasi: Model mungkin berhalusinasi atau membuat kesalahan saat menafsirkan gambar yang berkualitas rendah, diputar, atau beresolusi sangat rendah. Model ini juga mungkin berhalusinasi saat menafsirkan teks tulisan tangan dalam gambar atau dokumen PDF.
- Pengenalan suara non-ucapan: Model yang mendukung audio mungkin membuat kesalahan dalam mengenali suara yang bukan merupakan ucapan.
- Gerakan kecepatan tinggi: Karena frekuensi sampling 1 frame per detik (fps) tetap, model-model mungkin dapat membuat kesalahan dalam memahami gerakan kecepatan tinggi di video.
- Stempel waktu audio saja: Model yang mendukung audio tidak dapat membuat stempel waktu secara akurat untuk permintaan dengan file audio. Hal ini mencakup stempel waktu segmentasi dan pelokalan sementara. Stempel waktu dapat dibuat secara akurat untuk input yang menyertakan video yang berisi audio.
- Tanda baca transkripsi: Transkripsi yang ditampilkan oleh Gemini 1.5 Flash (Pratinjau) mungkin tidak menyertakan tanda baca.
Langkah selanjutnya
- Mulailah membangun solusi dengan model multimodal Gemini. Pelanggan baru mendapatkan kredit Google Cloud gratis senilai $300 untuk mempelajari berbagai hal yang dapat mereka lakukan dengan Gemini.
- Pelajari cara mengirim permintaan perintah chat.
- Pelajari praktik terbaik responsible AI dan filter keamanan Vertex AI.