Strategi prompting file

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

Halaman ini memberikan panduan dan praktik terbaik untuk menggunakan file media dengan perintah untuk Gemini API. Untuk mengetahui informasi tentang cara menggunakan Gemini Files API untuk mengupload file media dan menyertakannya dalam perintah, lihat Meminta file media.

Menggunakan file media dengan perintah

Kemampuan menggunakan berbagai jenis data dalam perintah akan memberi Anda lebih banyak fleksibilitas dalam hal tugas yang dapat Anda selesaikan dengan Gemini API. Misalnya, Anda dapat mengirim foto makanan lezat kepada model dan memintanya untuk menulis blog singkat tentang hidangan tersebut.

Perintah Respons

Tulis postingan blog yang singkat dan menarik berdasarkan gambar ini. Harus menyertakan deskripsi makanan di foto dan menceritakan perjalanan saya menyiapkan makanan.


Kukis

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

Makanan ini meliputi nasi merah, sayuran panggang, dan ayam teriyaki. Beras merah adalah karbohidrat sehat dan kompleks yang akan memberi Anda energi yang berkelanjutan. Sayuran panggang adalah cara terbaik untuk mendapatkan dosis harian vitamin dan mineral, dan teriyaki ayam adalah pilihan yang lezat dan kaya protein.

Makanan ini juga sangat mudah disiapkan. Cukup masak nasi merah, panggang sayuran, dan masak teriyaki ayam. Setelah semuanya matang, bagi ke dalam wadah penyiapan makanan dan simpan di kulkas. Anda kemudian bisa mengambil sebuah wadah dan memulai pagi yang sibuk!

Jika Anda mencari makanan sehat dan lezat yang dapat disiapkan dengan mudah sebelumnya, makanan ini merupakan pilihan yang tepat. Hidangan tersebut dikemas dengan nutrisi dan rasa, dan pasti akan membuat Anda merasa kenyang dan puas.

Mari kita siapkan makanan sehat dan lezat!

Strategi untuk prompting dengan media

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

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, performanya mungkin akan lebih baik jika gambar tersebut ditempatkan sebelum perintah teks.

    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 gambar): Di awal perintah, coba minta model untuk menjelaskan gambar sebelum memberikan petunjuk tugas, atau coba minta model untuk merujuk ke konten dalam gambar.
    • 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.

      Perintah Respons model

      Jelaskan gambar ini.

      Gambar menampilkan papan kedatangan dan keberangkatan bandara.

      Perintah yang diperbarui Respons yang lebih baik
      Jadwal perjalanan

      Uraikan waktu dan kota dari dewan bandara yang ditampilkan pada 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 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
      Jadwal perjalanan

      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.

      Colosseum

      kota: Roma, tempat terkenal: Colosseum.

      Kota Terlarang

      kota: Beijing, tempat terkenal: Kota Terlarang

      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.

      Perintah Respons model

      Kapan saya akan kehabisan tisu toilet?

      Tak lama lagi, Anda hanya punya 3 lemparan lagi.

      Perintah yang diperbarui Respons yang lebih baik

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

        1. Ada 3 gulungan tisu toilet dalam gambar ini.
        2 Biasanya, orang menggunakan sekitar 20 lembar tisu toilet per hari.
        3 Jika setiap gulungan berisi 200 lembar, maka setiap gulungan akan bertahan selama sekitar 10 hari. Oleh karena itu, 3 pemutaran tersebut akan berlangsung selama sekitar satu bulan.

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

      Perintah Respons

      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 Respons

      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 $$

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

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

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

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

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

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

      7. Kita mengetahui bahwa nilai b(1) adalah 15, jadi gantilah ke dalam rumus:
      8. $$ b(2) = 15 * (-3) $$

        $$ b(2) = -45 $$

      9. Setelah kita mengetahui nilai b(2), kita masukkan ke dalam rumus b(3):
      10. $$ b(3) = b(2) * (-3) $$

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

        $$ b(3) = 135 $$

      11. Sekarang setelah kita mengetahui nilai b(3), gantilah ke dalam rumus 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 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:

      Perintah 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

      ```json```

      {

      "ingredients": [

      "rice",

      "shrimp",

      "clams",

      "mussels",

      "peas",

      "tomatoes",

      "onions",

      "garlic",

      "olive oil",

      "paprika",

      "salt",

      "pepper"

      ],

      "type of cuisine": "Spanish",

      "vegetarian": false

      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 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.

      Perintah 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 generik dan tidak cukup disesuaikan dengan input gambar

      Untuk membantu model menyesuaikan responsnya terhadap gambar, coba minta model untuk menjelaskan gambar sebelum menjalankan tugas penalarannya.

      Perintah 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. Pada contoh berikut pada kelinci, meminta model secara eksplisit untuk menyertakan aspek dari gambar dapat meningkatkan output.

      Perintah Respons model

      Bisakah Anda menulis puisi tentang gambar ini?

      Kelinci kecil, lembut dan berwarna coklat,
      Melompat-lompat di atas lapangan, naik turun.
      Telingamu sangat panjang, ekormu sangat kecil,
      Kamu adalah makhluk yang paling lucu dari semuanya.

      Kamu menggigit rumput, sangat hijau dan manis,
      Dan pergilah saat melihatku.
      Tapi aku akan selalu menjadi temanmu,
      Kelinci kecil, sampai akhir.

      Perintah yang diperbarui Respons yang lebih baik

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

      Kelinci kecil di atas hijau,
      Telinganya panjang, sangat tertarik.
      Apa yang kamu lihat di luar sana,
      Di kejauhan, di mana kamu menatap?

      Apakah itu biru laut,
      Berkilau dalam rona matahari?
      Atau ombak yang berdebar,
      Irama yang Anda sukai?

      Kelinci kecil, katakan benar,
      Apa yang menarik perhatianmu?
      Apakah angin sepoi-sepoi yang asin,
      Atau tangisan burung camar?

      Mungkin luasnya semuanya,
      Dunia yang begitu besar dan kecil.
      Tempat impian berkelana,
      Dan petualangan dapat ditanamkan.

      Kelinci kecil, aku ingin tahu apa yang kamu impikan,
      Saat kamu duduk di rumput, sangat tenang.
      Apakah Anda ingin menjelajahi kedalaman,
      Atau tetap di darat, tempat Anda bisa melompat?

      Apa pun itu, kelinci kecil,
      Biarkan percikan keajaiban itu tetap menyala.
      Dalam mimpi dan cita-cita Anda,
      Kebohongan dunia yang menanti kreasi Anda.

      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.

      Perintah 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.

      Perintah 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 berikutnya