

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="machine-learning-br"></a>

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.

**Topics**
+ [Membuat atau memperbarui peran IAM untuk integrasi Amazon Redshift MLdengan Amazon Bedrock](#machine-learning-br-iam)
+ [Membuat model eksternal untuk integrasi Amazon Redshift MLdengan Amazon Bedrock](#machine-learning-br-create)
+ [Menggunakan model eksternal untuk integrasi Amazon Redshift MLdengan Amazon Bedrock](#machine-learning-br-use)
+ [Rekayasa cepat untuk integrasi Amazon Redshift MS dengan Amazon Bedrock](#machine-learning-br-prompt)

## Membuat atau memperbarui peran IAM untuk integrasi Amazon Redshift MLdengan Amazon Bedrock
<a name="machine-learning-br-iam"></a>

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:

------
#### [ JSON ]

****  

```
{
   "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.](getting-started-machine-learning.md#admin-setup) 

Jika Anda memerlukan kebijakan yang lebih ketat, Anda dapat membuat kebijakan yang hanya menyertakan izin Amazon Bedrock yang ditentukan di halaman berikut:
+ [Cluster dan konfigurasikan pengaturan untuk administrasi Amazon Redshift ML.](getting-started-machine-learning.md#admin-setup)
+ [Izin yang diperlukan untuk menggunakan machine learning Amazon Redshift (ML)](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#iam-permission-ml?)

Untuk informasi tentang membuat peran IAM, lihat [Pembuatan Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) di *AWS Identity and Access Management Panduan Pengguna*.

## Membuat model eksternal untuk integrasi Amazon Redshift MLdengan Amazon Bedrock
<a name="machine-learning-br-create"></a>

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 MODEL`Perintah 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](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) *Amazon Bedrock API*.

Jika FM tidak mendukung pesan, maka Anda harus mengatur `request_type` pengaturan ke`RAW`, seperti contoh berikut menunjukkan. Saat Anda menyetel `request_type` ke`RAW`, 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 total token, Anda dapat meminta `RESPONSE_TYPE` untuk menjadi `super` ketika 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);
```

`PROMPT`Parameter 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 MS dengan Amazon Bedrock](#machine-learning-br-prompt).

Untuk informasi selengkapnya tentang `CREATE EXTERNAL MODEL` pernyataan dan parameter serta pengaturannya, lihat[BUAT MODEL EKSTERNAL](r_create_external_model.md).

## Menggunakan model eksternal untuk integrasi Amazon Redshift MLdengan Amazon Bedrock
<a name="machine-learning-br-use"></a>

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`

**Topics**
+ [Inferensi dengan model tipe `UNIFIED` permintaan](#machine-learning-br-use-unified)
+ [Inferensi dengan model tipe `RAW` permintaan](#machine-learning-br-use-raw)
+ [Fungsi inferensi sebagai fungsi khusus pemimpin](#machine-learning-br-use-leader)
+ [Catatan penggunaan fungsi inferensi](#machine-learning-br-use-usage)

### Inferensi dengan model tipe `UNIFIED` permintaan
<a name="machine-learning-br-use-unified"></a>

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 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 `RAW` permintaan
<a name="machine-learning-br-use-raw"></a>

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
<a name="machine-learning-br-use-leader"></a>

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 segera mengajukan pertanyaan 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
<a name="machine-learning-br-use-usage"></a>

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](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html) 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](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html).*
+ 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 **InvokeModel**permintaan model yang Anda gunakan.

## Rekayasa cepat untuk integrasi Amazon Redshift MS dengan Amazon Bedrock
<a name="machine-learning-br-prompt"></a>

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
```