Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI

Last reviewed 2024-06-07 UTC

Dokumen ini menyediakan arsitektur referensi yang dapat Anda gunakan untuk mendesain infrastruktur guna menjalankan aplikasi kecerdasan buatan (AI) generatif dengan retrieval-augmented generation (RAG). Audiens yang dituju untuk dokumen ini mencakup developer dan administrator aplikasi AI generatif serta arsitek cloud. 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 untuk aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud:

Arsitektur tingkat tinggi untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Arsitektur ini berisi komponen yang saling terhubung berikut:

Komponen Tujuan Interaksi
Subsistem penyerapan data Menyiapkan dan memproses data eksternal yang digunakan untuk mengaktifkan kemampuan RAG. Subsistem penyerapan data berinteraksi dengan subsistem lain dalam arsitektur melalui lapisan database.
Subsistem penayangan Menangani alur permintaan-respons antara aplikasi AI generatif dan penggunanya. Subsistem penayangan berinteraksi dengan subsistem penyerapan data melalui lapisan database.
Subsistem evaluasi kualitas Evaluasi kualitas respons yang dihasilkan subsistem penayangan. Subsistem evaluasi kualitas berinteraksi dengan subsistem penayangan secara langsung dan dengan subsistem penyerapan data melalui lapisan database.
Database Simpan data berikut:
  • Perintah
  • Embedding vektor data yang digunakan untuk RAG
  • Konfigurasi tugas serverless di subsistem evaluasi kualitas dan penyerapan data
Semua subsistem dalam arsitektur berinteraksi dengan database.

Diagram berikut menunjukkan tampilan mendetail tentang arsitektur:

Arsitektur mendetail untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Bagian berikut memberikan deskripsi mendetail tentang komponen dan alur data dalam setiap subsistem arsitektur.

Subsistem penyerapan data

Subsistem penyerapan data menyerap data dari sumber eksternal seperti file, database, dan layanan streaming. Data yang diupload menyertakan perintah untuk evaluasi kualitas. Subsistem penyerapan data menyediakan kemampuan RAG dalam arsitektur. Diagram berikut menunjukkan detail subsistem penyerapan data dalam arsitektur:

Subsistem penyerapan data untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Berikut adalah langkah-langkah dalam alur penyerapan data:

  1. Data diupload ke bucket Cloud Storage. Sumber data mungkin berupa pengguna aplikasi yang melakukan upload, penyerapan database, atau streaming data.
  2. Saat data diupload, notifikasi akan dikirim ke topik Pub/Sub.
  3. Pub/Sub memicu tugas Cloud Run untuk memproses data yang diupload.
  4. Cloud Run memulai tugas menggunakan data konfigurasi yang disimpan di database AlloyDB untuk PostgreSQL.
  5. Tugas Cloud Run menggunakan Document AI untuk menyiapkan data untuk pemrosesan lebih lanjut. Misalnya, persiapan dapat mencakup pemecahan data, mengonversi data ke format yang diperlukan, dan membagi data menjadi beberapa bagian.
  6. Tugas Cloud Run menggunakan model Vertex AI Embeddings for Text untuk membuat embedding vektor dari data yang ditransfer.

  7. Cloud Run menyimpan penyematan di database AlloyDB untuk PostgreSQL yang mengaktifkan ekstensi pgvector. Seperti yang dijelaskan di bagian berikut, saat subsistem penayangan memproses permintaan pengguna, subsistem tersebut menggunakan penyematan dalam database vektor untuk mengambil data khusus domain yang relevan.

Subsistem penayangan

Subsistem penayangan menangani alur permintaan-respons antara aplikasi AI generatif dan penggunanya. Diagram berikut menunjukkan detail subsistem penayangan dalam arsitektur:

