Strategi prompting file

Tipe model kecerdasan buatan (AI) Gemini dibuat untuk menangani berbagai jenis data input, termasuk teks, gambar, dan audio. Karena layanan yang dapat menangani lebih dari satu jenis atau mode data, yaitu model Gemini disebut model multimodal atau dijelaskan sebagai memiliki kemampuan multimodal.

Halaman ini memberikan panduan dan praktik terbaik untuk menggunakan file media dengan Gemini API. Informasi tentang penggunaan Gemini Files API untuk mengupload file media dan menyertakannya dalam perintah Anda, lihat Membuat perintah dengan file media.

Menggunakan file media dengan perintah

Kemampuan menggunakan berbagai jenis data dalam perintah Anda akan memberikan fleksibilitas dalam hal tugas yang dapat Anda tangani dengan Gemini API. Sebagai Anda dapat mengirimkan foto makanan lezat ke model dan memintanya untuk menulis blog singkat tentang makanan.

Perintah Respons

Tulis postingan blog yang singkat dan menarik berdasarkan gambar ini. Seharusnya sertakan deskripsi makanan di foto dan ceritakan perjalanan saya penyiapan makanan.


Kukis

Menyiapkan makanan adalah cara yang bagus untuk menghemat waktu dan uang, dan juga bisa membantu Anda makan yang lebih sehat. Makanan ini adalah contoh makanan sehat dan makanan lezat yang dapat dengan mudah disiapkan sebelumnya.

Makanan ini menyajikan nasi merah, sayuran panggang, dan teriyaki ayam. Beras merah adalah karbohidrat sehat dan kompleks yang akan memberi Anda energi berkelanjutan. Sayuran panggang adalah cara yang bagus untuk memenuhi kebutuhan harian Anda vitamin dan mineral, dan ayam teriyaki sangat lezat dan kaya akan protein.

Makanan ini juga sangat mudah disiapkan. Cukup masak nasi merah, panggang sayuran, dan memasak ayam teriyaki. Setelah semuanya matang, bagi ke dalam wadah untuk menyiapkan makanan dan simpan di lemari es. Lalu, Anda dapat mengambil wadah dan melanjutkan ke pagi yang sibuk!

Jika Anda mencari makanan sehat dan lezat yang mudah ditemukan sebelumnya, makanan ini adalah pilihan yang bagus. Dilengkapi dengan nutrisi dan perasa, dan itu pasti membuat Anda merasa kenyang dan puas.

Untuk menyiapkan makanan sehat dan lezat!

Strategi untuk prompting dengan media

Jika Anda kesulitan mendapatkan output yang diinginkan dari perintah yang menggunakan media, ada beberapa strategi yang dapat membantu Anda mendapatkan hasil yang kita inginkan. Bagian berikut memberikan pendekatan desain dan pemecahan masalah tips untuk meningkatkan kualitas perintah yang menggunakan input multimodal.

Anda dapat meningkatkan kualitas perintah multimodal dengan mengikuti praktik terbaik berikut:

  • Dasar-dasar desain prompt

    • Berikan petunjuk yang spesifik: Buat petunjuk yang jelas dan ringkas agar tidak terjadi salah penafsiran.
    • Tambahkan beberapa contoh ke perintah Anda: Gunakan contoh few-shot yang realistis untuk mengilustrasikan hal yang ingin Anda capai.
    • Memisahkan langkah demi langkah: Bagi tugas yang kompleks menjadi sub-sasaran yang dapat dikelola, yang memandu model melalui proses.
    • Menentukan format output: Dalam perintah Anda, minta output dalam format yang Anda inginkan, seperti markdown, JSON, HTML, dan lainnya.
    • Tempatkan gambar Anda di urutan pertama untuk perintah satu gambar: Meskipun Gemini dapat menangani input gambar dan teks dalam urutan apa pun, untuk perintah yang berisi satu gambar, performanya mungkin akan lebih baik jika gambar tersebut ditempatkan sebelum perintah teks.
  • Memecahkan masalah perintah multimodal

    • Jika model tidak mengambil informasi dari bagian gambar yang relevan: Berikan petunjuk dengan aspek gambar yang informasinya ingin Anda dapatkan.
    • Jika output model terlalu umum (tidak cukup disesuaikan dengan gambar): Di awal perintah, coba minta model untuk mendeskripsikan gambar sebelum memberikan petunjuk tugas, atau coba minta model untuk merujuk pada isi gambar.

