Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan Vector Search

Last reviewed 2025-03-07 UTC

Dokumen ini memberikan arsitektur referensi yang dapat Anda gunakan untuk mendesain infrastruktur aplikasi AI generatif dengan retrieval-augmented generation (RAG) menggunakan Vector Search. Vector Search adalah layanan terkelola sepenuhnya Google Cloud yang menyediakan infrastruktur penayangan yang dioptimalkan untuk pencocokan kesamaan vektor dalam skala yang sangat besar.

Audiens yang dituju untuk dokumen ini mencakup arsitek, developer, dan administrator aplikasi AI generatif. Dokumen ini mengasumsikan pemahaman dasar tentang konsep AI, machine learning (ML), dan model bahasa besar (LLM). Dokumen ini tidak memberikan panduan tentang cara mendesain dan mengembangkan aplikasi AI generatif.

Arsitektur

Diagram berikut menunjukkan tampilan tingkat tinggi arsitektur yang disajikan dalam dokumen ini:

Tampilan secara umum dari alur penyerapan dan penyaluran data dalam arsitektur.

Arsitektur pada diagram sebelumnya memiliki dua subsistem: penyerapan dan penyajian data.

  • Subsistem penyerapan data menyerap data yang diupload dari sumber eksternal. Subsistem menyiapkan data untuk RAG dan berinteraksi dengan Vertex AI untuk membuat embedding untuk data yang diserap serta membangun dan memperbarui indeks vektor.
  • Subsistem inferensi berisi layanan frontend dan backend aplikasi AI generatif.
    • Layanan frontend menangani alur kueri-respons dengan pengguna aplikasi dan meneruskan kueri ke layanan backend.
    • Layanan backend menggunakan Vertex AI untuk membuat embedding kueri, melakukan penelusuran kemiripan vektor, dan menerapkan filter keamanan serta petunjuk sistem AI yang Bertanggung Jawab.

Diagram berikut menunjukkan tampilan mendetail arsitektur:

Tampilan mendetail tentang alur penyerapan dan penyaluran data dalam arsitektur.

Bagian berikut menjelaskan aliran data dalam setiap subsistem pada diagram arsitektur sebelumnya.

Subsistem penyerapan data

Subsistem penyerapan data menyerap data dari sumber eksternal dan menyiapkan data untuk RAG. Berikut adalah langkah-langkah dalam alur penyerapan dan penyiapan data:

  1. Data diupload dari sumber eksternal ke bucket Cloud Storage. Sumber eksternal dapat berupa aplikasi, database, atau layanan streaming.
  2. Saat data diupload ke Cloud Storage, pesan akan dipublikasikan ke topik Pub/Sub.
  3. Saat menerima pesan, topik Pub/Sub akan memicu fungsi Cloud Run.
  4. Fungsi Cloud Run mengurai data mentah, memformatnya sesuai kebutuhan, dan membaginya menjadi beberapa bagian.
  5. Fungsi ini menggunakan Vertex AI Embeddings API untuk membuat embedding potongan dengan menggunakan model embedding yang Anda tentukan. Vertex AI mendukung model embedding teks dan multimodal.
  6. Fungsi ini kemudian membuat indeks Vector Search dari embedding, lalu men-deploy indeks.

Saat data baru di-ingest, langkah-langkah sebelumnya dilakukan untuk data baru dan indeks diupdate menggunakan update streaming.

Saat memproses permintaan pengguna, subsistem inferensi menggunakan indeks Vector Search untuk penelusuran kesamaan vektor. Bagian berikut menjelaskan alur penayangan.

Subsistem inferensi

Subsistem inferensi menangani alur kueri-respons antara aplikasi AI generatif dan penggunanya. Berikut adalah langkah-langkah dalam alur penayangan:

  1. Pengguna mengirimkan kueri bahasa alami ke layanan Cloud Run yang menyediakan antarmuka frontend (seperti chatbot) untuk aplikasi AI generatif.
  2. Layanan frontend meneruskan kueri pengguna ke layanan Cloud Run backend.
  3. Layanan backend memproses kueri dengan melakukan hal berikut:
    1. Mengonversi kueri menjadi embedding menggunakan model dan parameter embedding yang sama dengan yang digunakan subsistem penyerapan data untuk membuat embedding data yang diserap.
    2. Mengambil data perujukan yang relevan dengan melakukan penelusuran kesamaan vektor untuk embedding kueri di indeks Vector Search.
    3. Membuat prompt yang telah di-augmentasi dengan menggabungkan kueri asli dengan data perujukan.
    4. Mengirimkan perintah yang telah di-augmentasi ke LLM yang di-deploy di Vertex AI.
  4. LLM menghasilkan respons.
  5. Untuk setiap perintah, Vertex AI menerapkan filter keamanan Responsible AI yang telah Anda konfigurasi, lalu mengirimkan respons yang difilter dan skor keamanan AI ke layanan backend Cloud Run.
  6. Aplikasi mengirimkan respons kepada pengguna melalui layanan frontend Cloud Run.