Subsistem penayangan untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Berikut adalah langkah-langkah dalam alur permintaan-respons di subsistem penayangan:

  1. Pengguna mengirimkan permintaan ke aplikasi AI generatif melalui frontend (misalnya, chatbot atau aplikasi seluler).
  2. Aplikasi AI generatif mengonversi permintaan bahasa alami menjadi penyematan.

  3. Aplikasi ini menyelesaikan bagian pengambilan dari pendekatan RAG:

    1. Aplikasi melakukan penelusuran semantik untuk penyematan di penyimpanan vektor AlloyDB untuk PostgreSQL yang dikelola oleh subsistem penyerapan data. Penelusuran semantik membantu menemukan penyematan berdasarkan intent perintah, bukan konten tekstualnya.
    2. Aplikasi menggabungkan permintaan asli dengan data mentah yang diambil berdasarkan penyematan yang cocok untuk membuat prompt yang dikontekstualisasikan.
  4. Aplikasi mengirim perintah yang dikontekstualisasikan ke stack inferensi LLM yang berjalan di Vertex AI.

  5. Stack inferensi LLM menggunakan LLM AI generatif, yang dapat berupa LLM fondasi atau LLM kustom, dan menghasilkan respons yang dibatasi pada konteks yang diberikan.

    1. Aplikasi dapat menyimpan log aktivitas permintaan-respons di Cloud Logging. Anda dapat melihat dan menggunakan log untuk pemantauan menggunakan Cloud Monitoring. Google tidak mengakses atau menggunakan data log.
    2. Aplikasi memuat respons ke BigQuery untuk analisis offline.
  6. Aplikasi menyaring respons menggunakan filter AI yang bertanggung jawab.

  7. Aplikasi mengirimkan respons yang difilter kepada pengguna melalui frontend.

Subsistem evaluasi kualitas

Diagram berikut menunjukkan detail subsistem evaluasi kualitas dalam arsitektur:

Subsistem evaluasi kualitas untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Saat menerima permintaan, subsistem evaluasi kualitas akan melakukan hal berikut:

  1. Pub/Sub memicu tugas Cloud Run.
  2. Cloud Run memulai tugas menggunakan data konfigurasi yang disimpan di database AlloyDB untuk PostgreSQL.
  3. Tugas Cloud Run mengambil perintah evaluasi dari database AlloyDB untuk PostgreSQL. Perintah sebelumnya diupload ke database oleh subsistem penyerapan data.
  4. Tugas Cloud Run menggunakan perintah evaluasi untuk menilai kualitas respons yang dihasilkan subsistem penayangan.

    Output evaluasi ini terdiri dari skor evaluasi untuk metrik seperti akurasi faktual dan relevansi.

  5. Cloud Run memuat skor evaluasi serta perintah dan respons yang dievaluasi ke BigQuery untuk analisis mendatang.

Produk yang digunakan

Berikut adalah ringkasan semua produk Google Cloud yang digunakan oleh arsitektur sebelumnya:

  • 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 teknologi AI.
  • Cloud Run: Platform komputasi serverless yang memungkinkan Anda menjalankan container langsung di atas infrastruktur Google yang skalabel.
  • BigQuery: Data warehouse perusahaan yang membantu Anda mengelola dan menganalisis data dengan fitur bawaan seperti analisis geospasial machine learning, dan business intelligence.
  • Cloud Storage: Penyimpanan objek berbiaya rendah tanpa batas untuk berbagai jenis data. Data dapat diakses dari dalam dan luar Google Cloud, serta direplikasi di seluruh lokasi untuk redundansi.
  • AlloyDB untuk PostgreSQL: Layanan database yang kompatibel dengan PostgreSQL dan terkelola sepenuhnya yang dirancang untuk workload Anda yang paling berat, termasuk pemrosesan transaksional dan analisis hybrid.
  • Document AI: Platform pemrosesan dokumen yang mengambil data tidak terstruktur dari dokumen dan mengubahnya menjadi data terstruktur.
  • 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.

Kasus penggunaan

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

Rekomendasi produk yang dipersonalisasi

Situs belanja online mungkin menggunakan chatbot yang didukung LLM untuk membantu pelanggan menemukan produk atau mendapatkan bantuan terkait belanja. Pertanyaan dari pengguna dapat ditingkatkan dengan menggunakan data historis tentang perilaku pembelian pengguna dan pola interaksi situs. Data tersebut mungkin mencakup ulasan dan masukan pengguna yang disimpan di datastore 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 dianggap lebih menarik dan menarik oleh 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 sesuai. 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 rekam medis pasien historis dengan memberikan konteks pada perintah dokter dengan data dari database rekam medis elektronik (EHR) rumah sakit atau dari pusat informasi eksternal seperti PubMed.

Riset hukum yang didukung AI generatif memungkinkan pengacara membuat kueri dengan cepat untuk sejumlah besar statuta dan hukum kasus untuk mengidentifikasi preseden hukum yang relevan atau meringkas konsep hukum yang kompleks. Output riset tersebut dapat ditingkatkan dengan meningkatkan perintah pengacara dengan 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

Untuk komponen penyimpanan vektor dan penelusuran semantik dalam arsitektur, Anda dapat menggunakan Vertex AI Vector Search. Penelusuran Vektor adalah layanan terkelola sepenuhnya yang menyediakan infrastruktur penayangan yang dioptimalkan untuk penelusuran vektor berskala sangat besar. Data mentah (bagian teks) dapat disimpan di penyimpanan objek seperti Cloud Storage atau di penyimpanan nilai kunci seperti Filestore. Dalam kedua kasus tersebut, representasi vektor dari setiap potongan teks mentah disimpan di Vector Search.

Saat data diserap, ID unik ditetapkan ke setiap potongan teks mentah, dan ID ini digunakan sebagai nama file objek di Cloud Storage. ID yang sama digunakan sebagai ID vektor di Penelusuran Vektor.

Pada waktu penayangan, kueri teks yang masuk akan dikonversi menjadi vektor penyematan. Vector Search melakukan penelusuran kemiripan untuk menampilkan vektor yang paling mirip secara semantik. ID vektor kemudian digunakan untuk mencari bagian teks asli. Secara kolektif, potongan teks ini memberikan konteks yang relevan yang diperlukan LLM untuk menyelesaikan tugas tertentu.

Untuk mengetahui informasi tentang cara membuat, men-deploy, dan membuat kueri indeks penelusuran vektor, lihat Panduan memulai Vector Search.

Pertimbangan desain

Bagian ini memberikan panduan untuk membantu Anda mengembangkan arsitektur AI generatif yang kompatibel dengan RAG di Google Cloud yang memenuhi persyaratan spesifik Anda untuk keamanan dan kepatuhan, keandalan, biaya, dan performa. Panduan di bagian ini tidak lengkap. Bergantung pada persyaratan khusus aplikasi AI generatif dan produk serta fitur Google Cloud yang Anda gunakan, Anda mungkin perlu mempertimbangkan faktor dan kompromi desain tambahan.

Keamanan dan kepatuhan

Bagian ini menjelaskan faktor yang harus Anda pertimbangkan saat mendesain dan mem-build aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud yang memenuhi persyaratan keamanan dan kepatuhan Anda.

Produk Pertimbangan desain
Vertex AI Vertex AI mendukung kontrol keamanan Google Cloud yang dapat Anda gunakan untuk memenuhi persyaratan 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.
Cloud Run

Secara default, Cloud Run mengenkripsi data menggunakan kunci yang dimiliki dan dikelola Google. 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.

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

Cloud Run membantu Anda memenuhi persyaratan residensi data. Instance penampung Cloud Run berjalan dalam region yang Anda pilih.

AlloyDB untuk PostgreSQL

Secara default, data yang disimpan di AlloyDB untuk PostgreSQL dienkripsi menggunakan kunci milik dan dikelola Google. Jika perlu menggunakan kunci enkripsi yang Anda kontrol dan kelola, Anda dapat menggunakan CMEK. Untuk informasi selengkapnya, lihat Tentang CMEK.

Untuk mengurangi risiko pemindahan data yang tidak sah dari database AlloyDB untuk PostgreSQL, Anda dapat membuat perimeter layanan menggunakan Kontrol Layanan VPC.

Secara default, instance AlloyDB untuk PostgreSQL hanya menerima koneksi yang menggunakan SSL. Untuk lebih mengamankan koneksi ke database AlloyDB untuk PostgreSQL, Anda dapat menggunakan konektor AlloyDB untuk PostgreSQL Auth Proxy. Konektor Auth Proxy memberikan otorisasi koneksi berbasis Identity and Access Management (IAM) dan menggunakan koneksi TLS 1.3 dengan cipher AES 256-bit untuk memverifikasi identitas klien dan server serta mengenkripsi traffic data. Untuk mengetahui informasi selengkapnya, lihat Tentang Proxy Auth AlloyDB untuk PostgreSQL. Untuk koneksi yang dibuat menggunakan Java, Python, atau Go, gunakan Konektor Bahasa yang sesuai, bukan konektor Proxy Auth.

AlloyDB untuk PostgreSQL membantu Anda memenuhi persyaratan retensi data. Data disimpan atau direplikasi dalam region yang Anda tentukan.

BigQuery

BigQuery menyediakan banyak fitur yang dapat Anda gunakan untuk mengontrol akses ke data, melindungi data sensitif, dan memastikan akurasi serta konsistensi data. Untuk informasi selengkapnya, lihat Pengantar tata kelola data di BigQuery.

BigQuery membantu Anda memenuhi persyaratan retensi data. Data disimpan dalam region yang Anda tentukan.

Cloud Storage

Secara default, data yang disimpan di Cloud Storage dienkripsi menggunakan kunci milik dan dikelola Google. Jika diperlukan, Anda dapat menggunakan CMEK atau kunci Anda sendiri yang dikelola menggunakan metode pengelolaan eksternal seperti kunci enkripsi yang disediakan pelanggan (CSEK). Untuk mengetahui informasi selengkapnya, lihat Opsi enkripsi data.

Cloud Storage mendukung dua metode untuk memberi pengguna akses ke bucket dan objek Anda: 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.

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

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

Pub/Sub

Secara default, Pub/Sub mengenkripsi semua pesan, baik dalam penyimpanan maupun dalam pengiriman, menggunakan kunci milik Google dan yang dikelola Google. Pub/Sub mendukung penggunaan CMEK untuk enkripsi pesan di lapisan aplikasi. Untuk informasi selengkapnya, lihat Mengonfigurasi enkripsi pesan.

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

Document AI Secara default, data dalam penyimpanan dienkripsi menggunakan kunci enkripsi yang dikelola Google. Jika perlu menggunakan kunci enkripsi yang Anda kontrol dan kelola, Anda dapat menggunakan CMEK. Untuk informasi selengkapnya, lihat Keamanan & Kepatuhan Document AI.
Cloud Logging

Log audit Aktivitas Admin diaktifkan secara default untuk semua layanan Google Cloud yang digunakan dalam arsitektur referensi ini. Log ini mencatat panggilan API atau tindakan lain yang mengubah konfigurasi atau metadata resource Google Cloud.

Log audit Akses Data diaktifkan secara default untuk BigQuery. Untuk layanan lain yang digunakan dalam arsitektur ini, Anda dapat mengaktifkan log audit Akses Data. Log ini memungkinkan Anda melacak panggilan API yang membaca konfigurasi atau metadata resource atau permintaan pengguna untuk membuat, mengubah, atau membaca data resource yang disediakan pengguna.

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 Membuat log secara regional.

Untuk panduan umum tentang prinsip keamanan yang perlu dipertimbangkan untuk aplikasi AI, lihat Memperkenalkan Framework AI Aman Google.

Keandalan

Bagian ini menjelaskan faktor desain yang harus Anda pertimbangkan untuk mem-build dan mengoperasikan infrastruktur yang andal untuk aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud.

Produk Pertimbangan desain
Cloud Run

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 pemadaman layanan zona terjadi, tugas Cloud Run akan terus berjalan dan data tidak akan hilang. Jika terjadi pemadaman layanan region, tugas Cloud Run akan berhenti berjalan hingga Google menyelesaikan pemadaman layanan tersebut.

Setiap tugas atau tugas Cloud Run dapat gagal. Untuk menangani kegagalan tersebut, Anda dapat menggunakan percobaan ulang tugas dan checkpoint. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik percobaan ulang tugas dan checkpoint.

AlloyDB untuk PostgreSQL

Secara default, cluster AlloyDB untuk PostgreSQL menyediakan ketersediaan tinggi (HA) dengan failover otomatis. Instance utama memiliki node redundan yang terletak di dua zona yang berbeda dalam suatu region. Redundansi ini memastikan bahwa cluster tahan terhadap pemadaman layanan zona.

Untuk merencanakan pemulihan dari pemadaman layanan region, Anda dapat menggunakan replikasi lintas region.

BigQuery

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 pemadaman zona terjadi.

Untuk mengetahui informasi selengkapnya tentang fitur keandalan di BigQuery, lihat Memahami keandalan.

Cloud Storage 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

Untuk mengelola lonjakan sementara dalam traffic pesan, Anda dapat mengonfigurasi kontrol alur di setelan penayang.

Untuk menangani publikasi yang gagal, sesuaikan variabel permintaan percobaan ulang sesuai kebutuhan. Untuk informasi selengkapnya, lihat Mencoba ulang permintaan.

Document AI Document AI adalah layanan regional. Data disimpan secara sinkron di beberapa zona dalam satu region. Traffic akan otomatis di-load balanced di seluruh zona. Jika pemadaman zona terjadi, data tidak akan hilang. Jika terjadi pemadaman layanan regional, Document AI tidak akan tersedia hingga Google menyelesaikan pemadaman layanan.

Pengoptimalan biaya

Bagian ini berisi panduan untuk membantu Anda mengoptimalkan biaya penyiapan dan operasi aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud.

Produk Pertimbangan desain
Cloud Run

Saat membuat tugas Cloud Run, Anda menentukan jumlah memori dan CPU yang akan dialokasikan ke instance penampung. 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.

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

AlloyDB untuk PostgreSQL

Secara default, instance utama cluster AlloyDB untuk PostgreSQL sangat tersedia (HA). Instance memiliki node aktif dan node standby. Jika node aktif gagal, AlloyDB untuk PostgreSQL akan otomatis beralih ke node standby. Jika tidak memerlukan HA untuk database, Anda dapat mengurangi biaya dengan menjadikan instance utama cluster sebagai instance dasar. Instance dasar tidak tahan terhadap pemadaman layanan zona dan memiliki periode nonaktif yang lebih lama selama operasi pemeliharaan. Untuk mengetahui informasi selengkapnya, lihat Mengurangi biaya menggunakan instance dasar.

Jika Anda dapat memprediksi persyaratan CPU dan memori instance AlloyDB untuk PostgreSQL, Anda dapat menghemat uang dengan mendapatkan diskon untuk penggunaan yang dikomitmenkan. Untuk informasi selengkapnya, lihat Diskon abonemen AlloyDB untuk PostgreSQL.

BigQuery BigQuery memungkinkan Anda memperkirakan biaya kueri sebelum menjalankannya. Untuk mengoptimalkan biaya kueri, Anda perlu mengoptimalkan penyimpanan dan komputasi kueri. Untuk mengetahui informasi selengkapnya, lihat Memperkirakan dan mengontrol biaya.
Cloud Storage Untuk bucket Cloud Storage yang Anda gunakan untuk memuat data ke dalam subsistem penyerapan data, pilih kelas penyimpanan yang sesuai berdasarkan persyaratan retensi data dan frekuensi akses workload Anda. Misalnya, Anda dapat memilih class penyimpanan Standar, dan menggunakan Object Lifecycle Management untuk mengontrol biaya penyimpanan dengan otomatis mendowngrade objek ke class penyimpanan yang lebih murah atau menghapus objek 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 diperlukan. Untuk mengetahui informasi selengkapnya, lihat Filter pengecualian.
  • Kurangi periode retensi entri log. Untuk informasi selengkapnya, lihat Mengonfigurasi retensi kustom.

Performa

Bagian ini menjelaskan faktor-faktor yang harus Anda pertimbangkan saat mendesain dan mem-build aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud yang memenuhi persyaratan performa Anda.

Produk Pertimbangan desain
Cloud Run Secara default, setiap instance container Cloud Run dialokasikan satu CPU dan memori 512 MiB. Bergantung pada persyaratan performa untuk tugas Cloud Run, Anda dapat mengonfigurasi batas CPU dan batas memori.
AlloyDB untuk PostgreSQL

Untuk membantu Anda menganalisis dan meningkatkan performa kueri database, AlloyDB untuk PostgreSQL menyediakan alat Insight Kueri. Anda dapat menggunakan alat ini untuk memantau performa dan melacak sumber kueri yang bermasalah. Untuk informasi selengkapnya, lihat Ringkasan Insight Kueri.

Untuk mendapatkan ringkasan status dan performa database Anda serta melihat metrik mendetail seperti koneksi puncak dan latensi replikasi maksimum, Anda dapat menggunakan dasbor Analisis Sistem. Untuk mengetahui informasi selengkapnya, lihat Memantau instance menggunakan dasbor Insight Sistem AlloyDB untuk PostgreSQL.

Untuk mengurangi beban pada instance AlloyDB untuk PostgreSQL utama dan untuk menskalakan kapasitas guna menangani permintaan baca, Anda dapat menambahkan instance kumpulan baca ke cluster. Untuk mengetahui informasi selengkapnya, lihat instance dan node AlloyDB untuk PostgreSQL.

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 mengetahui informasi selengkapnya, lihat Mendapatkan insight performa kueri.

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

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 direkomposisi di cloud. Upload komposit paralel dapat lebih cepat daripada operasi upload reguler jika bandwidth jaringan dan kecepatan disk tidak menjadi faktor yang membatasi. Namun, strategi ini memiliki beberapa keterbatasan dan implikasi biaya. Untuk mengetahui informasi selengkapnya, lihat Upload gabungan paralel.

Deployment

Untuk memulai dan bereksperimen dengan membangun infrastruktur di Google Cloud untuk aplikasi AI generatif berkemampuan RAG, Anda dapat menggunakan Solusi Memulai Cepat: RAG AI Generatif dengan Cloud SQL. Solusi ini men-deploy aplikasi chat berbasis Python di Cloud Run dan menggunakan database Cloud SQL yang dikelola sepenuhnya untuk penelusuran vektor. Kode contoh untuk solusi ini tersedia di GitHub.

Langkah selanjutnya

Kontributor

Penulis: Kumar Dhanagopal | Developer Solusi Lintas Produk

Kontributor lainnya: