Pemeriksaan pentanahan kontekstual - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemeriksaan pentanahan kontekstual

Guardrails for Amazon Bedrock mendukung pemeriksaan grounding kontekstual untuk mendeteksi dan memfilter halusinasi dalam respons model saat sumber referensi dan kueri pengguna disediakan. Kasus penggunaan yang didukung menjangkau seluruh generasi tambahan pengambilan (RAG), ringkasan, parafrase, atau agen percakapan yang mengandalkan sumber referensi seperti izin yang diambil dalam RAG atau riwayat percakapan bagi agen untuk memulai percakapan.

Pemeriksaan landasan kontekstual mengevaluasi halusinasi di dua paradigma:

  • Grounding — Ini memeriksa apakah respons model akurat secara faktual berdasarkan sumber dan didasarkan pada sumbernya. Setiap informasi baru yang diperkenalkan dalam tanggapan akan dianggap tidak membumi.

  • Relevansi — Ini memeriksa apakah respons model relevan dengan kueri pengguna.

Pertimbangkan contoh di mana sumber referensi berisi “London adalah ibu kota Inggris. Tokyo adalah ibu kota Jepang” dan pertanyaan pengguna adalah “Apa ibu kota Jepang?”. Tanggapan seperti “Ibukota Jepang adalah London” akan dianggap tidak berdasar dan tidak benar secara faktual, di mana tanggapan seperti “Ibukota Inggris adalah London” akan dianggap tidak relevan, bahkan jika itu benar dan didasarkan pada sumbernya.

Skor kepercayaan dan ambang batas

Pemeriksaan pentanahan kontekstual menghasilkan skor kepercayaan yang sesuai dengan landasan dan relevansi untuk setiap respons model yang diproses berdasarkan sumber dan kueri pengguna yang disediakan. Anda dapat mengonfigurasi ambang batas untuk memfilter respons model berdasarkan skor yang dihasilkan. Ambang pemfilteran menentukan skor kepercayaan minimum yang diijinkan agar respons model dianggap membumi dan relevan dalam aplikasi AI generatif Anda. Misalnya, jika ambang batas grounding dan ambang relevansi Anda masing-masing ditetapkan pada 0,7, semua respons model dengan skor pembumian atau relevansi kurang dari 0,7 akan terdeteksi sebagai halusinasi dan diblokir dalam aplikasi Anda. Saat ambang pemfilteran meningkat, kemungkinan pemblokiran konten yang tidak dibumikan dan tidak relevan meningkat, dan kemungkinan melihat konten berhalusinasi dalam aplikasi Anda berkurang. Anda dapat mengonfigurasi nilai ambang landasan dan relevansi antara 0 dan 0,99. Ambang batas 1 tidak valid karena akan memblokir semua konten.

Pemeriksaan grounding kontekstual membutuhkan 3 komponen untuk melakukan pemeriksaan: sumber pentanahan, kueri, dan konten yang harus dijaga (atau respons model). Ini dikonfigurasi secara berbeda tergantung pada apakah Anda menggunakan API Invoke, API Converse, atau ApplyGuardrail langsung.

  • Sumber grounding — informasi kontekstual yang diperlukan untuk menjawab pertanyaan pengguna apa pun. Misalnya, “London adalah ibu kota Inggris. Tokyo adalah ibu kota Jepang”.

  • Query — pertanyaan yang mungkin diajukan pengguna. Misalnya, “Apa ibu kota Jepang?”.

  • Konten yang harus dijaga — teks yang harus dijaga relatif terhadap sumber dan kueri pembumian. Untuk API Invoke dan Converse, ini adalah respons model. Misalnya, ini bisa menjadi “Ibukota Jepang adalah Tokyo”.

Contoh tidak berdasar

  • Sumber grounding - “London adalah ibu kota Inggris. Tokyo adalah ibu kota Jepang.”

  • Query - “Apa ibukota Jepang?”

  • Konten untuk dijaga - “Ibukota Jepang adalah London.”

Dalam contoh ini, konten yang harus dijaga relevan dengan kueri tetapi tidak berdasar karena tidak menggunakan sumber pentanahan dengan benar. Ini akan memiliki skor grounding yang rendah.

Contoh yang tidak relevan

  • Sumber grounding - “London adalah ibu kota Inggris. Tokyo adalah ibu kota Jepang.”

  • Query - “Apa ibukota Jepang?”

  • Konten untuk dijaga - “Ibukota Inggris adalah London.”

Dalam contoh ini, konten yang harus dijaga dibumikan tetapi tidak relevan. Ini menggunakan informasi dari sumber grounding tetapi tidak menjawab kueri. Ini akan memiliki skor relevansi yang rendah.

Contoh yang tidak berdasar dan tidak relevan

  • Sumber grounding - “London adalah ibu kota Inggris. Tokyo adalah ibu kota Jepang.”

  • Query - “Apa ibukota Jepang?”

  • Konten untuk dijaga - “Hujan di luar.”

Dalam contoh ini, konten yang harus dijaga tidak dibumikan dan tidak relevan. Itu tidak menggunakan informasi dari sumber pentanahan juga tidak menjawab kueri. Ini akan memiliki skor landasan dan relevansi yang rendah.

Lebih Banyak Contoh

Pertimbangkan aplikasi perbankan yang dirancang untuk menjawab pertanyaan yang terkait dengan biaya dan biaya.

Sumber:

  • Tidak ada biaya yang terkait dengan pembukaan rekening giro.

  • Biaya bulanan untuk memelihara rekening giro adalah $10.

  • Ada biaya transaksi 1% untuk transfer internasional.

  • Tidak ada biaya yang terkait dengan transfer domestik.

  • Biaya yang terkait dengan keterlambatan pembayaran tagihan kartu kredit adalah 23,99%.

Berdasarkan sumber di atas, mungkin ada empat skenario tergantung pada kueri pengguna.

Berdasar dan Relevan

  • T: Berapa biaya yang terkait dengan rekening giro?

  • A: Biaya bulanan untuk memelihara rekening giro adalah $10. Tidak ada biaya yang terkait dengan transfer domestik. Namun, ada biaya transaksi 1% untuk transfer internasional. Tidak ada biaya yang terkait dengan pembukaan rekening giro.

Tidak membumi tetapi Relevan

  • T: Berapa biaya transaksi yang terkait dengan kartu kredit.

  • J: Biaya transaksi yang terkait dengan kartu kredit adalah 23,99%.

Berdasar tetapi Tidak Relevan

  • T: Berapa biaya untuk menggunakan rekening bank giro?

  • J: Berdasarkan informasi yang diberikan, biaya keterlambatan pembayaran untuk kartu kredit adalah 23,99%.

Tidak membumi dan tidak relevan

  • T: Berapa biaya untuk menggunakan rekening bank giro?

  • J: Biaya untuk akun pialang adalah $0,5 per transaksi perdagangan.

Memanggil pemeriksaan pentanahan kontekstual dengan API Invoke

Untuk menandai sumber grounding dan kueri dalam input, kami menyediakan 2 tag yang bekerja dengan cara yang sama seperti tag input. Tag ini amazon-bedrock-guardrails-groundingSource_xyz dan dengan amazon-bedrock-guardrails-query_xyz asumsi akhiran tag adalah xyz. Sebagai contoh:

{ "text": """ <amazon-bedrock-guardrails-groundingSource_xyz>London is the capital of UK. Tokyo is the capital of Japan. </amazon-bedrock-guardrails-groundingSource_xyz> <amazon-bedrock-guardrails-query_xyz>What is the capital of Japan?</amazon-bedrock-guardrails-query_xyz> """, "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz", }, }

Perhatikan bahwa respons model diperlukan untuk melakukan pemeriksaan pentanahan kontekstual sehingga pemeriksaan hanya akan dilakukan pada output dan bukan pada prompt.

Tag ini dapat digunakan bersama tag GuardContent. Jika tidak ada tag guardContent yang digunakan, maka pagar pembatas akan secara default menerapkan semua kebijakan yang dikonfigurasi pada seluruh input, termasuk sumber pentanahan dan kueri. Jika tag guardContent digunakan, maka kebijakan pemeriksaan grounding kontekstual akan menyelidiki hanya sumber pentanahan, kueri, dan respons, sementara kebijakan lainnya akan menyelidiki konten dalam tag GuardContent.

Memanggil pemeriksaan grounding kontekstual dengan Converse API

Untuk menandai sumber pembumian dan kueri Converse API, gunakan bidang kualifikasi di setiap blok konten penjaga. Sebagai contoh:

[ { "role": "user", "content": [ { "guardContent": { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": ["grounding_source"], } } }, { "guardContent": { "text": { "text": "What is the capital of Japan?", "qualifiers": ["query"], } } }, ], } ]

Perhatikan bahwa respons model diperlukan untuk melakukan pemeriksaan pentanahan kontekstual sehingga pemeriksaan hanya akan dilakukan pada output dan bukan pada prompt.

Jika tidak ada blok konten yang ditandai dengan qualifier guard_content, maka kebijakan pemeriksaan grounding kontekstual akan menyelidiki hanya sumber pentanahan, kueri, dan respons. Kebijakan yang tersisa akan mengikuti perilaku investigasi default: prompt sistem default untuk tidak diselidiki dan pesan default untuk diselidiki. Namun, jika blok konten ditandai dengan qualifier guard_content, maka kebijakan pemeriksaan grounding kontekstual akan menyelidiki hanya sumber pentanahan, kueri, dan respons, sementara kebijakan lainnya akan menyelidiki konten yang ditandai dengan tag GuardContent.

Memanggil pemeriksaan grounding kontekstual dengan API ApplyGuardrail

Menggunakan pemeriksaan pentanahan kontekstual ApplyGuardrail mirip dengan menggunakannya dengan Converse API. Untuk menandai sumber pentanahan dan kueri ApplyGuardrail, gunakan bidang kualifikasi di setiap blok konten. Namun, karena model tidak dipanggil ApplyGuardrail, Anda juga harus menyediakan blok konten tambahan dengan konten yang akan dijaga. Blok konten ini dapat dikualifikasikan secara opsional dengan guard_content dan setara dengan respons model di API Invoke* atau Converse*. Sebagai contoh:

[ { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": [ "grounding_source" ] } }, { "text": { "text": "What is the capital of Japan?", "qualifiers": [ "query" ] } }, { "text": { "text": "The capital of Japan is Tokyo." } } ]

Perhatikan bahwa respons model diperlukan untuk melakukan pemeriksaan pentanahan kontekstual sehingga pemeriksaan hanya akan dilakukan pada output dan bukan pada prompt.

Jika tidak ada blok konten yang ditandai dengan qualifier guard_content, maka kebijakan pemeriksaan grounding kontekstual akan menyelidiki hanya sumber pentanahan, kueri, dan respons. Kebijakan yang tersisa akan mengikuti perilaku investigasi default: prompt sistem default untuk tidak diselidiki dan pesan default untuk diselidiki. Namun, jika blok konten ditandai dengan qualifier guard_content, maka kebijakan pemeriksaan grounding kontekstual akan menyelidiki hanya sumber pentanahan, kueri, dan respons, sementara kebijakan lainnya akan menyelidiki konten yang ditandai dengan tag GuardContent.

Untuk informasi selengkapnya tentang pemeriksaan pentanahan kontekstual, lihat Menggunakan pemeriksaan pentanahan kontekstual.