Anda dapat menyimpan dan melihat log aktivitas kueri-respons di Cloud Logging, dan Anda dapat menyiapkan pemantauan berbasis log menggunakan Cloud Monitoring. Anda juga dapat memuat respons yang dihasilkan ke BigQuery untuk analisis offline.

Pengoptimal perintah Vertex AI membantu Anda meningkatkan kualitas perintah dalam skala besar, baik selama desain perintah awal maupun untuk penyesuaian perintah berkelanjutan. Pengoptimal perintah mengevaluasi respons model Anda terhadap serangkaian contoh perintah yang diberikan oleh engineer ML. Output evaluasi mencakup respons model terhadap perintah contoh, skor untuk metrik yang ditentukan oleh engineer ML, dan serangkaian petunjuk sistem yang dioptimalkan yang dapat Anda pertimbangkan untuk digunakan.

Produk yang digunakan

Arsitektur referensi ini menggunakan produk Google Cloud berikut:

  • Vertex AI: Platform ML yang memungkinkan Anda melatih dan men-deploy model ML dan aplikasi AI, serta menyesuaikan LLM untuk digunakan dalam aplikasi yang didukung AI.
  • Vector Search: Layanan pencocokan kemiripan vektor yang memungkinkan Anda menyimpan, mengindeks, dan menelusuri data yang memiliki kemiripan atau keterkaitan semantik.
  • Cloud Run: Platform komputasi serverless yang memungkinkan Anda menjalankan container langsung di atas infrastruktur Google yang bersifat skalabel.
  • Fungsi Cloud Run: Platform komputasi serverless yang memungkinkan Anda menjalankan fungsi tujuan tunggal langsung di Google Cloud.
  • Cloud Storage: Penyimpanan objek berbiaya rendah dan tanpa batas untuk beragam jenis data. Data dapat diakses dari dalam dan luar Google Cloud, serta direplikasi di berbagai lokasi untuk redundansi.
  • Pub/Sub: Layanan pesan asinkron dan skalabel yang memisahkan layanan yang menghasilkan pesan dari layanan yang memproses pesan tersebut.
  • Cloud Logging: Sistem pengelolaan log real-time dengan penyimpanan, penelusuran, analisis, dan pemberitahuan.
  • Cloud Monitoring: Layanan yang memberikan visibilitas terkait performa, ketersediaan, dan kondisi aplikasi serta infrastruktur Anda.
  • BigQuery: Data warehouse perusahaan yang membantu Anda mengelola dan menganalisis data dengan fitur bawaan seperti machine learning, analisis geospasial, dan business intelligence.

Kasus penggunaan

RAG adalah teknik efektif untuk meningkatkan kualitas output yang dihasilkan dari LLM. Bagian ini memberikan contoh kasus penggunaan yang dapat Anda gunakan untuk aplikasi AI generatif berkemampuan RAG.

Rekomendasi produk yang dipersonalisasi

Situs belanja online dapat menggunakan chatbot yang didukung LLM untuk membantu pelanggan menemukan produk atau mendapatkan bantuan terkait belanja. Pertanyaan dari pengguna dapat dilengkapi dengan menggunakan data historis tentang perilaku pembelian pengguna dan pola interaksi situs. Data tersebut dapat mencakup ulasan dan masukan pengguna yang disimpan di penyimpanan data tidak terstruktur atau metrik terkait penelusuran yang disimpan di data warehouse analisis web. Pertanyaan yang ditingkatkan kemudian dapat diproses oleh LLM untuk menghasilkan respons yang dipersonalisasi yang mungkin lebih menarik dan memikat bagi pengguna.

Sistem bantuan klinis

