Model yang didukung
Tabel berikut mencantumkan model yang mendukung pemahaman dokumen:
Model | Detail modalitas PDF |
---|---|
Flash Gemini 1.5 Buka kartu model Flash Gemini 1.5 |
Halaman maksimum per perintah: 300 Ukuran file PDF maksimum: 30 MB |
Gemini 1.5 Pro Buka kartu model Gemini 1.5 Pro |
Halaman maksimum per perintah: 300 Ukuran file PDF maksimum: 30 MB |
Gemini 1.0 Pro Vision Buka kartu model Gemini 1.0 Pro Vision |
Jumlah halaman maksimum per perintah: 16 Ukuran file PDF maksimum: 30 MB |
Untuk daftar bahasa yang didukung oleh model Gemini, lihat informasi model model Google. 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 Vertex AI for Firebase SDK untuk aplikasi Android, Swift, web, dan Flutter.
Menambahkan dokumen ke permintaan
Anda dapat menambahkan satu PDF dalam permintaan Anda ke Gemini.
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 akan menghasilkan respons streaming atau respons non-streaming. Untuk respons bertahap, Anda akan menerima setiap respons segera setelah token outputnya dibuat. Untuk respons non-streaming, Anda menerima semua respons 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 akan menghasilkan respons streaming atau respons non-streaming. Untuk respons bertahap, Anda akan menerima setiap respons segera setelah token outputnya dibuat. Untuk respons non-streaming, Anda menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(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 akan menghasilkan respons streaming atau respons non-streaming. Untuk respons bertahap, Anda akan menerima setiap respons segera setelah token outputnya dibuat. Untuk respons non-streaming, Anda menerima semua respons 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 akan menghasilkan respons streaming atau respons non-streaming. Untuk respons bertahap, Anda akan menerima setiap respons segera setelah token outputnya dibuat. Untuk respons non-streaming, Anda menerima semua respons 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. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi C# Vertex AI.
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 akan menghasilkan respons streaming atau respons non-streaming. Untuk respons bertahap, Anda akan menerima setiap respons segera setelah token outputnya dibuat. Untuk respons non-streaming, Anda menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Untuk respons non-streaming, gunakan metode
GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Untuk mengetahui informasi selengkapnya tentang cara server dapat melakukan streaming respons, lihat RPC Streaming.
Kode contoh
REST
Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirim permintaan ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
LOCATION
: Region untuk memproses permintaan. Masukkan wilayah yang didukung. Untuk mengetahui daftar lengkap wilayah yang didukung, lihat Lokasi yang tersedia.Klik untuk meluaskan daftar sebagian wilayah yang tersedia
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: Project ID Anda.FILE_URI
: URI Cloud Storage file yang akan disertakan dalam perintah. Objek bucket harus dapat dibaca secara publik atau berada dalam project Google Cloud yang sama dengan yang mengirim permintaan. Anda juga harus menentukan jenis media (mimeType
) file tersebut.Jika tidak memiliki file PDF di Cloud Storage, Anda dapat menggunakan file yang tersedia untuk publik berikut ini:
gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf
dengan jenis mimeapplication/pdf
. Untuk melihat PDF ini, buka contoh file PDF.MIME_TYPE
: Jenis media file yang ditentukan dalam kolomdata
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
TEXT
: Petunjuk teks yang akan disertakan dalam perintah. Misalnya,You are a very professional document summarization specialist. Please summarize the given document.
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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/gemini-1.5-flash:generateContent"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Perhatikan hal-hal berikut dalam URL untuk contoh ini:- Gunakan metode
generateContent
untuk meminta agar respons ditampilkan setelah dibuat sepenuhnya. Untuk mengurangi persepsi latensi kepada audiens manusia, streaming respons saat dibuat menggunakan metodestreamGenerateContent
. - ID model multimodal terletak di akhir URL sebelum metode (misalnya
gemini-1.5-flash
ataugemini-1.0-pro-vision
). Contoh ini juga dapat mendukung model lainnya.
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.
Opsional: Konfigurasi model dan parameter:
- Model: Pilih model.
- Region: Pilih wilayah yang ingin Anda gunakan.
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 output: 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: Opsional. Masukkan urutan perhentian, yang merupakan serangkaian karakter yang menyertakan spasi. Jika model menemukan urutan perhentian, pembuatan respons akan berhenti. Urutan perhentian tidak disertakan dalam respons, dan 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. (tidak didukung untuk Gemini 1.5).
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
. - Aktifkan Grounding: Grounding tidak didukung untuk perintah multimodal.
- Untuk mengupload media, seperti file PDF, lakukan langkah berikut:
- Klik Sisipkan Media, lalu pilih sumber.
Jika memilih Google Drive sebagai sumber, Anda harus memilih akun dan memberikan izin kepada Vertex AI Studio untuk mengakses akun Anda saat pertama kali memilih opsi ini. Anda dapat mengupload beberapa file media yang memiliki ukuran total hingga 10 MB. Satu file tidak boleh melebihi 7 MB.
- Klik file yang ingin ditambahkan.
- Klik Select.
Thumbnail file akan ditampilkan di panel Prompt. Jumlah total token juga akan ditampilkan. Jika data perintah Anda melebihi batas token, token akan dipotong dan tidak disertakan dalam pemrosesan data Anda.
- Opsional: Untuk menampilkan jumlah token yang dihitung di file dokumen dan jumlah semua token, klik Lihat token.
Tampilan ID Token ke teks dan ID Token tidak menampilkan output yang berharga, karena token media tidak didukung.
Untuk menutup panel alat tokenizer, klik X, atau klik di luar panel.
- Masukkan perintah teks Anda di panel Prompt. Model ini menggunakan pesan sebelumnya sebagai konteks untuk respons baru.
- Opsional: Untuk menampilkan jumlah token yang dihitung di dokumen Anda, jumlah token teks, dan jumlah semua token, klik Lihat token. Anda dapat melihat token atau ID token dari perintah teks Anda.
- Untuk melihat token dalam perintah teks yang ditandai dengan warna berbeda yang menandai batas setiap ID token, klik Token ID to text. Token media tidak didukung.
- Untuk melihat ID token, klik ID Token.
Untuk menutup panel alat tokenizer, klik X, atau klik di luar panel.
- Klik Submit.
- 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
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 | Flash Gemini 1.5 |
---|---|---|---|
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 dokumen
Jenis MIME yang diperlukan untuk PDF adalah application/pdf
.
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.
Batasan
Meskipun model multimodal Gemini sangat canggih dalam banyak kasus penggunaan multimodal, penting untuk memahami batasan model tersebut:
- Penalaran spasial: Model ini tidak tepat dalam menemukan teks atau objek di PDF. Metode ini mungkin hanya menampilkan perkiraan jumlah objek.
- Akurasi: Model mungkin berhalusinasi saat menafsirkan teks tulisan tangan dalam dokumen PDF.
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.