Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Berinteraksi dengan SQL generatif Amazon Q
catatan
Dukungan SQL generatif Amazon Q hanya tersedia dalam hal berikut: Wilayah AWS
Wilayah AS Timur (Virginia N.) (us-east-1)
Wilayah AS Timur (Ohio) (us-east-2)
Wilayah AS Barat (Oregon) (us-west-2)
Wilayah Asia Pasifik (Mumbai) (ap-south-1)
Wilayah Asia Pasifik (Seoul) (ap-northeast-2)
Wilayah Asia Pasifik (Singapura) (ap-southeast-1)
Wilayah Asia Pasifik (Sydney) (ap-southeast-2)
Wilayah Asia Pasifik (Tokyo) (ap-northeast-1)
Wilayah Kanada (Tengah) (ca-central-1)
Wilayah Eropa (Frankfurt) (eu-central-1)
Wilayah Eropa (Irlandia) (eu-west-1)
Wilayah Eropa (London) (eu-west-2)
Wilayah Eropa (Paris) (eu-west-3)
Wilayah Amerika Selatan (São Paulo) (sa-east-1)
Untuk informasi tentang tempat data Anda diproses, lihat Inferensi lintas wilayah di Amazon Q Developer di Panduan Pengguna Pengembang Amazon Q.
Anda dapat berinteraksi dengan kemampuan SQL generatif Amazon Q di editor kueri Amazon Redshift v2. Ini adalah asisten pengkodean yang menghasilkan pernyataan SQL berdasarkan prompt dan skema database Anda. Asisten pengkodean ini tersedia saat Anda membuat buku catatan di editor kueri v2. SQL yang dihasilkan adalah untuk database yang terhubung dengan notebook Anda.
Saat berinteraksi dengan SQL generatif Amazon Q, ajukan pertanyaan spesifik, ulangi ketika Anda memiliki permintaan yang rumit, dan verifikasi jawaban untuk akurasi.
Saat memberikan permintaan analisis dalam bahasa alami, sespesifik mungkin untuk membantu asisten pengkodean memahami dengan tepat apa yang Anda butuhkan. Alih-alih bertanya “temukan tempat teratas yang menjual tiket terbanyak,” berikan detail lebih lanjut seperti “temukan nama/id dari tiga tempat teratas yang menjual tiket terbanyak pada tahun 2008.” Gunakan nama objek yang konsisten dan spesifik dalam database Anda saat Anda mengetahuinya. Seperti skema, tabel, dan nama kolom seperti yang didefinisikan dalam database Anda alih-alih merujuk ke objek yang sama dengan cara yang berbeda, yang dapat membingungkan asisten.
Memecah permintaan kompleks menjadi beberapa pernyataan sederhana yang lebih mudah bagi asisten untuk menafsirkan. Ajukan pertanyaan tindak lanjut secara berulang untuk mendapatkan analisis yang lebih rinci dari asisten. Misalnya, tanyakan dulu “negara bagian mana yang memiliki tempat paling banyak?” Kemudian berdasarkan tanggapan, tanyakan “tempat mana yang paling populer dari negara bagian ini?”.
Tinjau SQL yang dihasilkan sebelum menjalankannya untuk memastikan akurasi. Jika kueri SQL yang dihasilkan memiliki kesalahan atau tidak cocok dengan maksud Anda, berikan instruksi kepada asisten tentang cara memperbaikinya alih-alih mengulangi seluruh permintaan. Misalnya, jika kueri tidak memiliki klausa predikat pada tahun, tanyakan “Sediakan tempat dari tahun 2008.”
Kirim teks kesalahan yang Anda terima dari menjalankan SQL yang dihasilkan sebagai petunjuk kembali ke SQL generatif Amazon Q. Ia belajar dari kesalahan ini untuk menghasilkan SQL yang lebih baik.
Tambahkan skema Anda ke jalur pencarian SQL untuk memberi sinyal bahwa skema harus digunakan. Misalnya, tambahkan skema tickit saat data berada dalam skema tickit daripada skema publik.
set search_path to '$user', tickit;
Pertimbangan saat berinteraksi dengan SQL generatif Amazon Q
Pertimbangkan hal berikut saat bekerja di panel obrolan.
Administrator editor kueri v2 untuk akun Anda harus mengaktifkan kemampuan obrolan di halaman pengaturan SQL Generatif.
Untuk menggunakan SQL generatif Amazon Q, Anda memerlukan izin
sqlworkbench:GetQSqlRecommendations
dalam kebijakan IAM, selain izin lain yang ditentukan dalam kebijakan AWS terkelola untuk editor kueri v2. Untuk informasi selengkapnya tentang kebijakan AWS terkelola, lihatMengakses editor kueri v2.Pertanyaan Anda harus ditulis dalam bahasa Inggris.
Pertanyaan Anda harus mengacu pada database yang terhubung di cluster atau workgroup Anda. Untuk menghindari kesalahan status kosong, harus ada setidaknya satu tabel dan beberapa data dalam database.
Pertanyaan Anda harus mengacu pada data yang disimpan dalam database yang terhubung. Itu tidak dapat merujuk skema eksternal. Untuk informasi selengkapnya tentang skema yang didukung, lihat Membuat skema di Panduan Pengembang Database Amazon Redshift.
Setiap pertanyaan yang menghasilkan SQL yang mengubah database yang terhubung dapat menghasilkan peringatan.
Teknologi AI generatif adalah hal baru dan mungkin ada kesalahan, kadang-kadang disebut halusinasi, dalam tanggapannya. Uji dan tinjau semua kode untuk kesalahan dan kerentanan sebelum menggunakannya di lingkungan atau beban kerja Anda.
Anda dapat meningkatkan rekomendasi dengan membagikan kueri SQL yang dijalankan oleh pengguna lain di akun Anda. Administrator akun Anda dapat menjalankan perintah SQL berikut untuk memungkinkan akses ke riwayat kueri akun.
GRANT ROLE SYS:MONITOR to "IAMR:
role-name
"; GRANT ROLE SYS:MONITOR to "IAM:user-name
"; GRANT ROLE SYS:MONITOR to "database-username
";Untuk informasi selengkapnya
SYS:MONITOR
, lihat peran yang ditentukan sistem Amazon Redshift di Panduan Pengembang Database Amazon Redshift.Data Anda aman dan pribadi. Data Anda tidak dibagikan di seluruh akun. Kueri, data, dan skema basis data Anda tidak digunakan untuk melatih model fondasi AI generatif (FM). Masukan Anda digunakan sebagai petunjuk kontekstual ke FM untuk menjawab hanya pertanyaan Anda.
Konteks khusus
Administrator editor kueri v2 dapat menentukan konteks khusus untuk menyesuaikan SQL yang dihasilkan dengan lingkungan Anda. Konteks kustom memberikan pengetahuan dan preferensi domain untuk memberikan kontrol halus atas pembuatan SQL. Konteks kustom didefinisikan dalam file JSON yang dapat diunggah oleh administrator editor kueri v2 ke SQL generatif Amazon Q.
Kunci JSON yang digunakan untuk mempersonalisasi SQL yang dihasilkan untuk gudang data adalah berikut.
Semua referensi tabel harus mengikuti database.schema.table
notasi tiga bagian.
- Sumber daya
Sumber daya menentukan ruang lingkup atau bagian dari aset data yang konteks kustom diterapkan.
- ResourceId
Menentukan identifier unik dari sumber daya. Untuk cluster Amazon Redshift, tentukan.
cluster id
Untuk grup kerja Redshift Tanpa Server, tentukan.workgroup name
- ResourceType
Nilai valid:
REDSHIFT_WAREHOUSE
.- TablesToInclude
Menentukan satu set tabel yang dipertimbangkan untuk generasi SQL. Bidang ini sangat penting ketika Anda ingin membatasi ruang lingkup kueri SQL ke subset yang ditentukan dari tabel yang tersedia. Ini dapat membantu mengoptimalkan proses pembuatan dengan mengurangi referensi tabel yang tidak perlu. Anda dapat memasangkan bidang ini dengan kontrol
TablesToExclude
yang lebih baik atas pembuatan kueri.- TablesToExclude
Menentukan set tabel yang dikecualikan dari generasi SQL. Gunakan ini ketika tabel tertentu tidak relevan atau tidak boleh dipertimbangkan dalam proses pembuatan kueri.
- TableAnnotations
Menyediakan metadata atau informasi tambahan tentang tabel yang digunakan. Anotasi ini dapat mencakup deskripsi tabel, catatan penggunaan, atau atribut tambahan apa pun yang membantu SQL generatif Amazon Q lebih memahami konteks atau struktur tabel. Ini berharga untuk meningkatkan akurasi pembuatan SQL dengan menambahkan kejelasan pada definisi tabel.
- ColumnsToInclude
Mendefinisikan kolom mana dari tabel yang ditentukan disertakan saat menghasilkan kueri SQL. Bidang ini membantu Amazon Q generatif SQL fokus pada kolom yang relevan dan meningkatkan kinerja dengan mempersempit ruang lingkup pengambilan data. Ini memastikan SQL generatif Amazon Q hanya menarik data yang diperlukan untuk konteks kueri yang diberikan.
- ColumnsToExclude
Menentukan kolom yang dihilangkan dari pertimbangan dalam generasi SQL. Ini dapat digunakan ketika kolom tertentu berisi data yang tidak relevan atau berlebihan yang tidak boleh dipertimbangkan oleh SQL generatif Amazon Q. Dengan mengelola penyertaan dan pengecualian kolom, Anda dapat memperbaiki hasil dan mempertahankan kontrol atas data yang diambil.
- ColumnAnnotations
Mirip dengan
TableAnnotations
, bidang ini menyediakan metadata atau anotasi khusus untuk masing-masing kolom. Anotasi ini dapat menawarkan wawasan tentang definisi kolom atau instruksi penanganan khusus. Informasi ini bermanfaat dalam memandu proses pembuatan SQL dan memastikan bahwa kolom digunakan dengan tepat dalam kueri.- CuratedQueries
Satu set contoh pertanyaan dan jawaban yang telah ditentukan, di mana pertanyaan ditulis dalam bahasa alami (NLQ) dan jawabannya adalah kueri SQL yang sesuai. Contoh-contoh ini membantu SQL generatif Amazon Q memahami jenis kueri yang diharapkan akan dihasilkan. Mereka berfungsi sebagai titik referensi untuk meningkatkan akurasi dan relevansi output SQL generatif Amazon Q.
- CustomDocuments
Potongan informasi atau petunjuk tambahan yang diberikan kepada SQL generatif Amazon Q, seperti definisi, pengetahuan khusus domain, atau penjelasan. Misalnya, jika unit bisnis Anda menggunakan cara unik untuk menghitung nilai, misalnya “di divisi manufaktur total penjualan adalah harga* pendapatan” ini dapat didokumentasikan di sini. Dokumen-dokumen ini meningkatkan kemampuan SQL generatif Amazon Q untuk menafsirkan input bahasa alami dengan memberikan konteks tambahan.
- AdditionalTables
Menentukan setiap tabel tambahan yang harus dipertimbangkan untuk generasi SQL tetapi bukan bagian dari data yang disimpan dalam gudang data. Hal ini memungkinkan SQL generatif Amazon Q untuk mengintegrasikan sumber data eksternal ke dalam logika generasi SQL, memperluas kapasitasnya untuk menangani lingkungan data yang kompleks.
- AppendToPrompt
Petunjuk atau pedoman tambahan yang diberikan kepada SQL generatif Amazon Q untuk memandu proses pembuatan SQL. Ini dapat mencakup arahan khusus tentang cara menyusun kueri, preferensi untuk konstruksi SQL tertentu, atau instruksi tingkat tinggi lainnya yang meningkatkan kualitas keluaran SQL generatif Amazon Q.
Contoh konteks kustom berikut menunjukkan format file JSON dan mendefinisikan yang berikut:
Mendefinisikan konteks kustom untuk gudang data Amazon Redshift untuk klaster.
mycluster
Mendefinisikan tabel dan kolom tertentu untuk disertakan dan dikecualikan untuk membantu mengoptimalkan proses pembuatan SQL.
Mendefinisikan anotasi untuk tabel dan kolom yang dipanggil untuk disertakan.
Mendefinisikan contoh kueri yang dikuratori untuk SQL generatif Amazon Q untuk digunakan.
Mendefinisikan dokumen kustom dan pagar untuk digunakan saat membuat SQL.
Mendefinisikan DDL untuk tabel tambahan untuk digunakan saat menghasilkan SQL.
{
"resources": [
{
"ResourceId": "mycluster",
"ResourceType": "REDSHIFT_WAREHOUSE",
"TablesToInclude": [
"database.schema.table1",
"database.schema.table2"
],
"TablesToExclude": [
"database.schema.table3",
"database.schema.table4"
],
"ColumnsToInclude": {
"database.schema.table1": [
"col1",
"col2"
],
"database.schema.table2": [
"col1",
"col2"
]
},
"ColumnsToExclude": {
"database.schema.table5": [
"col1",
"col2"
],
"database.schema.table6": [
"col1",
"col2"
]
},
"TableAnnotations": {
"database.schema.table1": "table1 refers to Q3 sales",
"database.schema.table2": "table2 refers to Q4 sales"
},
"ColumnAnnotations": {
"database.schema.table1": {
"col1": "col1 refers to Q3 sale total",
"col2": "col2 refers to sale location"
},
"database.schema.table2": {
"col1": "col2 refers to Q4 sale total",
"col2": "col2 refers to sale location"
}
},
"CuratedQueries": [
{
"Question": "what is the sales data for Q3",
"Answer": "SELECT * FROM table1"
},
{
"Question": "what is the sales data for Q4",
"Answer": "SELECT * FROM table2"
}
],
"CustomDocuments": [
"in manufacturing division total sales is price * revenue",
"in research division total sales is price * revenue"
],
"AdditionalTables": {
"database.schema.table8": "create table database.schema.table8(col1 int)",
"database.schema.table9": "create table database.schema.table9(col1 int)"
},
"AppendToPrompt": "Apply these guardrails: Queries should never return the secretId field of a user."
}
]
}