Dokter di rumah sakit perlu menganalisis dan mendiagnosis kondisi kesehatan pasien dengan cepat untuk membuat keputusan tentang perawatan dan pengobatan yang tepat. Aplikasi AI generatif yang menggunakan LLM medis seperti Med-PaLM dapat digunakan untuk membantu dokter dalam proses diagnosis klinis mereka. Respons yang dihasilkan aplikasi dapat didasarkan pada catatan pasien historis dengan mengontekstualisasikan perintah dokter dengan data dari database catatan kesehatan elektronik (EHR) rumah sakit atau dari pusat informasi eksternal seperti PubMed.

Riset hukum yang didukung teknologi AI generatif memungkinkan pengacara dengan cepat mengkueri sejumlah besar hukum dan hukum kasus untuk mengidentifikasi preseden hukum yang relevan atau meringkas konsep hukum yang kompleks. Hasil riset tersebut dapat ditingkatkan dengan melengkapi perintah pengacara menggunakan data yang diambil dari korpus kontrak eksklusif firma hukum, komunikasi hukum sebelumnya, dan catatan kasus internal. Pendekatan desain ini memastikan bahwa respons yang dihasilkan relevan dengan domain hukum yang menjadi spesialisasi pengacara.

Alternatif desain

Bagian ini menyajikan pendekatan desain alternatif yang dapat Anda pertimbangkan untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Alternatif infrastruktur AI

Jika Anda ingin memanfaatkan kemampuan penyimpanan vektor dari database yang dikelola sepenuhnya seperti AlloyDB untuk PostgreSQL atau Cloud SQL untuk aplikasi RAG Anda, lihat Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan AlloyDB untuk PostgreSQL. Google Cloud

Jika Anda ingin membangun dan men-deploy aplikasi AI generatif berkemampuan RAG dengan cepat menggunakan alat dan model open source Ray, Hugging Face, dan LangChain, lihat Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan GKE dan Cloud SQL.

Opsi hosting aplikasi

Dalam arsitektur yang ditampilkan dalam dokumen ini, Cloud Run adalah host untuk aplikasi AI generatif dan pemrosesan data. Cloud Run adalah platform aplikasi terkelola sepenuhnya yang berfokus pada developer. Jika Anda memerlukan fleksibilitas konfigurasi dan kontrol yang lebih besar atas infrastruktur komputasi, Anda dapat men-deploy aplikasi ke cluster GKE atau ke VM Compute Engine.

Keputusan untuk menggunakan Cloud Run, GKE, atau Compute Engine sebagai host aplikasi Anda melibatkan pertimbangan antara fleksibilitas konfigurasi dan upaya pengelolaan. Dengan opsi Cloud Run serverless, Anda men-deploy aplikasi ke lingkungan yang telah dikonfigurasi sebelumnya dan hanya memerlukan sedikit upaya pengelolaan. Dengan VM Compute Engine dan container GKE, Anda bertanggung jawab untuk mengelola resource komputasi yang mendasarinya, tetapi Anda memiliki fleksibilitas dan kontrol konfigurasi yang lebih besar. Untuk mengetahui informasi selengkapnya tentang cara memilih layanan hosting aplikasi yang sesuai, lihat dokumen berikut:

Opsi lain

Untuk mengetahui informasi tentang opsi infrastruktur lainnya, model yang didukung, dan teknik perujukan yang dapat Anda gunakan untuk aplikasi AI generatif diGoogle Cloud, lihat Memilih model dan infrastruktur untuk aplikasi AI generatif Anda.

Pertimbangan desain

Bagian ini menjelaskan faktor desain, praktik terbaik, dan rekomendasi desain yang harus Anda pertimbangkan saat menggunakan arsitektur referensi ini untuk mengembangkan topologi yang memenuhi persyaratan spesifik Anda terkait keamanan, keandalan, biaya, dan performa.

Panduan di bagian ini tidak lengkap. Bergantung pada persyaratan spesifik aplikasi Anda serta produk dan fitur pihak pertama dan pihak ketiga yang Anda gunakan, mungkin ada faktor desain dan pertimbangan tambahan yang harus Anda pertimbangkan. Google Cloud

Keamanan, kepatuhan, dan privasi

Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk merancang topologi yang memenuhi persyaratan keamanan dan kepatuhan workload Anda. Google Cloud

Produk Pertimbangan dan rekomendasi desain
Vertex AI

