View a markdown version of this page

Integrasi Amazon Redshift ML dengan Amazon Bedrock - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

Integrasi Amazon Redshift ML dengan Amazon Bedrock

Bagian ini menjelaskan cara menggunakan integrasi Amazon Redshift ML dengan 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 ML dengan Amazon Bedrock

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

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

  • AmazonBedrockFullAccess

Untuk mengizinkan Amazon Redshift mengambil peran untuk berinteraksi dengan layanan lain, tambahkan kebijakan kepercayaan berikut ke peran IAM:

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

Jika cluster atau namespace berada di VPC, ikuti instruksi di. Pengaturan pengelompokan dan konfigurasikan 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 Panduan AWS Identity and Access Management Pengguna.

Membuat model eksternal untuk integrasi Amazon Redshift ML dengan Amazon Bedrock

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

Untuk memanggil 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:');

Per CREATE EXTERNAL MODEL intah ini memiliki antarmuka yang 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 permintaanUNIFIED. Untuk informasi selengkapnya, lihat dokumentasi API Converse di dokumentasi Amazon Bedrock API.

Jika FM tidak mendukung pesan, maka Anda harus mengatur request_type pengaturan keRAW, seperti yang ditunjukkan contoh berikut. Saat Anda menyet RAW el request_type ke, Anda harus membuat permintaan yang dikirim ke Amazon Bedrock saat menggunakan fungsi inferensi berdasarkan FM yang dipilih. Pastikan Anda mengaktifkan akses ke model Titan Text G1 — Express di Amazon Bedrock sebelum menjalankan contoh berikut.

CREATE EXTERNAL MODEL titan_raw FUNCTION func_titan_raw IAM_ROLE '<IAM role arn>' MODEL_TYPE BEDROCK SETTINGS ( MODEL_ID 'amazon.titan-text-express-v1', REQUEST_TYPE RAW, RESPONSE_TYPE SUPER);

Jika Anda memerlukan informasi lebih lanjut tentang permintaan input seperti token total, Anda dapat meminta RESPONSE_TYPE untuk menjadi super saat Anda membuat model.

CREATE EXTERNAL MODEL patient_recommendations_v2 FUNCTION patient_recommendations_func_v2 IAM_ROLE '<IAM role arn>' MODEL_TYPE BEDROCK SETTINGS ( MODEL_ID 'anthropic.claude-v2', PROMPT 'Generate personalized diet plan for following patient:', RESPONSE_TYPE SUPER);

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 detail selengkapnya, lihat Rekayasa cepat untuk integrasi Amazon Redshift ML dengan Amazon Bedrock.

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

Menggunakan model eksternal untuk integrasi Amazon Redshift ML dengan Amazon Bedrock

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

Inferensi dengan model tipe permintaan UNIFIED

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

  • Teks masukan (wajib): Parameter ini menentukan teks masukan 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 permintaan RAW

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 utama node ketika kueri yang menggunakannya tidak mereferensikan tabel apa pun. Ini dapat membantu jika Anda ingin dengan cepat mengajukan pertanyaan kepada LLM.

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 ML dengan 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 Wilayah yang berbeda. 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 Mening katkan kapasitas pemanggilan model dengan Throughput Tersediakan 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 kembali permintaan beberapa kali, tetapi kueri masih dapat dibatasi karena throughput untuk model yang tidak disediakan mungkin bervariasi.

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

Rekayasa cepat untuk integrasi Amazon Redshift ML dengan Amazon Bedrock

Bagian ini menunjukkan cara menggunakan prompt statis dengan model eksternal.

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

Contoh berikut menunjukkan cara menambahkan petunjuk awalan dan akhiran 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 menyediakannya 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