Menggunakan AWS CloudFormation untuk mengatur inferensi jarak jauh untuk pencarian semantik - OpenSearch Layanan Amazon

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

Menggunakan AWS CloudFormation untuk mengatur inferensi jarak jauh untuk pencarian semantik

Dimulai dengan OpenSearch versi 2.9, Anda dapat menggunakan inferensi jarak jauh dengan pencarian semantik untuk meng-host model machine learning (ML) Anda sendiri. Inferensi jarak jauh menggunakan plugin ML Commons untuk memungkinkan Anda meng-host inferensi model Anda dari jarak jauh pada layanan ML, seperti dan Amazon SageMaker Amazon BedRock, dan menghubungkannya ke OpenSearch Layanan Amazon dengan konektor ML.

Untuk memudahkan penyiapan inferensi jarak jauh, Amazon OpenSearch Service menyediakan AWS CloudFormationtemplate di konsol. CloudFormation adalah sebuah Layanan AWS yang memungkinkan Anda memodelkan, menyediakan, dan mengelola AWS dan sumber daya pihak ketiga dengan memperlakukan infrastruktur sebagai kode.

OpenSearch CloudFormation Template mengotomatiskan proses penyediaan model untuk Anda, sehingga Anda dapat dengan mudah membuat model di domain OpenSearch Layanan Anda dan kemudian menggunakan ID model untuk menelan data dan menjalankan kueri penelusuran saraf.

Saat Anda menggunakan encoder neural sparse dengan OpenSearch Service versi 2.12 dan seterusnya, sebaiknya Anda menggunakan model tokenizer secara lokal alih-alih menerapkan dari jarak jauh. Untuk informasi selengkapnya, lihat Model pengkodean jarang dalam dokumentasi. OpenSearch

Prasyarat

Untuk menggunakan CloudFormation template dengan OpenSearch Service, lengkapi prasyarat berikut.

Menyiapkan domain OpenSearch Layanan

Sebelum dapat menggunakan CloudFormation templat, Anda harus menyiapkan domain OpenSearch Layanan Amazon dengan versi 2.9 atau yang lebih baru dan kontrol akses berbutir halus diaktifkan. Buat peran backend OpenSearch Layanan untuk memberikan izin plugin MLCommons untuk membuat konektor untuk Anda.

CloudFormation Template membuat peran Lambda IAM untuk Anda dengan nama defaultLambdaInvokeOpenSearchMLCommonsRole, yang dapat Anda ganti jika Anda ingin memilih nama yang berbeda. Setelah template membuat peran IAM ini, Anda perlu memberikan izin fungsi Lambda untuk memanggil domain Layanan OpenSearch Anda. Untuk melakukannya, petakan peran yang diberi nama ml_full_access ke peran backend OpenSearch Service Anda dengan langkah-langkah berikut:

  1. Arahkan ke plugin OpenSearch Dasbor untuk domain OpenSearch Layanan Anda. Anda dapat menemukan titik akhir Dasbor di dasbor domain Anda di konsol OpenSearch Layanan.

  2. Dari menu utama pilih Keamanan, Peran, dan pilih peran ml_full_access.

  3. Pilih Pengguna yang Dipetakan, Kelola pemetaan.

  4. Di bawah peran Backend, tambahkan ARN dari peran Lambda yang memerlukan izin untuk memanggil domain Anda.

    arn:aws:iam::account-id:role/role-name
  5. Pilih Peta dan konfirmasikan pengguna atau peran muncul di bawah Pengguna yang dipetakan.

Setelah Anda memetakan peran, navigasikan ke konfigurasi keamanan domain Anda dan tambahkan peran Lambda IAM ke kebijakan akses Layanan OpenSearch Anda.

Aktifkan izin pada Anda Akun AWS

Anda Akun AWS harus memiliki izin untuk mengakses CloudFormation dan Lambda, bersama dengan mana pun yang Layanan AWS Anda pilih untuk template Anda — baik Runtime atau Amazon. SageMaker BedRock

Jika Anda menggunakan Amazon Bedrock, Anda juga harus mendaftarkan model Anda. Lihat Akses model di Panduan Pengguna Amazon Bedrock untuk mendaftarkan model Anda.