Kontrol keamanan: Vertex AI mendukung Google Cloud kontrol keamanan yang dapat Anda gunakan untuk memenuhi persyaratan Anda terkait residensi data, enkripsi data, keamanan jaringan, dan transparansi akses. Untuk mengetahui informasi selengkapnya, lihat Kontrol keamanan untuk Vertex AI dan Kontrol keamanan untuk AI Generatif.

Akses model: Anda dapat menyiapkan kebijakan organisasi untuk membatasi jenis dan versi LLM yang dapat digunakan dalam project Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke model Model Garden.

Tanggung jawab bersama: Vertex AI mengamankan infrastruktur yang mendasarinya serta menyediakan alat dan kontrol keamanan untuk membantu Anda melindungi data, kode, dan model Anda. Untuk mengetahui informasi selengkapnya, lihat Tanggung jawab bersama Vertex AI.

Perlindungan data: Gunakan Cloud Data Loss Prevention API untuk menemukan dan melakukan de-identifikasi data sensitif, seperti informasi identitas pribadi (PII), dalam perintah dan respons serta dalam data log. Untuk informasi selengkapnya, tonton video ini: Melindungi data sensitif di aplikasi AI.

Cloud Run

Keamanan ingress (layanan frontend): Untuk mengontrol akses eksternal ke aplikasi, nonaktifkan URL run.app default dari layanan Cloud Run frontend dan siapkan Load Balancer Aplikasi eksternal regional. Selain menyeimbangkan beban traffic masuk ke aplikasi, load balancer menangani pengelolaan sertifikat SSL. Untuk perlindungan tambahan, Anda dapat menggunakan kebijakan keamanan Google Cloud Armor untuk menyediakan pemfilteran permintaan, perlindungan DDoS, dan pembatasan kecepatan untuk layanan.

Keamanan ingress (layanan backend): Layanan Cloud Run untuk backend aplikasi dalam arsitektur ini tidak memerlukan akses dari internet. Untuk memastikan bahwa hanya klien internal yang dapat mengakses layanan, setel parameter ingress ke internal. Untuk mengetahui informasi selengkapnya, lihat Membatasi traffic masuk jaringan untuk Cloud Run.

Enkripsi data: Secara default, Cloud Run mengenkripsi data menggunakan Google-owned and Google-managed encryption key. Untuk melindungi container dengan menggunakan kunci yang Anda kontrol, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK). Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.

Keamanan image container: Untuk memastikan bahwa hanya image container resmi yang di-deploy ke layanan Cloud Run, Anda dapat menggunakan Otorisasi Biner.

Residensi data: Cloud Run membantu Anda memenuhi persyaratan residensi data. Instance container Cloud Run berjalan dalam region yang Anda pilih.

Untuk panduan selengkapnya tentang keamanan container, lihat Tips pengembangan Cloud Run umum.

Cloud Storage

Enkripsi data: Secara default, data yang disimpan di Cloud Storage dienkripsi menggunakan Google-owned and Google-managed encryption keys. Jika diperlukan, Anda dapat menggunakan CMEK atau kunci Anda sendiri yang Anda kelola dengan menggunakan metode pengelolaan eksternal seperti kunci enkripsi yang disediakan pelanggan (CSEK). Untuk mengetahui informasi selengkapnya, lihat Opsi enkripsi data.

Kontrol akses: Cloud Storage mendukung dua metode untuk mengontrol akses pengguna ke bucket dan objek Anda: Identity and Access Management (IAM) dan daftar kontrol akses (ACL). Dalam sebagian besar kasus, sebaiknya gunakan IAM, yang memungkinkan Anda memberikan izin di tingkat bucket dan project. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kontrol akses.

Perlindungan data: Data yang Anda muat ke subsistem penyerapan data melalui Cloud Storage mungkin mencakup data sensitif. Untuk melindungi data tersebut, Anda dapat menggunakan Sensitive Data Protection untuk menemukan, mengklasifikasikan, dan melakukan de-identifikasi data tersebut. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Perlindungan Data Sensitif dengan Cloud Storage.

Kontrol jaringan: Untuk mengurangi risiko pemindahan data yang tidak sah dari Cloud Storage, Anda dapat membuat perimeter layanan menggunakan Kontrol Layanan VPC.

Residensi data: Cloud Storage membantu Anda memenuhi persyaratan residensi data. Data disimpan atau direplikasi dalam region yang Anda tentukan.

Pub/Sub

Enkripsi data: Secara default, Pub/Sub mengenkripsi semua pesan, baik saat disimpan maupun saat dikirim, dengan menggunakan Google-owned and Google-managed encryption keys. Pub/Sub mendukung penggunaan CMEK untuk enkripsi pesan di lapisan aplikasi. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi enkripsi pesan.

Residensi data: Jika Anda memiliki persyaratan residensi data, untuk memastikan bahwa data pesan disimpan di lokasi tertentu, Anda dapat mengonfigurasi kebijakan penyimpanan pesan.

Cloud Logging

Audit aktivitas administratif: Pencatatan aktivitas administratif diaktifkan secara default untuk semua layanan Google Cloud yang digunakan dalam arsitektur referensi ini. Anda dapat mengakses log melalui Cloud Logging dan menggunakan log untuk memantau panggilan API atau tindakan lainnya yang mengubah konfigurasi atau metadata Google Cloud resource.

Audit akses data: Pencatatan peristiwa akses data diaktifkan secara default untuk BigQuery. Untuk layanan lain yang digunakan dalam arsitektur ini, Anda dapat mengaktifkan log audit Akses Data. Anda dapat menggunakan log ini untuk memantau hal berikut:

  • Panggilan API yang membaca konfigurasi atau metadata resource.
  • Permintaan pengguna untuk membuat, mengubah, atau membaca data resource yang disediakan pengguna.

Keamanan data log: Google tidak mengakses atau menggunakan data di Cloud Logging.

Residensi data: Untuk membantu memenuhi persyaratan residensi data, Anda dapat mengonfigurasi Cloud Logging untuk menyimpan data log di region yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Mengelompokkan log berdasarkan wilayah.

Semua produk dalam arsitektur

Memitigasi risiko pemindahan data yang tidak sah: Untuk mengurangi risiko pemindahan data yang tidak sah, buat perimeter Kontrol Layanan VPC di seputar infrastruktur. Kontrol Layanan VPC mendukung semua layanan yang digunakan dalam arsitektur referensi ini.

Pengoptimalan setelah deployment: Setelah men-deploy aplikasi Anda di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi yang dapat membantu Anda mengoptimalkan lebih lanjut keamanan resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai kebutuhan untuk lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi.

Kontrol akses: Ikuti prinsip hak istimewa terendah untuk setiap layanan cloud.

Untuk panduan umum terkait keamanan untuk deployment AI dan ML di Google Cloud, lihat referensi berikut:

Keandalan

Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk membangun dan mengoperasikan infrastruktur yang andal untuk deployment Anda di Google Cloud.

Produk Pertimbangan dan rekomendasi desain
Vector Search

Penskalaan kueri: Untuk memastikan bahwa indeks Penelusuran Vektor dapat menangani peningkatan beban kueri, Anda dapat mengonfigurasi penskalaan otomatis untuk endpoint indeks. Saat beban kueri meningkat, jumlah node akan ditingkatkan secara otomatis hingga maksimum yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis.

Cloud Run

Ketahanan terhadap gangguan infrastruktur: Cloud Run adalah layanan regional. Data disimpan secara sinkron di beberapa zona dalam satu region. Traffic akan otomatis di-load balanced di seluruh zona. Jika terjadi pemadaman layanan zona, Cloud Run akan terus berjalan dan data tidak akan hilang. Jika terjadi pemadaman layanan region, Cloud Run akan berhenti berjalan hingga Google menyelesaikan pemadaman layanan tersebut.

Cloud Storage Ketersediaan data: Anda dapat membuat bucket Cloud Storage di salah satu dari tiga jenis lokasi: regional, dual-region, atau multi-region. Data yang disimpan di bucket regional direplikasi secara sinkron di beberapa zona dalam satu region. Untuk ketersediaan yang lebih tinggi, Anda dapat menggunakan bucket dual-region atau multi-region, tempat data direplikasi secara asinkron di seluruh region.
Pub/Sub

Kontrol kecepatan: Untuk menghindari error selama periode lonjakan sementara dalam traffic pesan, Anda dapat membatasi kecepatan permintaan publikasi dengan mengonfigurasi kontrol alur di setelan publisher.

Penanganan kegagalan: Untuk menangani upaya publikasi yang gagal, sesuaikan variabel retry-request sesuai kebutuhan. Untuk mengetahui informasi selengkapnya, lihat Mengirim ulang permintaan.

BigQuery Ketahanan terhadap gangguan infrastruktur: Data yang Anda muat ke BigQuery disimpan secara sinkron di dua zona dalam region yang Anda tentukan. Redundansi ini membantu memastikan data Anda tidak hilang saat terjadi gangguan zona. Untuk mengetahui informasi selengkapnya tentang fitur keandalan di BigQuery, lihat Memahami keandalan.
Semua produk dalam arsitektur Pengoptimalan pasca-deployment: Setelah men-deploy aplikasi Anda di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan lebih lanjut keandalan resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi.

Untuk prinsip dan rekomendasi keandalan yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Keandalan dalam Well-Architected Framework.

Pengoptimalan biaya

Bagian ini memberikan panduan untuk mengoptimalkan biaya penyiapan dan pengoperasian topologi Google Cloud yang Anda buat menggunakan arsitektur referensi ini.

Produk Pertimbangan dan rekomendasi desain
Vector Search

Penagihan untuk Vector Search bergantung pada ukuran indeks, kueri per detik (QPS), serta jumlah dan jenis mesin node yang Anda gunakan untuk endpoint indeks. Untuk beban kerja QPS tinggi, pengelompokan kueri dapat membantu mengurangi biaya. Untuk mengetahui informasi tentang cara memperkirakan biaya Vector Search, lihat Contoh penetapan harga Vector Search.

Untuk meningkatkan pemanfaatan node komputasi tempat indeks Vector Search di-deploy, Anda dapat mengonfigurasi penskalaan otomatis untuk endpoint indeks. Jika permintaan rendah, jumlah node akan dikurangi secara otomatis ke jumlah minimum yang Anda tentukan. Untuk informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis.

Cloud Run

Saat membuat layanan Cloud Run, Anda menentukan jumlah memori dan CPU yang akan dialokasikan ke instance container. Untuk mengontrol biaya, mulailah dengan alokasi CPU dan memori default (minimum). Untuk meningkatkan performa, Anda dapat meningkatkan alokasi dengan mengonfigurasi batas CPU dan batas memori. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Jika dapat memprediksi persyaratan CPU dan memori layanan Cloud Run, Anda dapat menghemat uang dengan mendapatkan diskon untuk penggunaan yang berkomitmen. Untuk mengetahui informasi selengkapnya, lihat Diskon abonemen Cloud Run.

Cloud Storage Untuk bucket Cloud Storage yang Anda gunakan untuk memuat data ke dalam subsistem penyerapan data, pilih kelas penyimpanan yang sesuai. Saat memilih kelas penyimpanan, pertimbangkan persyaratan retensi data dan frekuensi akses workload Anda. Misalnya, untuk mengontrol biaya penyimpanan, Anda dapat memilih kelas Standard dan menggunakan Object Lifecycle Management. Dengan demikian, objek dapat diturunkan kelasnya secara otomatis ke kelas penyimpanan berbiaya lebih rendah atau dihapus berdasarkan kondisi yang Anda tetapkan.
Cloud Logging

Untuk mengontrol biaya penyimpanan log, Anda dapat melakukan hal berikut:

  • Kurangi volume log dengan mengecualikan atau memfilter entri log yang tidak perlu. Untuk mengetahui informasi selengkapnya, lihat Filter pengecualian.
  • Kurangi periode entri log dipertahankan. Untuk informasi selengkapnya, lihat Mengonfigurasi retensi kustom.
BigQuery BigQuery memungkinkan Anda memperkirakan biaya kueri sebelum Anda menjalankannya. Untuk mengoptimalkan biaya kueri, Anda perlu mengoptimalkan penyimpanan dan komputasi kueri. Untuk mengetahui informasi selengkapnya, lihat Memperkirakan dan mengontrol biaya.
Semua produk dalam arsitektur Setelah men-deploy aplikasi di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan lebih lanjut biaya resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi.

Untuk memperkirakan biaya resource Google Cloud , gunakan Google Cloud Kalkulator Harga.

Untuk prinsip dan rekomendasi pengoptimalan biaya yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan biaya dalam Well-Architected Framework.

Pengoptimalan performa

Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk mendesain topologi di Google Cloud yang memenuhi persyaratan performa beban kerja Anda.

Produk Pertimbangan dan rekomendasi desain
Vector Search

Saat membuat indeks, tetapkan ukuran shard, jenis pengukuran jarak, dan jumlah embedding untuk setiap node daun berdasarkan persyaratan performa Anda. Misalnya, jika aplikasi Anda sangat sensitif terhadap variabilitas latensi, sebaiknya gunakan ukuran shard yang besar. Untuk mengetahui informasi selengkapnya, lihat Parameter konfigurasi yang memengaruhi performa.

Saat mengonfigurasi kapasitas komputasi node tempat indeks Vector Search di-deploy, pertimbangkan persyaratan performa Anda. Pilih jenis mesin yang sesuai dan tetapkan jumlah maksimum node berdasarkan beban kueri yang Anda harapkan. Untuk mengetahui informasi selengkapnya, lihat Setelan deployment yang memengaruhi performa.

Konfigurasi parameter kueri untuk indeks Vertex Search berdasarkan persyaratan Anda untuk performa, ketersediaan, dan biaya kueri. Misalnya, parameter approximateNeighborsCount menentukan jumlah tetangga yang harus diambil sebelum pengurutan ulang yang sama persis dilakukan. Mengurangi nilai parameter ini dapat membantu mengurangi latensi dan biaya. Untuk mengetahui informasi selengkapnya, lihat Setelan waktu kueri yang memengaruhi performa.

Indeks yang terbaru akan membantu meningkatkan akurasi respons yang dihasilkan. Anda dapat mengupdate indeks Vector Search menggunakan update batch atau streaming. Pembaruan streaming memungkinkan Anda melakukan kueri hampir real-time pada data yang diperbarui. Untuk mengetahui informasi selengkapnya, lihat Mengupdate dan membangun ulang indeks aktif.

Cloud Run

Secara default, setiap instance container Cloud Run dialokasikan satu CPU dan memori 512 MiB. Bergantung pada persyaratan performa, Anda dapat mengonfigurasi batas CPU dan batas memori. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Untuk memastikan latensi yang optimal bahkan setelah periode tanpa traffic, Anda dapat mengonfigurasi jumlah minimum instance. Jika instance tersebut tidak ada aktivitas, CPU dan memori yang dialokasikan ke instance akan ditagih dengan harga yang lebih rendah.

Untuk panduan pengoptimalan performa selengkapnya, lihat Tips pengembangan umum Cloud Run.

Cloud Storage Untuk mengupload file besar, Anda dapat menggunakan metode yang disebut upload komposit paralel. Dengan strategi ini, file besar dibagi menjadi beberapa bagian. Potongan diupload ke Cloud Storage secara paralel lalu data disusun ulang di cloud. Jika bandwidth jaringan dan kecepatan disk bukan merupakan faktor pembatas, upload komposit paralel dapat lebih cepat daripada operasi upload reguler. Namun, strategi ini memiliki beberapa batasan dan implikasi biaya. Untuk mengetahui informasi selengkapnya, lihat Upload komposit paralel.
BigQuery

BigQuery menyediakan grafik eksekusi kueri yang dapat Anda gunakan untuk menganalisis performa kueri dan mendapatkan insight performa untuk masalah seperti pertentangan slot dan kuota shuffle yang tidak memadai. Untuk informasi selengkapnya, lihat Mendapatkan insight performa kueri.

Setelah mengatasi masalah yang Anda identifikasi melalui insight performa kueri, Anda dapat mengoptimalkan kueri lebih lanjut dengan menggunakan teknik seperti mengurangi volume data input dan output. Untuk informasi selengkapnya, lihat Mengoptimalkan komputasi kueri.

Semua produk dalam arsitektur Setelah men-deploy aplikasi di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan lebih lanjut performa resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi.

Untuk prinsip dan rekomendasi pengoptimalan performa yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan performa dalam Well-Architected Framework.

Deployment

Untuk men-deploy topologi yang didasarkan pada arsitektur referensi ini, Anda dapat mendownload dan menggunakan konfigurasi sampel Terraform yang tersedia di repositori di GitHub. Ikuti petunjuk dalam README di repositori. Kode contoh tidak ditujukan untuk kasus penggunaan produksi.

Langkah berikutnya

Kontributor

Penulis: Kumar Dhanagopal | Cross-Product Solution Developer

Kontributor lainnya: