Gemini API menampilkan respons sebagai teks tidak terstruktur secara default. Namun, beberapa kasus penggunaan memerlukan teks terstruktur, seperti JSON. Misalnya, Anda mungkin menggunakan respons untuk tugas downstream lainnya yang memerlukan skema data yang sudah ditetapkan.
Untuk memastikan bahwa output yang dihasilkan model selalu mematuhi skema tertentu, Anda dapat menentukan skema respons, yang berfungsi seperti cetak biru untuk respons model. Kemudian, Anda dapat langsung mengekstrak data dari output model dengan lebih sedikit pascapemrosesan.
Berikut beberapa contohnya:
Pastikan respons model menghasilkan JSON yang valid dan sesuai dengan skema yang Anda berikan.
Misalnya, model dapat membuat entri terstruktur untuk resep yang selalu menyertakan nama resep, daftar bahan, dan langkah-langkah. Kemudian, Anda dapat lebih mudah mengurai dan menampilkan informasi ini di UI aplikasi.Batasi cara model merespons selama tugas klasifikasi.
Misalnya, Anda dapat meminta model menganotasi teks dengan kumpulan label tertentu (misalnya, kumpulan enum tertentu sepertipositive
dannegative
), bukan label yang dihasilkan model (yang dapat memiliki tingkat variabilitas sepertigood
,positive
,negative
, ataubad
).
Panduan ini menunjukkan cara membuat output JSON dengan memberikan responseSchema
dalam panggilan ke generateContent
. Model ini berfokus pada input teks saja, tetapi Gemini juga dapat
menghasilkan respons terstruktur untuk permintaan multimodal yang menyertakan gambar,
video, dan audio sebagai input.
Di bagian bawah halaman ini terdapat contoh lainnya, seperti cara membuat nilai enum sebagai output. Untuk melihat contoh tambahan tentang cara membuat output terstruktur, lihat daftar Contoh skema dan respons model dalam dokumentasi Google Cloud.
Sebelum memulai
Jika Anda belum melakukannya, selesaikan panduan memulai untuk SDK Vertex AI in Firebase. Pastikan Anda telah melakukan semua hal berikut:
Siapkan project Firebase baru atau yang sudah ada, termasuk menggunakan paket harga Blaze dan mengaktifkan API yang diperlukan.
Hubungkan aplikasi Anda ke Firebase, termasuk mendaftarkan aplikasi dan menambahkan konfigurasi Firebase ke aplikasi.
Tambahkan SDK dan lakukan inisialisasi layanan Vertex AI dan model generatif di aplikasi Anda.
Setelah menghubungkan aplikasi ke Firebase, menambahkan SDK, dan melakukan inisialisasi layanan Vertex AI dan model generatif, Anda siap memanggil Gemini API.
Langkah 1: Tentukan skema respons
Tentukan skema respons untuk menentukan struktur output model, nama kolom, dan jenis data yang diharapkan untuk setiap kolom.
Saat menghasilkan respons, model menggunakan nama kolom dan konteks dari perintah Anda. Agar intent Anda jelas, sebaiknya gunakan struktur yang jelas, nama kolom yang tidak ambigu, dan bahkan deskripsi sesuai kebutuhan.
Pertimbangan untuk skema respons
Perhatikan hal-hal berikut saat menulis skema respons:
Ukuran skema respons dihitung dalam batas token input.
Fitur skema respons mendukung jenis MIME respons berikut:
application/json
: JSON output seperti yang ditentukan dalam skema respons (berguna untuk persyaratan output terstruktur)text/x.enum
: menampilkan nilai enum seperti yang ditentukan dalam skema respons (berguna untuk tugas klasifikasi)
Fitur skema respons mendukung kolom skema berikut:
enum
items
maxItems
nullable
properties
required
Jika Anda menggunakan kolom yang tidak didukung, model masih dapat menangani permintaan Anda, tetapi akan mengabaikan kolom tersebut. Perhatikan bahwa daftar di atas adalah subset dari objek skema OpenAPI 3.0 (lihat referensi skema Vertex AI).
Secara default, untuk SDK Vertex AI in Firebase, semua kolom dianggap wajib kecuali jika Anda menentukannya sebagai opsional dalam array
optionalProperties
. Untuk kolom opsional ini, model dapat mengisi kolom atau melewatinya.Perhatikan bahwa ini berlawanan dengan perilaku default untuk Vertex AI Gemini API.
Langkah 2: Kirim perintah dengan skema respons untuk membuat JSON
Contoh berikut menunjukkan cara membuat output JSON terstruktur.
Untuk menghasilkan output terstruktur, Anda perlu menentukan selama inisialisasi model
responseMimeType
yang sesuai (dalam contoh ini, application/json
)
serta responseSchema
yang ingin digunakan model.
Penggunaan responseSchema
didukung oleh Gemini 1.5 Pro dan Gemini 1.5 Flash.
Pelajari cara memilih model Gemini dan secara opsional lokasi yang sesuai untuk kasus penggunaan dan aplikasi Anda.
Contoh tambahan
Untuk melihat contoh tambahan tentang cara menggunakan dan membuat output terstruktur, lihat daftar Contoh skema dan respons model dalam dokumentasi Google Cloud.
Membuat nilai enum sebagai output
Contoh berikut menunjukkan cara menggunakan skema respons untuk tugas klasifikasi. Model diminta untuk mengidentifikasi genre film berdasarkan deskripsinya. Outputnya adalah satu nilai enum teks biasa yang dipilih model dari daftar nilai yang ditentukan dalam skema respons yang diberikan.
Untuk melakukan tugas klasifikasi terstruktur ini, Anda perlu menentukan selama inisialisasi
model responseMimeType
yang sesuai (dalam contoh ini,
text/x.enum
) serta responseSchema
yang ingin digunakan model.
Pelajari cara memilih model Gemini dan secara opsional lokasi yang sesuai untuk kasus penggunaan dan aplikasi Anda.
Opsi lain untuk mengontrol pembuatan konten
- Pelajari lebih lanjut desain perintah agar Anda dapat memengaruhi model untuk menghasilkan output yang spesifik untuk kebutuhan Anda.
- Konfigurasikan parameter model untuk mengontrol cara model menghasilkan respons. Parameter ini mencakup token output maksimum, temperatur, topK, dan topP.
- Gunakan setelan keamanan untuk menyesuaikan kemungkinan mendapatkan respons yang mungkin dianggap berbahaya, termasuk ujaran kebencian dan konten seksual vulgar.
- Tetapkan petunjuk sistem untuk mengarahkan perilaku model. Fitur ini seperti "preamble" yang Anda tambahkan sebelum model diekspos ke petunjuk lebih lanjut dari pengguna akhir.
Berikan masukan tentang pengalaman Anda dengan Vertex AI in Firebase