Integrasi Amazon Redshift MLL dengan Amazon Bedrock - Amazon Redshift

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

Integrasi Amazon Redshift MLL dengan Amazon Bedrock

Bagian ini menjelaskan cara menggunakan integrasi Amazon Redshift MLdengan Amazon Bedrock. Dengan fitur ini, Anda dapat memanggil model Amazon Bedrock menggunakan SQL, dan Anda dapat menggunakan data Anda dari gudang data Amazon Redshift untuk membangun aplikasi AI generatif seperti pembuatan teks, analisis sentimen, atau terjemahan.

Membuat atau memperbarui peran IAM untuk integrasi Amazon Redshift MLdengan Amazon Bedrock

Bagian ini menunjukkan cara membuat peran IAM untuk digunakan dengan integrasi Amazon Redshift MLdengan Amazon Bedrock.

Tambahkan kebijakan berikut ke peran IAM yang Anda gunakan dengan integrasi Amazon Redshift MLdengan Amazon Bedrock:

  • AmazonBedrockFullAccess

Agar Amazon Redshift dapat berperan berinteraksi dengan layanan lain, tambahkan kebijakan kepercayaan berikut ke peran IAM:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Jika cluster atau namespace berada dalam VPC, ikuti instruksi di. Cluster dan konfigurasikan pengaturan untuk administrasi Amazon Redshift ML.

Jika Anda memerlukan kebijakan yang lebih ketat, Anda dapat membuat kebijakan yang hanya menyertakan izin Amazon Bedrock yang ditentukan di halaman berikut:

Untuk informasi tentang membuat peran IAM, lihat Pembuatan Peran IAM di AWS Identity and Access Management Panduan Pengguna.

Membuat model eksternal untuk integrasi Amazon Redshift MLdengan Amazon Bedrock

Bagian ini menunjukkan cara membuat model eksternal untuk digunakan sebagai antarmuka untuk Amazon Bedrock dalam gudang data Amazon Redshift Anda.

Untuk menjalankan model Amazon Bedrock dari Amazon Redshift, Anda harus menjalankan perintah terlebih dahulu. CREATE EXTERNAL MODEL Perintah ini membuat objek model eksternal dalam database, dan fungsi pengguna terkait yang Anda gunakan untuk menghasilkan konten teks dengan Amazon Bedrock.

Contoh kode berikut menunjukkan CREATE EXTERNAL MODEL perintah dasar:

CREATE EXTERNAL MODEL llm_claude FUNCTION llm_claude_func IAM_ROLE '<IAM role arn>' MODEL_TYPE BEDROCK SETTINGS ( MODEL_ID 'anthropic.claude-v2:1', PROMPT 'Summarize the following text:');

CREATE EXTERNAL MODELPerintah ini memiliki antarmuka terpadu dan konsisten dengan Amazon Bedrock untuk semua Model Foundation (FM) yang mendukung pesan. Ini adalah opsi default saat menggunakan CREATE EXTERNAL MODEL perintah atau ketika secara eksplisit menentukan jenis permintaan yang akan menjadi. UNIFIED Untuk informasi selengkapnya, lihat dokumentasi Converse API di dokumentasi Amazon Bedrock API.

Jika FM tidak mendukung pesan, maka Anda harus mengatur request_type pengaturan keRAW. Saat Anda menyetel request_type keRAW, Anda harus membuat permintaan yang dikirim ke Amazon Bedrock saat menggunakan fungsi inferensi berdasarkan FM yang dipilih.

PROMPTParameter untuk CREATE EXTERNAL MODEL perintah adalah prompt statis. Jika Anda memerlukan prompt dinamis untuk aplikasi Anda, Anda harus menentukannya saat menggunakan fungsi inferensi. Untuk lebih jelasnya, lihat Rekayasa cepat untuk integrasi Amazon Redshift MS dengan Amazon Bedrock berikut.

Untuk informasi selengkapnya tentang CREATE EXTERNAL MODEL pernyataan dan parameter serta pengaturannya, lihatBUAT MODEL EKSTERNAL.

Menggunakan model eksternal untuk integrasi Amazon Redshift MLdengan Amazon Bedrock

Bagian ini menunjukkan cara memanggil model eksternal untuk menghasilkan teks sebagai respons terhadap permintaan yang diberikan. Untuk memanggil model eksternal, gunakan fungsi inferensi yang Anda buat dengan. CREATE EXTERNAL MODEL

Inferensi dengan model tipe UNIFIED permintaan

Fungsi inferensi untuk model dengan tipe permintaan UNIFIED memiliki tiga parameter berikut yang diteruskan ke fungsi secara berurutan:

  • Teks input (wajib): Parameter ini menentukan teks input yang diteruskan Amazon Redshift ke Amazon Bedrock.

  • Konfigurasi inferensi dan bidang permintaan model tambahan (opsional): Amazon Redshift meneruskan parameter ini ke parameter yang sesuai untuk API model Converse.

Contoh kode berikut menunjukkan cara menggunakan fungsi inferensi UNIFIED tipe:

SELECT llm_claude_func(input_text, object('temperature', 0.7, 'maxtokens', 500)) FROM some_data;

Inferensi dengan model tipe RAW permintaan

Fungsi inferensi untuk model dengan tipe permintaan hanya RAW memiliki satu parameter tipe SUPER data. Sintaks parameter ini tergantung pada model Amazon Bedrock yang digunakan.

Contoh kode berikut menunjukkan cara menggunakan fungsi inferensi RAW tipe:

SELECT llm_titan_func( object( "inputText", "Summarize the following text: " | input_text, "textGenerationConfig", object("temperature", 0.5, "maxTokenCount", 500) ) ) FROM some_data;

Fungsi inferensi sebagai fungsi khusus pemimpin

Fungsi inferensi untuk model Amazon Bedrock dapat dijalankan sebagai fungsi khusus simpul pemimpin saat kueri yang menggunakannya tidak mereferensikan tabel apa pun. Ini dapat membantu jika Anda ingin mengajukan pertanyaan LLM dengan cepat.

Contoh kode berikut menunjukkan cara menggunakan fungsi inferensi khusus pemimpin:

SELECT general_titan_llm_func('Summarize the benefits of LLM on data analytics in 100 words');

Catatan penggunaan fungsi inferensi

Perhatikan hal berikut saat menggunakan fungsi inferensi dengan integrasi Amazon Redshift MLdengan Amazon Bedrock:

  • Nama-nama parameter untuk semua model Amazon Bedrock peka huruf besar/kecil. Jika parameter Anda tidak cocok dengan yang diperlukan oleh model, Amazon Bedrock mungkin diam-diam mengabaikannya.

  • Throughput kueri inferensi dibatasi oleh kuota runtime dari berbagai model yang ditawarkan oleh Amazon Bedrock di berbagai wilayah. Untuk informasi selengkapnya, lihat Kuota untuk Amazon Bedrock di Panduan Pengguna Amazon Bedrock.

  • Jika Anda membutuhkan throughput yang terjamin dan konsisten, pertimbangkan untuk mendapatkan throughput yang disediakan untuk model yang Anda butuhkan dari Amazon Bedrock. Untuk informasi selengkapnya, lihat Meningkatkan kapasitas pemanggilan model dengan Throughput yang Disediakan di Amazon Bedrock di Panduan Pengguna Amazon Bedrock.

  • Kueri inferensi dengan sejumlah besar data mungkin mendapatkan pengecualian pelambatan. Ini karena kuota runtime terbatas untuk Amazon Bedrock. Amazon Redshift mencoba ulang permintaan beberapa kali, tetapi kueri masih dapat dibatasi karena throughput untuk model yang tidak disediakan mungkin bervariasi.

  • Jika Anda menemukan pengecualian pembatasan yang berasal dari Amazon Bedrock seperti Too many requests, please wait before trying again. bahkan dengan sejumlah kecil data, periksa kuota di bawah Service Quotas di akun Amazon Bedrock Anda. Periksa apakah kuota tingkat akun yang diterapkan setidaknya sama dengan nilai kuota AWS default untuk InvokeModelpermintaan model yang Anda gunakan.

Rekayasa cepat untuk integrasi Amazon Redshift MS dengan Amazon Bedrock

Bagian ini menunjukkan cara menggunakan prompt statis dengan model eksternal.

Untuk menggunakan awalan statis dan sufiks prompt untuk model eksternal Anda, berikan mereka menggunakan PROMPT dan SUFFIX parameter pernyataan. CREATE EXTERNAL MODEL Permintaan ini ditambahkan ke setiap kueri menggunakan model eksternal.

Contoh berikut menunjukkan cara menambahkan awalan dan sufiks prompt ke model eksternal:

CREATE EXTERNAL MODEL llm_claude FUNCTION llm_claude_func IAM_ROLE '<IAM role arn>' MODEL_TYPE BEDROCK SETTINGS ( MODEL_ID 'anthropic.claude-v2:1', PROMPT 'Summarize the following text:', SUFFIX 'Respond in an analytic tone');

Untuk menggunakan prompt dinamis, Anda dapat memberikannya saat menggunakan fungsi inferensi dengan menggabungkannya dalam input fungsi. Contoh berikut menunjukkan cara menggunakan prompt dinamis dengan fungsi inferensi:

SELECT llm_claude_func('Summarize the following review:' | input_text | 'The review should have formal tone.') FROM some_data