Jika Anda menggunakan bucket Amazon S3 Anda sendiri untuk menyediakan artefak model, Anda harus menambahkan peran CloudFormation IAM ke kebijakan akses S3 Anda. Untuk informasi lebih lanjut, lihat Menambahkan dan menghapus izin identitas IAM dalam Panduan Pengguna IAM.

Amazon SageMaker template

SageMaker CloudFormation Templat Amazon menentukan beberapa AWS sumber daya untuk menyiapkan plugin saraf dan pencarian semantik untuk Anda.

Pertama, gunakan Integrasi dengan model penyematan teks melalui SageMaker template Amazon untuk menerapkan model penyematan teks di SageMaker Runtime sebagai server. Jika Anda tidak menyediakan titik akhir model, CloudFormation buat peran IAM yang memungkinkan SageMaker Runtime mengunduh artefak model dari Amazon S3 dan menerapkannya ke server. Jika Anda memberikan titik akhir, CloudFormation buat peran IAM yang memungkinkan fungsi Lambda mengakses domain OpenSearch Layanan atau, jika peran sudah ada, memperbarui dan menggunakan kembali peran tersebut. Endpoint melayani model jarak jauh yang digunakan untuk konektor ML dengan plugin MLCommons.

Selanjutnya, gunakan template Integrasi dengan Sparse Encoders melalui Amazon Sagemaker untuk membuat fungsi Lambda yang membuat domain Anda menyiapkan konektor inferensi jarak jauh. Setelah konektor dibuat di OpenSearch Service, inferensi jarak jauh dapat menjalankan pencarian semantik menggunakan model jarak jauh di Runtime. SageMaker Template mengembalikan ID model di domain Anda kembali kepada Anda sehingga Anda dapat mulai mencari.

Untuk menggunakan SageMaker CloudFormation template Amazon
  1. Buka konsol OpenSearch Layanan Amazon di https://console.aws.amazon.com/aos/home.

  2. Di navigasi kiri, pilih Integrasi.

  3. Di bawah setiap SageMaker templat Amazon, pilih Konfigurasi domain, Konfigurasikan domain publik.

  4. Ikuti prompt di CloudFormation konsol untuk menyediakan tumpukan Anda dan menyiapkan model.

catatan

OpenSearch Layanan juga menyediakan template terpisah untuk mengkonfigurasi domain VPC. Jika Anda menggunakan template ini, Anda perlu memberikan ID VPC untuk fungsi Lambda.

Templat Amazon Bedrock

Mirip dengan SageMaker CloudFormation template Amazon, template Amazon Bedrock CloudFormation menyediakan AWS sumber daya yang diperlukan untuk membuat konektor antara OpenSearch Service dan Amazon Bedrock.

Pertama, template membuat peran IAM yang memungkinkan fungsi Lambda future mengakses domain Layanan OpenSearch Anda. Template kemudian membuat fungsi Lambda, yang memiliki domain membuat konektor menggunakan plugin MLCommons. Setelah OpenSearch Service membuat konektor, penyiapan inferensi jarak jauh selesai dan Anda dapat menjalankan pencarian semantik menggunakan operasi Amazon Bedrock API.

Perhatikan bahwa karena Amazon Bedrock meng-host model ML-nya sendiri, Anda tidak perlu menerapkan model ke SageMaker Runtime. Sebagai gantinya, template menggunakan titik akhir yang telah ditentukan untuk Amazon Bedrock dan melewatkan langkah penyediaan titik akhir.

Untuk menggunakan template Amazon Bedrock CloudFormation
  1. Buka konsol OpenSearch Layanan Amazon di https://console.aws.amazon.com/aos/home.

  2. Di navigasi kiri, pilih Integrasi.

  3. Di bawah Integrasikan dengan Amazon Titan Text Embeddings model melalui Amazon Bedrock, pilih Konfigurasi domain, Konfigurasikan domain publik.

  4. Ikuti prompt untuk mengatur model Anda.

catatan

OpenSearch Layanan juga menyediakan template terpisah untuk mengkonfigurasi domain VPC. Jika Anda menggunakan template ini, Anda perlu memberikan ID VPC untuk fungsi Lambda.

Selain itu, OpenSearch Service menyediakan template Amazon Bedrock berikut untuk terhubung ke model Cohere dan model penyematan multimodal Amazon Titan:

  • Integration with Cohere Embed through Amazon Bedrock

  • Integrate with Amazon Bedrock Titan Multi-modal