Dasar-dasar desain prompt

Bagian ini memperluas praktik terbaik yang tercantum di bagian sebelumnya.

Catatan: Hasil model dari contoh Gemini berikut dapat bervariasi untuk setiap run to run.

Berikan petunjuk yang spesifik

Perintah akan paling berhasil jika jelas dan mendetail. Jika Anda memiliki output tertentu, sebaiknya sertakan persyaratan tersebut dalam perintah untuk memastikan Anda mendapatkan output yang diinginkan.

Terkadang, intent prompt mungkin tampak jelas bagi orang yang menulisnya, tetapi sebenarnya kurang spesifik. Untuk menyesuaikan perilaku model, pertimbangkan bagaimana perintah Anda dapat (salah) ditafsirkan, dan pastikan petunjuk yang Anda berikan sudah spesifik dan jelas. Ingatlah untuk menyisakan sedikit ruang untuk salah penafsiran

Untuk gambar papan bandara, meminta model untuk hanya "mendeskripsikan gambar ini" dapat membuat deskripsi umum. Jika Anda memerlukan model untuk mengurai waktu dan kota dari gambar, Anda dapat menyertakan permintaan tersebut secara langsung dalam perintah Anda.

Perintah Respons model

Jelaskan gambar ini.

Gambar menampilkan papan kedatangan dan keberangkatan di bandara.

Perintah yang diperbarui Respons yang lebih baik
Jadwal perjalanan

