Menambahkan pertanyaan yang sering diajukan (FAQ) ke indeks - Amazon Kendra

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

Menambahkan pertanyaan yang sering diajukan (FAQ) ke indeks

Anda dapat menambahkan pertanyaan umum (FAQ) langsung ke indeks Anda menggunakan konsol atau API. CreateFaq Menambahkan FAQ ke indeks adalah operasi asinkron. Anda meletakkan data untuk FAQ dalam file yang Anda simpan dalam Amazon Simple Storage Service ember. Anda dapat menggunakan file CSV atau JSON sebagai masukan untuk FAQ Anda:

  • CSV dasar—File CSV di mana setiap baris berisi pertanyaan, jawaban, dan URI sumber opsional.

  • CSV kustom—File CSV yang berisi pertanyaan, jawaban, dan header untuk bidang/atribut khusus yang dapat Anda gunakan untuk memfaksi, menampilkan, atau mengurutkan respons FAQ. Anda juga dapat menentukan bidang kontrol akses untuk membatasi respons FAQ untuk pengguna dan grup tertentu yang diizinkan untuk melihat respons FAQ.

  • JSON—File JSON yang berisi pertanyaan, jawaban, dan bidang/atribut khusus yang dapat Anda gunakan untuk memfaksikan, menampilkan, atau mengurutkan tanggapan FAQ. Anda juga dapat menentukan bidang kontrol akses untuk membatasi respons FAQ untuk pengguna dan grup tertentu yang diizinkan untuk melihat respons FAQ.

Misalnya, berikut ini adalah file CSV dasar yang memberikan jawaban atas pertanyaan tentang klinik gratis di Spokane, Washington AS dan Mountain View, Missouri, AS.

How many free clinics are in Spokane WA?, 13 How many free clinics are there in Mountain View Missouri?, 7
catatan

File FAQ harus berupa file yang dikodekan UTF-8.

Membuat kolom indeks untuk file FAQ

Saat Anda menggunakan file CSV atau JSON khusus untuk masukan, Anda dapat mendeklarasikan bidang khusus untuk pertanyaan FAQ Anda. Misalnya, Anda dapat membuat bidang kustom yang menetapkan setiap pertanyaan FAQ departemen bisnis. Ketika FAQ dikembalikan sebagai tanggapan, Anda dapat menggunakan departemen sebagai aspek untuk mempersempit pencarian menjadi “SDM” atau “Keuangan” saja, misalnya.

Bidang kustom harus dipetakan ke bidang indeks. Di konsol, Anda menggunakan halaman definisi Facet untuk membuat bidang indeks. Saat menggunakan API, Anda harus terlebih dahulu membuat bidang indeks menggunakan UpdateIndexAPI.

Jenis bidang/atribut dalam file FAQ harus cocok dengan jenis bidang indeks terkait. Misalnya, bidang “Departemen” adalah bidang STRING_LIST tipe. Jadi, Anda harus memberikan nilai untuk bidang departemen sebagai daftar string di file FAQ Anda. Anda dapat memeriksa jenis bidang indeks menggunakan halaman definisi Facet di konsol atau dengan menggunakan DescribeIndexAPI.

Ketika membuat bidang indeks yang dipetakan ke atribut kustom, Anda dapat menandainya sebagai dapat ditampilkan, dapat dibuat faset, atau dapat diurutkan. Anda tidak dapat menjadikan atribut kustom dapat dicari.

Selain atribut kustom, Anda juga dapat menggunakan bidang Amazon Kendra cadangan atau umum dalam file CSV atau JSON kustom. Untuk informasi selengkapnya, lihat Atribut atau bidang dokumen.

File CSV dasar

Gunakan file CSV dasar saat Anda ingin menggunakan struktur sederhana untuk FAQ Anda. Dalam file CSV dasar, setiap baris memiliki dua atau tiga bidang: pertanyaan, jawaban, dan URI sumber opsional yang menunjuk ke dokumen dengan informasi lebih lanjut.

Isi file harus mengikuti RFC 4180 Common Format dan MIME Type for Comma-Separated Values (CSV) File.

Berikut ini adalah file FAQ dalam format CSV dasar.

How many free clinics are in Spokane WA?, 13, https://s3.region.company.com/bucket-name/directory/faq.csv How many free clinics are there in Mountain View Missouri?, 7, https://s3.region.company.com/bucket-name/directory/faq.csv

File CSV kustom

Gunakan file CSV khusus saat Anda ingin menambahkan bidang/atribut khusus ke pertanyaan FAQ Anda. Untuk file CSV kustom, Anda menggunakan baris header dalam file CSV Anda untuk menentukan atribut tambahan.

File CSV harus berisi dua bidang wajib berikut:

  • _questionPertanyaan yang sering diajukan

  • _answerJawaban atas pertanyaan yang sering diajukan

File Anda dapat berisi bidang Amazon Kendra cadangan dan bidang khusus. Berikut ini adalah contoh file CSV kustom.

_question,_answer,_last_updated_at,custom_string How many free clinics are in Spokane WA?, 13, 2012-03-25T12:30:10+01:00, Note: Some free clinics require you to meet certain criteria in order to use their services How many free clinics are there in Mountain View Missouri?, 7, 2012-03-25T12:30:10+01:00, Note: Some free clinics require you to meet certain criteria in order to use their services

Isi file kustom harus mengikuti RFC 4180 Common Format dan MIME Type for Comma-Separated Values (CSV) File.

Berikut ini mencantumkan jenis bidang kustom:

  • Tanggal — ISO 8601 yang dikodekan tanggal dan nilai waktu.

    Misalnya, 2012-03-25T 12:30:10 +01:00 adalah format tanggal-waktu ISO 8601 untuk 25 Maret 2012, pukul 12:30 (ditambah 10 detik) di zona waktu Eropa Tengah.

  • Long—Angka, seperti. 1234

  • Nilai string — String. Jika string Anda berisi koma, lampirkan seluruh nilai dalam tanda kutip ganda (“) (misalnya,). "custom attribute, and more"

  • Daftar String — daftar nilai string. Buat daftar nilai dalam daftar dipisahkan koma yang diapit tanda kutip (“) (misalnya,). "item1, item2, item3" Jika daftar hanya berisi satu entri, Anda dapat menghilangkan tanda kutip (misalnya,item1).

File CSV khusus dapat berisi bidang kontrol akses pengguna. Anda dapat menggunakan bidang ini untuk membatasi akses ke FAQ untuk pengguna dan grup tertentu. Untuk memfilter konteks pengguna, pengguna harus memberikan informasi pengguna dan grup dalam kueri. Jika tidak, semua Pertanyaan yang Sering Diajukan yang relevan dikembalikan. Untuk informasi selengkapnya, lihat Pemfilteran konteks pengguna.

Berikut daftar filter konteks pengguna untuk FAQ:

  • _acl_user_allow—Pengguna dalam daftar izinkan dapat melihat FAQ dalam respons kueri. Pertanyaan yang Sering Diajukan tidak dikembalikan ke pengguna lain.

  • _acl_user_deny—Pengguna dalam daftar tolak tidak dapat melihat FAQ dalam respons kueri. FAQ dikembalikan ke semua pengguna lain jika relevan dengan kueri.

  • _acl_group_allow—Pengguna yang merupakan anggota grup yang diizinkan dapat melihat FAQ dalam respons kueri. Pertanyaan yang Sering Diajukan tidak dikembalikan ke pengguna yang merupakan anggota grup lain.

  • _acl_group_denyPengguna yang merupakan anggota grup yang ditolak tidak dapat melihat FAQ dalam respons kueri. FAQ dikembalikan ke grup lain jika relevan dengan kueri.

Berikan nilai untuk daftar izinkan dan tolak dalam daftar yang dipisahkan koma yang diapit tanda kutip (misalnya,). "user1,user2,user3" Anda dapat menyertakan pengguna atau grup dalam daftar izinkan atau daftar penolakan, tetapi tidak keduanya di mana pengguna yang sama diizinkan secara individual tetapi juga grup ditolak. Jika menyertakan pengguna atau grup dalam keduanya, Anda akan menerima kesalahan.

Berikut ini adalah contoh file CSV kustom dengan informasi konteks pengguna.

_question, _answer, _acl_user_allow, _acl_user_deny, _acl_group_allow, _acl_group_deny How many free clinics are in Spokane WA?, 13, "userID6201,userID7552", "userID1001,userID2020", groupBasicPlusRate, groupPremiumRate

File JSON

Anda dapat menggunakan file JSON untuk memberikan pertanyaan, jawaban, dan bidang untuk indeks Anda. Anda dapat menambahkan salah satu bidang yang Amazon Kendra dicadangkan atau bidang khusus ke FAQ.

Berikut ini adalah skema untuk file JSON.

{ "SchemaVersion": 1, "FaqDocuments": [ { "Question": string, "Answer": string, "Attributes": { string: object additional attributes }, "AccessControlList": [ { "Name": string, "Type": enum( "GROUP" | "USER" ), "Access": enum( "ALLOW" | "DENY" ) }, additional user context ] }, additional FAQ documents ] }

Contoh file JSON berikut menunjukkan dua dokumen FAQ. Salah satu dokumen hanya memiliki pertanyaan dan jawaban yang diperlukan. Dokumen lainnya juga mencakup bidang tambahan dan konteks pengguna atau informasi kontrol akses.

{ "SchemaVersion": 1, "FaqDocuments": [ { "Question": "How many free clinics are in Spokane WA?", "Answer": "13" }, { "Question": "How many free clinics are there in Mountain View Missouri?", "Answer": "7", "Attributes": { "_source_uri": "https://s3.region.company.com/bucket-name/directory/faq.csv", "_category": "Charitable Clinics" }, "AccessControlList": [ { "Name": "user@amazon.com", "Type": "USER", "Access": "ALLOW" }, { "Name": "Admin", "Type": "GROUP", "Access": "ALLOW" } ] } ] }

Berikut ini mencantumkan jenis bidang kustom:

  • Tanggal — Nilai string JSON dengan nilai tanggal dan waktu yang dikodekan ISO 8601. Misalnya, 2012-03-25T 12:30:10 +01:00 adalah format tanggal-waktu ISO 8601 untuk 25 Maret 2012, pukul 12:30 (ditambah 10 detik) di zona waktu Eropa Tengah.

  • Panjang — Nilai nomor JSON, seperti. 1234

  • String—Nilai string JSON (misalnya,). "custom attribute"

  • Daftar String-sebuah array JSON dari nilai string (misalnya,). ["item1,item2,item3"]

File JSON dapat berisi bidang kontrol akses pengguna. Anda dapat menggunakan bidang ini untuk membatasi akses ke FAQ untuk pengguna dan grup tertentu. Untuk memfilter konteks pengguna, pengguna harus memberikan informasi pengguna dan grup dalam kueri. Jika tidak, semua Pertanyaan yang Sering Diajukan yang relevan dikembalikan. Untuk informasi selengkapnya, lihat Pemfilteran konteks pengguna.

Anda dapat menyertakan pengguna atau grup dalam daftar izinkan atau daftar penolakan, tetapi tidak keduanya di mana pengguna yang sama diizinkan secara individual tetapi juga grup ditolak. Jika menyertakan pengguna atau grup dalam keduanya, Anda akan menerima kesalahan.

Berikut ini adalah contoh termasuk kontrol akses pengguna ke FAQ JSON.

"AccessControlList": [ { "Name": "group or user name", "Type": "GROUP | USER", "Access": "ALLOW | DENY" }, additional user context ]

Menggunakan file Pertanyaan yang Sering Diajukan

Setelah menyimpan file input FAQ Anda dalam bucket S3, Anda menggunakan konsol atau CreateFaq API untuk memasukkan pertanyaan dan jawaban ke dalam indeks Anda. Jika Anda ingin memperbarui FAQ, hapus FAQ dan buat lagi. Anda menggunakan DeleteFaq API untuk menghapus FAQ.

Anda harus memberikan IAM peran yang memiliki akses ke bucket S3 yang berisi file sumber Anda. Tentukan peran di konsol tersebut, atau di parameter RoleArn. Berikut ini adalah contoh menambahkan file FAQ ke indeks.

Python
import boto3 kendra = boto3.client("kendra") # Provide the index ID index_id = "index-id" # Provide the IAM role ARN required to index documents in an S3 bucket role_arn = "arn:aws:iam::${accountId}:role/${roleName}" # Provide the S3 bucket path information to the FAQ file faq_path = { "Bucket": "bucket-name", "Key": "FreeClinicsUSA.csv" } response = kendra.create_faq( S3Path = faq_path, Name = "FreeClinicsUSA", IndexId = index_id, RoleArn = role_arn ) print(response)
Java
package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.CreateFaqRequest; import software.amazon.awssdk.services.kendra.model.CreateFaqResponse; import software.amazon.awssdk.services.kendra.model.S3Path; public class AddFaqExample { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); String indexId = "yourIndexId"; String roleArn = "your role for accessing S3 files"; CreateFaqRequest createFaqRequest = CreateFaqRequest .builder() .indexId(indexId) .name("FreeClinicsUSA") .roleArn(roleArn) .s3Path( S3Path .builder() .bucket("an-aws-kendra-test-bucket") .key("FreeClinicsUSA.csv") .build()) .build(); CreateFaqResponse response = kendra.createFaq(createFaqRequest); System.out.println(String.format("The result of creating FAQ: %s", response)); } }

File FAQ dalam bahasa selain bahasa Inggris

Anda dapat mengindeks FAQ dalam bahasa yang didukung. Amazon Kendra mengindeks FAQ dalam bahasa Inggris secara default jika Anda tidak menentukan bahasa. Anda menentukan kode bahasa ketika Anda memanggil CreateFaqoperasi atau Anda dapat menyertakan kode bahasa untuk FAQ dalam metadata FAQ sebagai bidang. Jika FAQ tidak memiliki kode bahasa dalam metadatanya yang ditentukan dalam bidang metadata, FAQ diindeks menggunakan kode bahasa yang ditentukan saat Anda memanggil operasi. CreateFAQ Untuk mengindeks dokumen FAQ dalam bahasa yang didukung di konsol, buka FAQ dan pilih Tambah FAQ. Anda memilih bahasa dari Bahasa dropdown.