Penerbit digital terus mencari cara untuk merampingkan dan mengotomatiskan alur kerja media mereka untuk menghasilkan dan menerbitkan konten baru secepat mungkin, tetapi tanpa kualitas sebelumnya.
Menambahkan gambar untuk menangkap esensi teks dapat meningkatkan pengalaman membaca. Teknik pembelajaran mesin dapat membantu Anda menemukan gambar tersebut. “Gambar yang mencolok adalah salah satu cara paling efektif untuk menarik perhatian penonton dan menciptakan keterlibatan dengan cerita Anda - tetapi juga harus masuk akal”.
Dalam proyek AWS-sampel ini, Anda melihat bagaimana Anda dapat menggunakan model Amazon Titan Foundation untuk dengan cepat memahami artikel dan menemukan gambar terbaik untuk menemaninya. Kali ini, Anda menghasilkan embedding langsung dari gambar.
Konsep kunci dalam pencarian semantik adalah embeddings. Embedding adalah representasi numerik dari beberapa input - gambar, teks, atau keduanya - dalam bentuk vektor. Ketika Anda memiliki banyak vektor, Anda dapat mengukur jarak di antara mereka, dan vektor yang dekat jaraknya secara semantik serupa atau terkait.
Amazon Bedrock adalah layanan yang dikelola sepenuhnya yang menawarkan pilihan model fondasi berkinerja tinggi (FMS) dari perusahaan AI terkemuka termasuk AI21 Labs, Anthropic, Cohere, Meta, Stability AI, dan Amazon dengan API tunggal, bersama dengan serangkaian kemampuan untuk membantu Anda membangun aplikasi AI generatif, pengembangan penyederhanaan sambil mempertahankan privasi dan keamanan.
Amazon Titan baru -baru ini menambahkan model embedding baru ke koleksinya, Titan Multimodal Embeddings. Model baru ini dapat digunakan untuk pencarian multimodal, sistem rekomendasi, dan aplikasi hilir lainnya.
Model multimodal dapat memahami dan menganalisis data dalam berbagai modalitas seperti teks, gambar, video, dan audio. Model Amazon Titan terbaru ini dapat menerima teks, gambar, atau keduanya. Ini berarti Anda menggunakan model yang sama untuk menghasilkan embedding gambar dan teks dan menggunakan embedding tersebut untuk menghitung seberapa mirip keduanya.