Uraikan waktu dan kota dari dewan bandara yang ditampilkan di gambar ini ke dalam daftar.

  • 10.50 Moskow
  • 11.05 Edinburgh
  • 11.05 London
  • 11.10 Bukares
  • 11.30 Kiev
  • 11.35 Dublin
  • 11:45 East Midlands
  • 12:15 Sofia
  • 12.30 London
  • 12.30 Newcastle
  • 12.40 St Petersburg
  • 12.40 London
  • 12.45 Manchester
  • Tambahkan beberapa contoh

    Model Gemini dapat menerima beberapa input yang dapat digunakannya sebagai contoh untuk memahami output yang diinginkan. Menambahkan contoh ini dapat membantu model mengidentifikasi pola dan menerapkan hubungan antara gambar yang diberikan dan respons terhadap contoh baru. Hal ini juga disebut "beberapa tembakan" pembelajaran.

    Dalam contoh di bawah ini, {i>output<i} awal ditulis dalam bentuk kalimat, dan juga berisi negara (Brasil). Misalkan Anda ingin output dalam format atau gaya yang berbeda, dan ingin hanya kota, bukan negara. Menambahkan contoh beberapa foto ke perintah Anda dapat mengarahkan model untuk merespons dengan cara yang Anda inginkan.

    Perintah Respons model
    Jadwal perjalanan

    Tentukan kota beserta {i>landmark<i}-nya.

    Bangunan terkenalnya adalah patung Kristus Penebus di Rio de Janeiro, Brasil.

    Perintah yang diperbarui Respons yang lebih baik

    Tentukan kota beserta {i>landmark<i}-nya.

    colosseum

    kota: Roma, tempat terkenal: Colosseum.

    Kota Terlarang

    kota: Beijing, tempat terkenal: Kota Terlarang

    kota terlarang

    kota: Rio de Janeiro, terkenal: patung Kristus Penebus

    Uraikan langkah demi langkah

    Untuk tugas-tugas kompleks seperti yang membutuhkan pemahaman visual dan penalaran, metode ini dapat membantu untuk membagi tugas menjadi langkah-langkah yang lebih kecil dan lebih mudah. Atau, ini juga bisa efektif jika Anda minta model untuk "berpikir langkah demi langkah" dalam perintah Anda.

    Perintah Respons model

    Kapan tisu toilet saya akan habis?

    Sebentar lagi, kamu hanya punya 3 gulungan lagi.

    Perintah yang diperbarui Respons yang lebih baik

      1. Pertama, hitung berapa banyak gulungan tisu dalam gambar ini.
      2 Kemudian, tentukan berapa banyak tisu yang digunakan orang per hari.
      3 Hitung berapa lama gulungan tisu ini akan bertahan.

      1. Ada 3 gulungan tisu dalam gambar ini.
      2 Biasanya orang menggunakan sekitar 20 lembar tisu setiap hari.
      3 Jika setiap rol berisi 200 lembar, maka setiap rol akan bertahan sekitar 10 hari. Jadi, 3 lemparan akan berlangsung selama sekitar satu bulan.

    Soal matematika atau jenis soal cerita lainnya adalah jawaban yang tepat untuk meminta model berpikir langkah demi langkah.

    Perintah Respons

    Apa suku ke-4 dalam urutan tersebut?

    -135

    Respons dari model salah. Beberapa cara untuk memperbaikinya adalah dengan meminta model untuk mengurai masalah sebelum menjawab prompt.

    Perintah Respons

    Uraikan formula dalam gambar terlebih dahulu.

    Lalu, berdasarkan formula tersebut, jawab "apa suku ke-4 dalam urutan?".

    Klik untuk meluaskan hasil

    $$ b(n) = b(n-1) * (-3) $$

    $$ b(1) = 15 $$

    1. Substitusikan n = 4 ke dalam rumus:
    2. $$ b(4) = b(4-1) * (-3) $$

      $$ b(4) = b(3) * (-3) $$

    3. Kita tidak tahu nilai b(3), jadi ganti n = 3 ke dalam formula:
    4. $$ b(3) = b(3-1) * (-3) $$

      $$ b(3) = b(2) * (-3) $$

    5. Kita tidak tahu nilai b(2), jadi ganti n = 2 ke dalam formula:
    6. $$ b(2) = b(2-1) * (-3) $$

      $$ b(2) = b(1) * (-3) $$

    7. Kita tahu bahwa nilai b(1) adalah 15, jadi gantikan nilai tersebut ke dalam formula:
    8. $$ b(2) = 15 * (-3) $$

      $$ b(2) = -45 $$

    9. Sekarang kita tahu nilai b(2), ganti ke dalam formula untuk b(3):
    10. $$ b(3) = b(2) * (-3) $$

      $$ b(3) = -45 * (-3) $$

      $$ b(3) = 135 $$

    11. Sekarang setelah kita tahu nilai b(3), ganti ke dalam formula untuk b(4):
    12. $$ b(4) = b(3) * (-3) $$

      $$ b(4) = 135 * (-3) $$

      $$ b(4) = -405 $$

    Jadi, suku ke-4 dalam barisan tersebut adalah -405.

    Respons model ini sudah benar - sekarang untuk membuat respons lebih efisien, Anda dapat meminta model untuk berpikir langkah demi langkah.

    Perintah yang diperbarui Respons yang lebih baik

    Apa suku ke-4 dalam urutan 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 yang umum adalah output model perlu 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 memerintahkan model untuk melakukannya dalam perintah. Berikut ini dua contohnya:

    Perintah Respons model

    Urai tabel dalam gambar ini ke dalam format markdown

    | Subjek | Status | Waktu | Tanggal mulai | Jatuh tempo pada |

    | ------- | ------ | ---- | --------- | ------ |

    | Matematika | Selesai | 1,5 jam | 29/11/2023 | 1/12/2023 |

    | Lokasi geografis | Selesai | 30 mnt | 2/12/2023 | 4/12/2023 |

    | Fisika | Dalam proses | 2 jam | 3/12/2023 | 5/12/2023 |

    | Biologi | Belum dimulai | 6 jam | 2/11/2016 | 6/12/2023 |

    Perintah Respons model

    Berikan daftar semua atribut berikut:

    bahan, jenis masakan, vegetarian atau bukan, dalam format JSON

    ```json```

    {

    "ingredients": [

    "rice",

    "shrimp",

    "clams",

    "mussels",

    "peas",

    "tomatoes",

    "onions",

    "garlic",

    "olive oil",

    "paprika",

    "salt",

    "pepper"

    ],

    "type of cuisine": "Spanish",

    "vegetarian": false

    Tempatkan gambar Anda di urutan pertama untuk perintah satu gambar

    Meskipun Gemini dapat menafsirkan gambar dan teks dalam urutan apa pun dalam perintah, dengan menempatkan satu gambar sebelum {i>prompt<i} teks dapat memberikan hasil yang lebih baik. Dalam contoh berikut, Anda akan melihat gambar muncul terlebih dahulu sebelum teks di setiap prompt.

    Memecahkan masalah perintah multimodal

    Anda mungkin perlu memecahkan masalah perintah jika tidak mendapatkan respons yang bermanfaat. Berikut beberapa strategi yang bisa 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 ingin Anda lihat dengan perintah menarik informasi untuk menginformasikan responsnya.

    Perintah Respons model

    Berapa hari popok ini akan bertahan bagi seorang bayi?

    Popok akan bertahan selama 198 hari sebelum habis.

    Perintah yang diperbarui Respons yang lebih baik

    Berapa lama popok ini akan bertahan sebelum habis?

    Gunakan berat yang ditampilkan pada kotak untuk menentukan usia anak, dan gunakan jumlah total popok dalam kotak.

    Bagi jumlah total dengan berapa banyak popok yang dihabiskan anak per hari.

    Satu kotak berisi 198 popok. Di kotak itu tertulis popok untuk anak dengan berat 22-37 kg.

    Rata-rata anak dalam kisaran berat ini kemungkinan berusia antara 1 dan 2 tahun.

    Anak usia 2 tahun biasanya menghabiskan 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

    Untuk membantu model menyesuaikan responsnya dengan gambar, coba minta model untuk mendeskripsikan gambar sebelum melakukan tugas penalarannya.

    Perintah Respons model

    Apa kesamaan di antara gambar-gambar tersebut?

    Keempat gambar tersebut adalah contoh fotografi lanskap.

    Perintah yang diperbarui Respons yang lebih baik

    Pertama, jelaskan secara mendetail isi setiap gambar. Apa kesamaan di antara gambar-gambar ini?

    Gambar pertama menampilkan seseorang yang sedang mengemas koper. Gambar kedua menunjukkan lorong kosong di pusat perbelanjaan. Gambar ketiga menampilkan gulungan tisu toilet. Gambar keempat menunjukkan laut yang gelap dan penuh badai.

    Kesamaan di antara gambar-gambar ini adalah semuanya merupakan contoh ruang liminal. Ruang liminal adalah tempat atau situasi yang berada di antara dua tempat atau situasi lain. Karakteristik ini sering kali ditandai dengan ketidakpastian atau ambiguitas.

    Gambar pertama menampilkan orang tersebut di 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 ranah publik. Ini adalah tempat di mana kita mempersiapkan diri untuk masuk atau meninggalkan dunia luar.

    Gambar keempat menunjukkan laut di antara sedang tenang dan badai.

    Ruang liminal bisa menjadi menyenangkan dan meresahkan. Cerita bisa menjadi tempat untuk awal atau akhir yang baru. Gambar bisa menjadi tempat refleksi atau tempat tindakan.

    Anda juga bisa mencoba secara eksplisit meminta model untuk merujuk pada isi gambar.

    Perintah yang diperbarui Respons yang lebih baik

    Apa kesamaan di antara gambar-gambar tersebut? Lihat isi gambar dalam respons Anda.

    Semua gambar terkait dengan perjalanan. Gambar pertama menunjukkan seseorang sedang mengemas koper, gambar kedua menunjukkan lorong kosong di pusat perbelanjaan, gambar ketiga menunjukkan setumpuk tisu, dan gambar keempat menunjukkan laut yang gelap dan badai.

    Gambar-gambar ini terkait dengan perjalanan karena merupakan semua hal yang dibutuhkan atau digunakan orang saat perjalanan mereka. Gambar pertama menunjukkan seseorang sedang mengemas koper, yang biasanya dilakukan orang-orang saat mereka melakukan perjalanan. Gambar kedua menunjukkan lorong kosong di pusat perbelanjaan, yang merupakan tempat orang-orang sering pergi untuk membeli barang untuk perjalanan mereka. Gambar ketiga menunjukkan tumpukan tisu, yang merupakan sesuatu yang sering digunakan orang saat mereka bepergian. Gambar keempat menunjukkan laut yang gelap dan penuh badai, yang sesuatu yang sering ditemui saat mereka bepergian.

    Tips yang sama berlaku untuk output materi iklan dari gambar. Pada contoh berikut ini, kelinci, secara eksplisit meminta model untuk memasukkan aspek-aspek dari gambar dapat meningkatkan output.

    Perintah Respons model

    Bisa tuliskan puisi tentang gambar ini?

    Kelinci kecil, sangat lembut dan cokelat,
    Melompat-lompat, ke atas dan ke bawah.
    Telingamu terlalu panjang, ekormu kecil sekali,
    Kamu adalah makhluk yang paling lucu di antara mereka semua.

    Anda menggigit rumput, hijau dan manis,
    Dan melompatlah saat kamu melihatku.
    Tapi saya akan selalu menjadi teman Anda,
    Kelinci kecil, sampai akhir.

    Perintah yang diperbarui Respons yang lebih baik

    Bisakah Anda menulis puisi yang deskriptif dan dramatis tentang gambar ini beserta lokasinya?

    Kelinci kecil di atas hijau,
    Telinga begitu panjang, begitu tajam.
    Apa yang kamu lihat di luar sana,
    Di kejauhan, di mana Anda menatap?

    Apakah warnanya biru laut,
    Berkilau dalam rona matahari?
    Atau ombak yang menerjang dan mengaum,
    Ritme yang Anda sukai?

    Kelinci kecil, katakan benar,
    Apa yang menarik perhatian Anda?
    Apa angin asin?
    Atau burung camar tolong menangis?

    Mungkin betapa luasnya semuanya,
    Dunia yang begitu besar dan kecil.
    Tempat mimpi dapat berkeliaran,
    Dan petualangan bisa ditanamkan.

    Kelinci kecil, aku penasaran apa mimpimu,
    Saat Anda duduk di rumput, sangat tenang.
    Apakah Anda ingin menjelajahi kedalaman,
    Atau tetap di darat, di mana kamu bisa melompat?

    Apa pun itu, kelinci kecilku,
    Biarkan percikan rasa ingin tahu itu tetap menyala.
    Dalam mimpi dan cita-cita Anda,
    Berbohong di dunia yang menunggu kreasimu.

    Memecahkan masalah bagian perintah yang gagal

    Mungkin sulit untuk mengetahui apakah prompt gagal karena model tidak memahami gambar sejak awal, atau jika memang memahami gambar tersebut, tetapi tidak melakukan langkah penalaran yang benar setelahnya.

    Untuk membedakan alasan-alasan tersebut, minta model untuk menjelaskan isi gambar.

    Dalam contoh di bawah ini, jika model merespons dengan {i>ngemil<i} yang tampak mengejutkan ketika dipasangkan dengan teh (mis. popcorn), Anda dapat memecahkan masalahnya terlebih dahulu untuk menentukan apakah model bahwa gambar tersebut berisi teh.

    Perintah Perintah untuk pemecahan masalah

    Apa camilan yang bisa saya buat dalam 1 menit yang cocok dengan ini?

    Jelaskan isi gambar ini.

    Strategi lainnya adalah meminta model menjelaskan alasannya. Langkah itu dapat membantu Anda mempersempit bagian penalaran yang rusak, jika ada.

    Perintah Perintah untuk pemecahan masalah

    Apa camilan yang bisa saya buat dalam 1 menit yang cocok dengan ini?

    Apa camilan yang bisa saya buat dalam 1 menit yang cocok dengan ini? Harap jelaskan alasannya.

    Menyesuaikan parameter pengambilan sampel

    Dalam setiap permintaan, Anda tidak hanya mengirimkan perintah multimodal, tetapi juga sekumpulan parameter pengambilan sampel ke model. Model ini dapat membuat hasil yang berbeda untuk parameter value yang berbeda. Bereksperimen dengan berbagai parameter untuk mendapatkan nilai terbaik untuk tugas tersebut. Parameter yang paling sering disesuaikan adalah sebagai berikut:

    • Suhu
    • {i>top-P<i}
    • top-K

    Suhu

    Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi ketika 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 determenistik dan kurang terbuka atau kreatif, sementara suhu yang lebih tinggi dapat menyebabkan hasil yang beragam atau kreatif. Suhu 0 bersifat determenistik, artinya bahwa respons probabilitas tertinggi selalu dipilih.

    Untuk sebagian besar kasus penggunaan, cobalah memulai dengan suhu 0,4. Jika Anda membutuhkan lebih banyak hasil materi iklan, coba tingkatkan temperatur harian. Jika Anda mengamati halusinasi yang jelas, coba turunkan suhunya.

    Top-K

    Top-K mengubah cara model memilih token untuk output. K top-K 1 berarti token yang dipilih berikutnya adalah paling mungkin di antara semua token dalam kosakata model (juga disebut {i>greedy decoding<i}), sementara top-K 3 berarti token berikutnya dipilih di antara tiga token yang paling mungkin oleh menggunakan suhu.

    Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sebagai sampel. Selanjutnya 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. Nilai default top-K adalah 32.

    Top-P

    Top-P mengubah cara model memilih token untuk output. Token dipilih dari jumlah yang paling banyak (lihat top-K) ke paling tidak mungkin sampai 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, maka model akan pilih 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 berikutnya