Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sertakan pagar pembatas dengan Converse API
Anda dapat menggunakan pagar pembatas untuk menjaga aplikasi percakapan yang Anda buat dengan Converse. API Misalnya, jika Anda membuat aplikasi obrolan dengan ConverseAPI, Anda dapat menggunakan pagar pembatas untuk memblokir konten yang tidak pantas yang dimasukkan oleh pengguna dan konten tidak pantas yang dihasilkan oleh model. Untuk informasi tentang ConverseAPI, lihatLakukan percakapan dengan operasi Converse API.
Topik
Memanggil Converse API dengan pagar pembatas
Untuk menggunakan pagar pembatas, Anda menyertakan informasi konfigurasi untuk pagar pembatas dalam panggilan ke operasi Converse atau ConverseStream(untuk respons streaming). Secara opsional, Anda dapat memilih konten tertentu dalam pesan yang ingin dinilai pagar pembatas. Untuk informasi tentang model yang dapat Anda gunakan dengan pagar pembatas dan Converse, lihatAPI. Model dan fitur model yang didukung
Topik
Mengonfigurasi pagar pembatas agar berfungsi dengan Converse API
Anda menentukan informasi konfigurasi untuk pagar pembatas dalam parameter guardrailConfig
input. Konfigurasi mencakup ID dan versi pagar pembatas yang ingin Anda gunakan. Anda juga dapat mengaktifkan penelusuran untuk pagar pembatas, yang memberikan informasi tentang konten yang diblokir pagar pembatas.
Dengan Converse
operasi, guardrailConfig
adalah GuardrailConfigurationobjek, seperti yang ditunjukkan pada contoh berikut.
{ "guardrailIdentifier": "
Guardrail ID
", "guardrailVersion": "Guardrail version
", "trace": "enabled" }
Jika Anda menggunakanConverseStream
, Anda melewati GuardrailStreamConfigurationobjek. Secara opsional, Anda dapat menggunakan streamProcessingMode
bidang untuk menentukan bahwa Anda ingin model menyelesaikan penilaian pagar pembatas, sebelum mengembalikan potongan respons streaming. Atau, Anda dapat meminta model merespons secara asinkron sementara pagar pembatas melanjutkan penilaiannya di latar belakang. Untuk informasi selengkapnya, lihat Konfigurasikan perilaku respons streaming untuk memfilter konten.
Menjaga pesan untuk menilai konten berbahaya menggunakan APIs
Saat Anda meneruskan pesan (Pesan) ke model, pagar pembatas menilai konten dalam pesan. Secara opsional, Anda dapat menjaga konten yang dipilih dalam pesan dengan menentukan bidang guardContent
(GuardrailConverseContentBlock). Pagar pembatas hanya mengevaluasi konten di guardContent
lapangan dan bukan sisa pesan. Ini berguna untuk membuat pagar pembatas hanya menilai pesan terbanyak dalam percakapan, seperti yang ditunjukkan pada contoh berikut.
[ { "role": "user", "content": [ { "text": "Create a playlist of 2 pop songs." } ] }, { "role": "assistant", "content": [ { "text": " Sure! Here are two pop songs:\n1. \"Bad Habits\" by Ed Sheeran\n2. \"All Of The Lights\" by Kanye West\n\nWould you like to add any more songs to this playlist? " } ] }, { "role": "user", "content": [ { "guardContent": { "text": { "text": "Create a playlist of 2 heavy metal songs." } } } ] } ]
Penggunaan lain adalah menyediakan konteks tambahan untuk pesan, tanpa pagar pembatas menilai konteks tambahan itu.
[ { "role": "user", "content": [ { "text": "Only answer with a list of songs." }, { "guardContent": { "text": { "text": "Create a playlist of heavy metal songs." } } } ] } ]
catatan
Menggunakan guardContent
bidang ini analog dengan menggunakan tag input dengan InvokeModeldan. InvokeModelWithResponseStream Untuk informasi selengkapnya, lihat Terapkan tag ke input pengguna untuk memfilter konten.
Menjaga prompt sistem yang dikirim ke Converse API
Anda dapat menggunakan pagar pembatas dengan perintah sistem yang Anda kirim ke Converse. API Untuk menjaga prompt sistem, tentukan bidang guardContent
(SystemContentBlock) di prompt sistem yang Anda kirimkan keAPI, seperti yang ditunjukkan pada contoh berikut.
[ { "guardContent": { "text": { "text": "Only respond with Welsh heavy metal songs." } } } ]
Jika Anda tidak memberikan guardContent
bidang, pagar pembatas tidak menilai pesan prompt sistem.
Pesan dan perilaku pagar pembatas prompt sistem
Bagaimana pagar pembatas menilai guardContent
bidang berperilaku berbeda antara prompt sistem dan pesan yang Anda kirimkan dalam pesan.
Prompt sistem memiliki blok Guardrail | Prompt sistem tidak memiliki blok Guardrail | |
---|---|---|
Pesan memiliki blok Guardrail |
Sistem: Guardrail menyelidiki konten di blok Guardrail Pesan: Guardrail menyelidiki konten di blok Guardrail |
Sistem: Pagar pembatas tidak menyelidiki apa pun Pesan: Guardrail menyelidiki konten di blok Guardrail |
Pesan tidak memiliki blok Guardrail |
Sistem: Guardrail menyelidiki konten di blok Guardrail Pesan: Pagar pembatas menyelidiki semuanya |
Sistem: Pagar pembatas tidak menyelidiki apa pun Pesan: Pagar pembatas menyelidiki semuanya |
Memproses respons saat menggunakan Converse API
Saat Anda memanggil operasi Converse, pagar pembatas menilai pesan yang Anda kirim. Jika pagar pembatas mendeteksi konten yang diblokir, hal berikut terjadi.
stopReason
Bidang dalam respons diatur keguardrail_intervened
.-
Jika Anda mengaktifkan penelusuran, jejak tersedia di Bidang
trace
(ConverseTrace). DenganConverseStream
, jejak ada di metadata (ConverseStreamMetadataEvent) yang dikembalikan operasi. -
Teks konten yang diblokir yang telah Anda konfigurasikan di pagar pembatas dikembalikan di bidang
output
(ConverseOutput). Dengan teks kontenConverseStream
yang diblokir ada di pesan yang dialirkan.
Respons sebagian berikut menunjukkan teks konten yang diblokir dan jejak dari penilaian pagar pembatas. Pagar pembatas telah memblokir istilah Heavy metal dalam pesan.
{ "output": { "message": { "role": "assistant", "content": [ { "text": "Sorry, I can't answer questions about heavy metal music." } ] } }, "stopReason": "guardrail_intervened", "usage": { "inputTokens": 0, "outputTokens": 0, "totalTokens": 0 }, "metrics": { "latencyMs": 721 }, "trace": { "guardrail": { "inputAssessment": { "3o06191495ze": { "topicPolicy": { "topics": [ { "name": "Heavy metal", "type": "DENY", "action": "BLOCKED" } ] }, "invocationMetrics": { "guardrailProcessingLatency": 240, "usage": { "topicPolicyUnits": 1, "contentPolicyUnits": 0, "wordPolicyUnits": 0, "sensitiveInformationPolicyUnits": 0, "sensitiveInformationPolicyFreeUnits": 0, "contextualGroundingPolicyUnits": 0 }, "guardrailCoverage": { "textCharacters": { "guarded": 39, "total": 72 } } } } } } } }
Contoh kode untuk menggunakan Converse API dengan pagar pembatas
Contoh ini menunjukkan bagaimana menjaga percakapan dengan Converse
dan ConverseStream
operasi. Contoh tersebut menunjukkan cara mencegah model membuat daftar putar yang menyertakan lagu-lagu dari genre heavy metal.
Untuk menjaga percakapan
-
Buat pagar pembatas dengan mengikuti instruksi di. Buat pagar pembatas Pada langkah 6a, masukkan informasi berikut untuk membuat topik yang ditolak:
-
Nama — Masukkan Heavy metal.
-
Definisi untuk topik — Masukkan Hindari menyebutkan lagu-lagu yang berasal dari genre musik heavy metal.
-
Tambahkan frasa sampel — Masukkan Buat daftar putar lagu heavy metal.
Pada langkah 9, masukkan yang berikut ini:
-
Pesan ditampilkan untuk petunjuk yang diblokir — Masukkan Maaf, saya tidak dapat menjawab pertanyaan tentang musik heavy metal.
-
Pesan untuk tanggapan yang diblokir — Masukkan Maaf, model menghasilkan jawaban yang menyebutkan musik heavy metal.
Anda dapat mengonfigurasi opsi pagar pembatas lainnya, tetapi tidak diperlukan untuk contoh ini.
-
-
Buat versi pagar pembatas dengan mengikuti instruksi di. Buat versi pagar pembatas
-
Dalam contoh kode berikut (Converse dan ConverseStream), atur variabel berikut:
guardrail_id
— ID pagar pembatas yang Anda buat di langkah 1.guardrail_version
— Versi pagar pembatas yang Anda buat di langkah 2.text
— GunakanCreate a playlist of heavy metal songs.
-
Jalankan contoh kode. Output harus menampilkan penilaian pagar pembatas dan pesan keluaran.
Text: Sorry, I can't answer questions about heavy metal music.
Penilaian input pagar pembatas menunjukkan bahwa model mendeteksi istilah logam berat dalam pesan input. -
(Opsional) Uji apakah pagar pembatas memblokir teks yang tidak pantas yang dihasilkan model dengan mengubah nilai
text
ke Daftar semua genre musik rock. . Jalankan contoh lagi. Anda akan melihat penilaian keluaran dalam respons.