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 lain yang memerlukan skema data yang telah ditetapkan.
Untuk memastikan bahwa output yang dihasilkan model selalu mematuhi skema tertentu, Anda dapat menentukan skema respons yang berfungsi seperti blueprint 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. Anda kemudian dapat mengurai dan menampilkan informasi ini dengan lebih mudah 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
. Gemini hanya berfokus pada input teks, tetapi Gemini juga
dapat menghasilkan respons terstruktur untuk permintaan multimodal yang mencakup 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 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 Vertex AI in Firebase SDK. 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 tersebut.
Tambahkan SDK dan lakukan inisialisasi layanan Vertex AI dan model generatif di aplikasi Anda.
Setelah menghubungkan aplikasi ke Firebase, menambahkan SDK, serta menginisialisasi 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 akan 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 Anda:
Ukuran skema respons diperhitungkan dalam batas token input.
Fitur skema respons mendukung jenis MIME respons berikut:
application/json
: menghasilkan JSON seperti yang ditentukan dalam skema respons (berguna untuk persyaratan output terstruktur)text/x.enum
: menghasilkan 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 kolom tersebut akan diabaikan. Perlu diperhatikan bahwa daftar di atas adalah subset objek skema OpenAPI 3.0 (lihat referensi skema Vertex AI).
Secara default, untuk Vertex AI in Firebase SDK, semua kolom dianggap sebagai wajib kecuali jika Anda menentukannya sebagai opsional dalam array
optionalProperties
. Untuk kolom opsional ini, model dapat mengisi kolom atau melewatinya.Perhatikan bahwa ini kebalikan dari 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 Anda gunakan oleh 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, temperature, 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 "pembukaan" yang Anda tambahkan sebelum model diekspos ke petunjuk lebih lanjut dari pengguna akhir.
Berikan masukan tentang pengalaman Anda dengan Vertex AI in Firebase