Gemini API memungkinkan Anda mengirim perintah multimodal ke model Gemini. Modalitas yang didukung meliputi teks, gambar, dan video.
Untuk mengetahui panduan umum dalam mendesain prompt, lihat Prompt design strategies.
Model yang didukung
Model berikut mendukung respons prompt multimodal.
gemini-pro-vision
gemini-1.5-pro
Anda dapat meningkatkan kualitas prompt multimodal dengan mengikuti praktik terbaik berikut:
Dasar-dasar prompt design
- Jelaskan secara spesifik dalam instruksi Anda: Buat petunjuk yang jelas dan ringkas yang menyisakan sedikit ruang untuk salah penafsiran.
- Tambahkan beberapa contoh ke perintah Anda: Gunakan contoh few-shot yang realistis untuk mengilustrasikan hal yang ingin Anda capai.
- Kelompokkan tugas demi langkah: Bagi tugas yang kompleks menjadi beberapa sub-sasaran yang mudah dikelola, yang memandu model melalui prosesnya.
- Menentukan format output: Pada perintah, minta output dalam format yang Anda inginkan, seperti markdown, JSON, HTML, dan lainnya.
- Tempatkan gambar Anda terlebih dahulu untuk perintah gambar tunggal: Meskipun Gemini dapat menangani input gambar dan teks dalam urutan apa pun, untuk perintah yang berisi satu gambar, performa aplikasi mungkin akan lebih baik jika gambar tersebut (atau video) ditempatkan sebelum perintah teks. Namun, untuk perintah yang memerlukan gambar harus disisipkan dengan teks agar masuk akal, gunakan urutan apa pun yang paling alami.
Memecahkan masalah prompt multimodal
- Jika model tidak mengambil informasi dari bagian gambar yang relevan: Berikan petunjuk terkait aspek gambar yang informasinya ingin Anda gambar.
- Jika output model terlalu umum (tidak cukup disesuaikan dengan input gambar/video): Di awal perintah, coba minta model untuk menjelaskan gambar atau video sebelum memberikan petunjuk tugas, atau coba minta model untuk merujuk ke konten dalam gambar.
- Untuk memecahkan masalah bagian mana yang gagal: Minta model untuk mendeskripsikan gambar, atau minta model untuk menjelaskan alasannya, guna mengukur pemahaman awal model.
- Jika perintah Anda menghasilkan konten yang berhalusinasi: Coba turunkan setelan suhu atau minta model untuk memberikan deskripsi yang lebih singkat agar ia cenderung tidak memberikan detail tambahan.
- Menyesuaikan parameter pengambilan sampel: Bereksperimenlah dengan berbagai setelan suhu dan pilihan top-k untuk menyesuaikan kreativitas model.
Dasar-dasar Prompt Design
Bagian ini memperluas praktik terbaik yang tercantum di bagian sebelumnya.
Catatan: Hasil model dari contoh Gemini berikut dapat bervariasi antara satu per satu dengan yang lain.
Berikan petunjuk yang spesifik
{i>Prompt<i} (Petunjuk) paling berhasil jika jelas dan terperinci. Jika Anda memiliki output tertentu, sebaiknya sertakan persyaratan tersebut dalam perintah untuk memastikan Anda mendapatkan output yang diinginkan.
Terkadang, maksud perintah mungkin tampak jelas bagi penulisnya, tetapi sebenarnya kurang ditentukan. Untuk menyesuaikan perilaku model, pertimbangkan bagaimana perintah Anda dapat (salah) ditafsirkan, dan pastikan petunjuk yang Anda berikan spesifik dan jelas. Ingatlah untuk menyisakan sedikit ruang untuk salah penafsiran
Untuk gambar papan bandara, meminta model untuk hanya "menjelaskan gambar ini" dapat menghasilkan deskripsi umum. Jika menginginkan model mengurai waktu dan kota dari gambar, Anda dapat menyertakan permintaan tersebut langsung dalam prompt.
Prompt | Respons model |
---|---|
Jelaskan gambar ini. |
Gambar menampilkan papan kedatangan dan keberangkatan bandara. |
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Uraikan waktu dan kota dari dewan bandara yang ditampilkan pada gambar ini ke dalam daftar. |
Tambahkan beberapa contoh
Model Gemini dapat menerima beberapa input yang dapat digunakan sebagai contoh untuk memahami output yang Anda inginkan. Menambahkan contoh-contoh ini dapat membantu model mengidentifikasi pola dan menerapkan hubungan antara gambar dan respons yang diberikan ke contoh baru. Hal ini juga disebut pemelajaran "few-shot".
Pada contoh di bawah, output awal ditulis dalam bentuk kalimat, dan juga berisi negara (Brasil). Misalnya, Anda menginginkan output dalam format atau gaya yang berbeda, dan Anda hanya menginginkan kota, bukan negara. Menambahkan contoh few-shot ke perintah Anda dapat mengarahkan model agar merespons sesuai keinginan Anda.
Perintah | Respons model |
---|---|
Tentukan kota beserta tempat terkenal. |
Bangunan terkenalnya adalah patung Kristus Penebus di Rio de Janeiro, Brasil. |
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Tentukan kota beserta tempat terkenal. kota: Roma, tempat terkenal: Colosseum. kota: Beijing, tempat terkenal: Kota Terlarang |
kota: Rio de Janeiro, tempat terkenal: patung Kristus Penebus |
Uraikan langkah demi langkah
Untuk tugas kompleks seperti yang memerlukan pemahaman dan penalaran visual, sebaiknya bagi tugas tersebut menjadi langkah-langkah yang lebih kecil dan mudah. Cara lainnya, bisa juga efektif jika Anda langsung meminta model untuk "berpikir langkah demi langkah" dalam perintah Anda.
Prompt | Respons model |
---|---|
Kapan saya akan kehabisan tisu toilet? |
Tak lama lagi, Anda hanya punya 3 lemparan lagi. |
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
|
|
Soal matematika atau jenis soal cerita lainnya adalah kandidat yang bagus untuk meminta model berpikir langkah demi langkah.
Perintah | Tanggapan |
---|---|
Berapa suku ke-4 dalam barisan tersebut? |
-135 |
Respons dari model salah. Beberapa cara untuk meningkatkan kualitas ini adalah dengan meminta model mengurai masalah sebelum menjawab perintah.
Perintah | Tanggapan |
---|---|
Uraikan formula pada gambar terlebih dahulu. Kemudian berdasarkan rumus tersebut, jawablah "berapa suku ke-4 dalam urutan tersebut?". |
Klik untuk memperluas hasil$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
$$ b(4) = b(4-1) * (-3) $$ $$ b(4) = b(3) * (-3) $$ $$ b(3) = b(3-1) * (-3) $$ $$ b(3) = b(2) * (-3) $$ $$ b(2) = b(2-1) * (-3) $$ $$ b(2) = b(1) * (-3) $$ $$ b(2) = 15 * (-3) $$ $$ b(2) = -45 $$ $$ b(3) = b(2) * (-3) $$ $$ b(3) = -45 * (-3) $$ $$ b(3) = 135 $$ $$ b(4) = b(3) * (-3) $$ $$ b(4) = 135 * (-3) $$ $$ b(4) = -405 $$ Jadi, suku ke-4 dalam barisan tersebut adalah -405. |
Respons model ini benar - sekarang untuk membuat respons yang lebih sederhana, Anda dapat meminta model untuk berpikir langkah demi langkah.
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Berapa suku ke-4 dalam barisan tersebut? Pikirkan langkah demi langkah. |
Suku pertama adalah 15. Suku kedua adalah b(1) * (-3) = 15 * (-3) = -45. Suku ketiga adalah b(2) * (-3) = -45 * (-3) = 135. Suku keempat adalah b(3) * (-3) = 135 * (-3) = -405. |
Coba tentukan format output
Masalah umumnya adalah perlunya output model dalam format tertentu (misalnya, markdown, JSON, HTML), terutama jika output model perlu diserap oleh tugas downstream. Anda dapat mencoba menghasilkan output dalam format tersebut dengan menginstruksikan model untuk melakukannya dalam perintah. Berikut adalah dua contohnya:
Prompt | Respons model |
---|---|
Uraikan tabel pada gambar ini ke dalam format markdown |
| Subjek | Status | Waktu | Tanggal mulai | Batas waktu pada | | ------- | ------ | ---- | --------- | ------ | | Matematika | Selesai | 1,5 jam | 29/11/2023 | 1/12/2023 | | Geografi | Selesai | 30 mnt | 02/12/2023 | 04/12/2023 | | Fisika | Sedang berlangsung | 2 jam | 3/12/2023 | 12/5/2023 | | Biologi | Belum dimulai | 6 jam | 2/11/2016 | 6/12/2023 | |
Perintah | Respons model |
---|---|
Masukkan daftar semua atribut berikut: bahan, jenis masakan, vegetarian atau tidak, dalam format JSON |
|
Tempatkan gambar terlebih dahulu untuk perintah gambar tunggal
Meskipun Gemini dapat menafsirkan gambar dan teks dalam urutan apa pun dalam prompt, menempatkan satu gambar sebelum perintah teks dapat memberikan hasil yang lebih baik. Dalam contoh berikut, Anda akan melihat gambar atau video muncul terlebih dahulu sebelum teks di setiap perintah.
Memecahkan masalah prompt multimodal
Anda mungkin perlu memecahkan masalah perintah jika tidak mendapatkan respons yang membantu. Berikut beberapa strategi yang dapat Anda coba.
Jika model tidak mengambil informasi dari bagian gambar yang relevan
Untuk mendapatkan respons yang lebih spesifik, Anda dapat menunjukkan aspek gambar mana yang Anda inginkan untuk digambar oleh perintah guna menentukan responsnya.
Prompt | Respons model |
---|---|
Berapa hari popok ini akan bertahan bagi bayi? |
Popok akan bertahan selama 198 hari sebelum habis. |
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Berapa lama popok ini akan bertahan sebelum kehabisan? Gunakan berat yang ditampilkan pada kotak untuk menentukan usia anak, dan gunakan jumlah total popok dalam kotak. Bagi jumlah total popok yang digunakan anak per hari. |
Kotak berisi 198 popok. Di dalam kotak tertera popok untuk anak dengan berat 22-37 lbs. Rata-rata anak dalam kisaran berat ini kemungkinan berusia antara 1 dan 2 tahun. Anak berusia 2 tahun biasanya memakai 6 popok per hari, oleh karena itu, popok akan bertahan sekitar 33 hari (198/6). |
Jika output model terlalu umum dan tidak cukup disesuaikan dengan input gambar atau video
Untuk membantu model menyesuaikan responsnya terhadap gambar, coba minta model untuk menjelaskan gambar sebelum menjalankan tugas penalarannya.
Prompt | Respons model |
---|---|
Apa kesamaan antara gambar-gambar ini? |
Keempat gambar tersebut adalah contoh fotografi lanskap. |
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Pertama, jelaskan isi setiap gambar secara mendetail. Apa kesamaan antara gambar-gambar ini? |
Gambar pertama menampilkan seseorang sedang mengemas koper. Gambar kedua menampilkan lorong kosong di pusat perbelanjaan. Gambar ketiga menampilkan gulungan tisu toilet. Gambar keempat menampilkan laut yang gelap dan penuh badai. Kesamaan antara gambar-gambar ini adalah bahwa semuanya adalah contoh ruang angkasa. Ruang liminal adalah tempat atau situasi yang berada di antara dua tempat atau situasi lain. Pertanyaan ini sering kali ditandai dengan rasa ketidakpastian atau ambiguitas. Gambar pertama menunjukkan orang tersebut antara berada di rumah dan sedang dalam perjalanan. Gambar kedua menunjukkan lorong di antara dua toko. Gambar ketiga adalah tisu toilet, yang dapat mewakili kamar mandi. Kamar mandi adalah ruang transisi antara ruang pribadi dan publik. Ini adalah tempat di mana kita mempersiapkan diri untuk masuk atau meninggalkan dunia luar. Gambar keempat menunjukkan laut di antara kondisi tenang dan penuh badai. Ruang limainal bisa menjadi menyenangkan dan meresahkan. Game bisa menjadi tempat awal baru atau akhir dari akhir video. Ide dapat menjadi tempat refleksi atau tempat tindakan. |
Anda juga bisa mencoba meminta model secara eksplisit untuk merujuk ke konten yang ada pada gambar.
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Apa kesamaan antara gambar-gambar ini? Lihat isi gambar dalam respons Anda. |
Semua gambar terkait dengan perjalanan. Gambar pertama menunjukkan orang sedang mengemas koper, gambar kedua menunjukkan lorong kosong di pusat perbelanjaan, gambar ketiga menampilkan tumpukan tisu toilet, dan gambar keempat menampilkan laut yang gelap dan penuh badai. Semua gambar ini terkait dengan perjalanan karena merupakan semua hal yang dibutuhkan atau digunakan orang saat mereka bepergian. Gambar pertama menampilkan orang sedang mengemas koper, yaitu hal yang dilakukan orang saat akan melakukan perjalanan. Gambar kedua menampilkan lorong kosong di pusat perbelanjaan, yang merupakan tempat orang sering membeli sesuatu untuk perjalanan mereka. Gambar ketiga menampilkan tumpukan tisu toilet, yang merupakan sesuatu yang sering digunakan orang saat mereka bepergian. Gambar keempat menampilkan laut yang gelap dan badai, yang merupakan sesuatu yang sering ditemui orang saat mereka bepergian. |
Tips yang sama juga berlaku untuk output kreatif dari gambar atau video. Pada contoh berikut pada kelinci, meminta model secara eksplisit untuk menyertakan aspek dari gambar dapat meningkatkan output.
Prompt | Respons model |
---|---|
Bisakah Anda menulis puisi tentang gambar ini? |
Kelinci kecil, lembut dan berwarna coklat, Kamu menggigit rumput, sangat hijau dan manis, |
Perintah yang diperbarui | Respons yang lebih baik |
---|---|
Bisakah Anda menulis puisi deskriptif dan dramatis tentang gambar ini beserta lokasinya? |
Kelinci kecil di atas hijau, Apakah itu biru laut, Kelinci kecil, katakan benar, Mungkin luasnya semuanya, Kelinci kecil, aku ingin tahu apa yang kamu impikan, Apa pun itu, kelinci kecil, |
Memecahkan masalah bagian dialog yang gagal
Mungkin sulit untuk mengetahui apakah prompt gagal karena model tidak memahami gambar sejak awal, atau apakah model memahami gambarnya tetapi tidak melakukan langkah penalaran yang benar setelahnya.
Untuk membedakan alasan-alasan tersebut, minta model untuk menjelaskan apa yang ada dalam gambar.
Dalam contoh di bawah ini, jika model merespons dengan camilan yang tampak tidak terduga saat dipasangkan dengan teh (misalnya popcorn), Anda dapat memecahkan masalah terlebih dahulu untuk menentukan apakah model tersebut mengenali dengan benar bahwa gambar mengandung teh.
Prompt | Minta pemecahan masalah |
---|---|
Apa camilan yang bisa saya buat dalam 1 menit yang akan cocok dengan makanan ini? |
Jelaskan apa yang ada dalam gambar ini. |
Strategi lain adalah meminta model menjelaskan alasannya. Hal itu dapat membantu Anda mempersempit bagian alasan mana yang rusak, jika ada.
Prompt | Minta pemecahan masalah |
---|---|
Apa camilan yang bisa saya buat dalam 1 menit yang akan cocok dengan makanan ini? |
Apa camilan yang bisa saya buat dalam 1 menit yang akan cocok dengan makanan ini? Harap jelaskan alasannya. |
Menyesuaikan parameter pengambilan sampel
Dalam setiap permintaan, Anda tidak hanya mengirim prompt multimodal, tetapi juga mengirim serangkaian parameter pengambilan sampel ke model. Model dapat membuat hasil yang berbeda untuk nilai parameter yang berbeda. Lakukan eksperimen dengan berbagai parameter guna mendapatkan nilai terbaik untuk tugas tersebut. Parameter yang paling sering disesuaikan adalah sebagai berikut:
- Temperature (suhu)
- top-P
- K teratas
Temperature (suhu)
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat top-P dan top-K diterapkan.
Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang
memerlukan respons yang lebih deterministik dan kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat menyebabkan hasil
yang lebih beragam atau kreatif. Suhu 0 bersifat deterministik, artinya respons probabilitas tertinggi
selalu dipilih.
Untuk sebagian besar kasus penggunaan, cobalah memulai dengan suhu 0,4. Jika Anda memerlukan hasil yang lebih kreatif, coba tingkatkan suhu. Jika Anda melihat halusinasi yang jelas, coba turunkan suhunya.
Top-K
Top-K mengubah cara model memilih token untuk output. K teratas 1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding serakah), sedangkan K teratas 3 berarti token berikutnya dipilih dari tiga token yang paling mungkin dengan menggunakan suhu.
Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi diambil sampelnya. Kemudian, token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan sampling suhu.
Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. Nilai default top-K adalah 32.
Top-P
Top-P mengubah cara model memilih token untuk output. Token dipilih dari yang terbanyak (lihat top-K)
hingga jumlah probabilitasnya sama dengan nilai top-P. Misalnya, jika token A, B, dan C memiliki probabilitas 0,6, 0,3, 0,1, dan nilai top-P adalah 0,9, 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. Nilai default top-P adalah 1,0.
Langkah selanjutnya
- Coba tutorial panduan memulai menggunakan Generative AI Studio atau Vertex AI API.
- Untuk memulai, lihat Mengirim permintaan perintah multimodal
- Pelajari Kekuatan dan batasan model lebih lanjut