Langkah -langkah berikut ini berbicara melalui urutan tindakan yang memungkinkan citra semantik dan pencarian selebriti.
Dalam contoh ini, Anda melihat cara menggunakan Amazon Rekognition, Amazon Comprehend, Amazon Bedrock, dan OpenSearch Service untuk mengekstrak metadata dari gambar Anda dan kemudian menggunakan teknik ML untuk menemukannya secara otomatis menggunakan selebriti dan pencarian semantik. Ini sangat penting dalam industri penerbitan, di mana kecepatan penting dalam mendapatkan konten segar dengan cepat dan ke berbagai platform.
Sebagai langkah berikutnya, sebarkan solusi di akun AWS Anda dan unggah beberapa gambar Anda sendiri untuk menguji bagaimana pencarian semantik dapat bekerja untuk Anda.
Sam Cli
Solusinya menggunakan SAM CLI untuk penempatan. Pastikan untuk menggunakan Sam Cli versi terbaru
Buruh pelabuhan
Solusi menggunakan opsi SAM CLI untuk membangun di dalam wadah untuk menghindari kebutuhan akan dependensi lokal. Anda akan membutuhkan Docker yang tersedia untuk ini.
Node
Ujung depan untuk solusi ini adalah aplikasi web React yang dapat dijalankan secara lokal menggunakan node
NPM
Instalasi paket yang diperlukan untuk menjalankan aplikasi web secara lokal, atau membangunnya untuk penyebaran jarak jauh, memerlukan NPM.
Akses Model Dasar
Jika Anda ingin berinteraksi dengan model dari Amazon Bedrock, Anda perlu meminta akses ke model dasar di salah satu daerah di mana Amazon Bedrock tersedia. Pastikan untuk membaca dan menerima perjanjian lisensi pengguna akhir model atau EULA.
| Model | Max Token Input | Dimensi menanamkan | Harga untuk Token Input 1K | Harga untuk Token Output 1K |
|---|---|---|---|---|
| Embeddings multimodal Amazon | 128 | 1.024 (default), 384, 256 | Harga Bedrock | n/a |
| Teks Titan - Express | 8k | n/a | Harga Bedrock |
Anda perlu meminta akses ke kedua model di atas.
Ketika kami merangkum teks dalam alur kerja kami, kami dapat menentukan token output maks pada model Titan Text - Express, dan ini memastikan bahwa kami melewati kurang dari 128 token ke model penyematan.
Model embedding multimodal juga memiliki ukuran dimensi gambar maks 2048x2048 yang kami tangani sebagai bagian dari fungsi lambda yang menanamkan gambar.
Catatan:
Penyebaran ini saat ini diatur untuk digunakan ke wilayah AS-East-1. Silakan periksa ketersediaan wilayah Amazon Bedrock dan perbarui file samconfig.toml untuk mencerminkan wilayah yang Anda inginkan.
Kami merekomendasikan untuk menggunakan AWS Cloud9. Jika Anda ingin menggunakan Cloud9 untuk menggunakan solusinya, Anda akan memerlukan yang berikut sebelum melanjutkan:
m5.large sebagai jenis instance.Amazon Linux 2 sebagai platform.Anda dapat menjalankan perintah ini dari baris perintah/terminal Anda, atau Anda dapat menggunakan AWS Cloud9.
git clone https://github.com/aws-samples/semantic-image-search-for-articles.git cd semantic-image-search-for-articlesJika Anda menggunakan cloud9, tingkatkan volume EBS instance ke setidaknya 50GB. Untuk melakukan ini, jalankan perintah berikut dari terminal cloud9:
bash ./scripts/cloud9-resize.sh 50
Lihat dokumentasi untuk detail lebih lanjut tentang ubah ukuran lingkungan.
Tinjau file ini: samconfig.toml
Di sini Anda dapat memberi nama tumpukan Anda, dan memilih wilayah yang ingin Anda gunakan.
region = "us-east-1"Periksa apakah semua layanan AWS tersedia di wilayah yang Anda pilih.
Karena penyebaran akan menggunakan Amazon Cloudfront, ini bisa memakan waktu sekitar 20 menit.
Cloud9 menghasilkan Token STS untuk melakukan penyebaran, namun, kredensial ini hanya bertahan 15 menit, oleh karena itu token akan berakhir sebelum penyebaran selesai, dan karena itu Anda tidak akan dapat melihat output langsung dari Cloud9.
Cara mengautentikasi dengan kredensial jangka pendek Anda dapat mengekspor token kunci akses, memastikan mereka bertahan setidaknya 30 menit atau 1800 detik:
export AWS_ACCESS_KEY_ID= < PASTE_ACCESS_KEY >
export AWS_SECRET_ACCESS_KEY= < PASTE_SECRET_ACCESS_KEY >
export AWS_SESSION_TOKEN= < PASTE_SESSION_TOKEN >(Jika token kedaluwarsa, Anda dapat meninggalkan penyebaran untuk menyelesaikannya, memeriksa kemajuan dalam CloudFormation, dan kemudian menjalankan kembali skrip penyebaran di bawah ini - karena sumber daya Amazon CloudFront sudah ada, penyebaran akan selesai dengan cepat)
Penyebaran solusi dicapai dengan perintah berikut:
npm install && npm run deploy Perintah ini akan menjalankan serangkaian skrip seperti sam build , sam deploy dan beberapa lainnya untuk mengatur lingkungan ujung depan dengan variabel yang benar.

Otenikasi dikelola oleh Amazon Cognito. Anda perlu membuat pengguna baru untuk dapat masuk.
Anda dapat menemukan ID UserPool dari output CloudFormation dan memilih UserPool dan membuat pengguna baru di sana untuk masuk.

Setelah selesai, output CLI akan menunjukkan nilai URL CloudFront untuk dapat melihat aplikasi web, misalnya https://d123abc.cloudfront.net/ - Anda juga dapat melihat ini di output CloudFormation.
Aplikasi Web memungkinkan pengguna untuk mengunggah gambar ke S3 dan diindeks oleh OpenSearch serta mengeluarkan kueri untuk OpenSearch untuk mengembalikan 10 gambar teratas yang paling terkait secara semantik dengan konten artikel.
Untuk menghindari biaya di masa depan, hapus sumber daya.
sam delete dari terminal, atau pergi ke CloudFormation, pilih tumpukan yang Anda gunakan melalui skrip penyebaran yang disebutkan di atas, dan hapus tumpukan. 
Lihat berkontribusi untuk informasi lebih lanjut.
Perpustakaan ini dilisensikan di bawah lisensi MIT-0. Lihat file lisensi.