Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan GKE dan Cloud SQL

Last reviewed 2024-12-11 UTC

Dokumen ini memberikan arsitektur referensi yang dapat Anda gunakan untuk mendesain infrastruktur guna menjalankan aplikasi AI generatif dengan generasi yang didukung pengambilan (RAG) menggunakan Google Kubernetes Engine (GKE), Cloud SQL, dan alat open source seperti Ray, Hugging Face, dan LangChain. Untuk membantu Anda bereksperimen dengan arsitektur referensi ini, aplikasi contoh dan konfigurasi Terraform disediakan di GitHub.

Dokumen ini ditujukan bagi developer yang ingin membangun dan men-deploy aplikasi AI generatif berkemampuan RAG dengan cepat menggunakan alat dan model open source. Anda dianggap sudah memiliki pengalaman menggunakan GKE dan Cloud SQL serta memiliki pemahaman konseptual tentang 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 berkemampuan RAG di Google Cloud:

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

Arsitektur ini berisi subsistem inferensi dan subsistem penyematan.

  • Subsistem inferensi menangani alur permintaan-respons antara aplikasi dan penggunanya. Subsistem ini mencakup server frontend, server inferensi, dan layanan AI yang bertanggung jawab (RAI). Subsistem inferensi berinteraksi dengan subsistem embedding melalui database vektor.
  • Subsistem penyematan memungkinkan kemampuan RAG dalam arsitektur. Subsistem ini melakukan hal berikut:
    • Menyerap data dari sumber data di Google Cloud, lokal, dan platform cloud lainnya.
    • Mengonversi data yang di-ingest menjadi embedding vektor.
    • Menyimpan embedding dalam database vektor.

Diagram berikut menunjukkan tampilan mendetail arsitektur:

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

Seperti yang ditunjukkan pada diagram sebelumnya, server frontend, server inferensi, dan layanan penyematan di-deploy di cluster GKE regional dalam mode Autopilot. Data untuk RAG diserap melalui bucket Cloud Storage. Arsitektur ini menggunakan instance Cloud SQL untuk PostgreSQL dengan ekstensi pgvector sebagai database vektor untuk menyimpan embedding dan melakukan penelusuran semantik. Database vektor dirancang untuk menyimpan dan mengambil vektor berdimensi tinggi secara efisien.

Bagian berikut menjelaskan komponen dan aliran data dalam setiap subsistem arsitektur.

Subsistem embedding

Berikut adalah aliran data dalam subsistem penyematan:

  1. Data dari sumber eksternal dan internal diupload ke bucket Cloud Storage oleh pengguna manusia atau secara terprogram. Data yang diupload dapat berupa file, database, atau data streaming.
  2. (Tidak ditampilkan dalam diagram arsitektur.) Aktivitas upload data memicu peristiwa yang dipublikasikan ke layanan pesan seperti Pub/Sub. Layanan pesan mengirimkan notifikasi ke layanan penyematan.
  3. Saat menerima notifikasi peristiwa upload data, layanan penyematan akan melakukan hal berikut:
    1. Mengambil data dari bucket Cloud Storage melalui driver CSI Cloud Storage FUSE.
    2. Membaca data yang diupload dan memprosesnya sebelumnya menggunakan Ray Data. Pra-pemrosesan dapat mencakup membagi data menjadi beberapa bagian dan mengubahnya ke dalam format yang sesuai untuk pembuatan embedding.
    3. Menjalankan tugas Ray untuk membuat embedding vektor dari data yang telah diproses sebelumnya menggunakan model open source seperti intfloat/multilingual-e5-small yang di-deploy di cluster yang sama.
    4. Menulis embedding vektor ke database vektor Cloud SQL untuk PostgreSQL.

Seperti yang dijelaskan di bagian berikut, saat memproses permintaan pengguna, subsistem inferensi menggunakan embedding dalam database vektor untuk mengambil data spesifik domain yang relevan.

Subsistem inferensi

Berikut adalah alur permintaan-respons di subsistem inferensi:

  1. Pengguna mengirimkan permintaan bahasa alami ke server frontend melalui antarmuka chat berbasis web. Server frontend berjalan di GKE.
  2. Server frontend menjalankan proses LangChain yang melakukan hal berikut:
    1. Mengonversi permintaan bahasa alami menjadi embedding menggunakan model dan parameter yang sama dengan yang digunakan layanan embedding.
    2. Mengambil data perujukan yang relevan dengan melakukan penelusuran semantik untuk embedding dalam database vektor. Penelusuran semantik membantu menemukan embedding berdasarkan maksud perintah, bukan konten tekstualnya.
    3. Membuat perintah kontekstual dengan menggabungkan permintaan asli dengan data perujukan yang diambil.
    4. Mengirimkan perintah kontekstual ke server inferensi, yang berjalan di GKE.
  3. Server inferensi menggunakan framework penayangan Hugging Face TGI untuk menayangkan LLM open source seperti Mistral-7B-Instruct atau model terbuka Gemma.
  4. LLM menghasilkan respons terhadap perintah, dan server inferensi mengirimkan respons ke server frontend.

    Anda dapat menyimpan dan melihat log aktivitas permintaan-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.

  5. Server frontend memanggil layanan RAI untuk menerapkan filter keamanan yang diperlukan pada respons. Anda dapat menggunakan alat seperti Sensitive Data Protection dan Cloud Natural Language API untuk menemukan, memfilter, mengklasifikasikan, dan melakukan de-identifikasi konten sensitif dalam respons.

  6. Server frontend mengirimkan respons yang difilter kepada pengguna.

Produk yang digunakan

Berikut ringkasan produk Google Cloud dan open source yang digunakan arsitektur sebelumnya:

Google Cloud produk

  • Google Kubernetes Engine (GKE): Layanan Kubernetes yang dapat Anda gunakan untuk men-deploy dan mengoperasikan aplikasi dalam container dalam skala besar menggunakan infrastruktur Google.
  • 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.
  • Cloud SQL: Layanan database relasional terkelola sepenuhnya yang membantu Anda menyediakan, mengoperasikan, dan mengelola database MySQL, PostgreSQL, dan SQL Server di Google Cloud.

Produk open source

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.

Jika Anda memerlukan arsitektur yang menggunakan produk penelusuran vektor yang dikelola sepenuhnya, Anda dapat menggunakan Vertex AI dan Vector Search, yang menyediakan infrastruktur penayangan yang dioptimalkan untuk penelusuran vektor berskala sangat besar. Untuk mengetahui informasi selengkapnya, lihat Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan Penelusuran Vektor.

Database Google Cloud yang kompatibel dengan vektor

Jika Anda ingin memanfaatkan kemampuan penyimpanan vektor dari database yang terkelola 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

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 memberikan panduan untuk membantu Anda mengembangkan dan menjalankan arsitektur AI generatif yang kompatibel dengan RAG dan dihosting di GKE yang memenuhi persyaratan spesifik Anda untuk keamanan dan kepatuhan, keandalan, biaya, dan performa. Panduan di bagian ini tidak lengkap. Bergantung pada persyaratan spesifik aplikasi Anda serta produk dan fitur Google Cloud yang Anda gunakan, Anda mungkin perlu mempertimbangkan faktor dan kompromi desain tambahan.

Untuk panduan desain terkait alat open source dalam arsitektur referensi ini, seperti Hugging Face TGI, lihat dokumentasi untuk alat tersebut.

Keamanan, privasi, dan kepatuhan

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

Produk Pertimbangan desain
GKE

Dalam mode operasi Autopilot, GKE mengonfigurasi cluster Anda sebelumnya dan mengelola node sesuai dengan praktik terbaik keamanan, sehingga Anda dapat berfokus pada keamanan khusus workload. Untuk informasi selengkapnya, lihat referensi berikut:

Untuk memastikan kontrol akses yang ditingkatkan untuk aplikasi yang berjalan di GKE, Anda dapat menggunakan Identity-Aware Proxy (IAP). IAP terintegrasi dengan resource Ingress GKE dan memastikan bahwa hanya pengguna terautentikasi dengan peran Identity and Access Management (IAM) yang benar yang dapat mengakses aplikasi. Untuk informasi selengkapnya, lihat Mengaktifkan IAP untuk GKE.

Secara default, data Anda di GKE dienkripsi dalam penyimpanan dan dalam pengiriman menggunakan Google-owned and Google-managed encryption keys. Sebagai lapisan keamanan tambahan untuk data sensitif, Anda dapat mengenkripsi data di lapisan aplikasi menggunakan kunci yang Anda miliki dan kelola dengan Cloud KMS. Untuk mengetahui informasi selengkapnya, lihat Mengenkripsi secret di lapisan aplikasi.

Jika Anda menggunakan cluster GKE Standard, Anda dapat menggunakan kemampuan enkripsi data tambahan berikut:

Cloud SQL

Instance Cloud SQL dalam arsitektur tidak perlu dapat diakses dari internet publik. Jika akses eksternal ke instance Cloud SQL diperlukan, Anda dapat mengenkripsi koneksi eksternal dengan menggunakan SSL/TLS atau konektor Proxy Auth Cloud SQL. Konektor Proxy Auth menyediakan otorisasi koneksi dengan menggunakan IAM. Konektor menggunakan koneksi TLS 1.3 dengan cipher AES 256-bit untuk memverifikasi identitas klien dan server serta mengenkripsi traffic data. Untuk koneksi yang dibuat menggunakan Java, Python, Go, atau Node.js, gunakan Konektor Bahasa yang sesuai bukan konektor Proxy Auth.

Secara default, Cloud SQL menggunakan kunci enkripsi data (DEK) dan kunci enkripsi kunci (KEK) yang dimiliki dan dikelola Google untuk mengenkripsi data dalam penyimpanan. Jika perlu menggunakan KEK yang Anda kontrol dan kelola, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).

Untuk mencegah akses yang tidak sah ke Cloud SQL Admin API, Anda dapat membuat perimeter layanan menggunakan Kontrol Layanan VPC.

Untuk mengetahui informasi tentang cara mengonfigurasi Cloud SQL untuk membantu memenuhi persyaratan residensi data, lihat Ringkasan residensi data.

Cloud Storage

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.

Cloud Storage mendukung dua metode untuk mengontrol akses pengguna 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 mencakup 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.

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

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

Semua produk dalam arsitektur ini

Log audit Aktivitas Admin 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 lain yang mengubah konfigurasi atau metadata Google Cloud resource.

Log audit Akses Data juga diaktifkan secara default untuk semua layanan Google Cloud dalam arsitektur ini. 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.

Untuk mengetahui prinsip dan rekomendasi keamanan yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Keamanan dalam Framework yang Dirancang dengan Baik.

Keandalan

Bagian ini menjelaskan faktor desain yang harus Anda pertimbangkan untuk membangun dan mengoperasikan infrastruktur yang andal untuk aplikasi AI generatif berkemampuan RAG di Google Cloud.

Produk Pertimbangan desain
GKE

Dengan mode operasi Autopilot yang digunakan dalam arsitektur ini, GKE menyediakan kemampuan keandalan bawaan berikut:

  • Beban kerja Anda menggunakan cluster GKE regional. Bidang kontrol dan node pekerja didistribusikan di tiga zona berbeda dalam suatu region. Workload Anda tahan terhadap pemadaman zona. Cluster GKE regional memiliki SLA waktu beroperasi yang lebih tinggi daripada cluster zona.
  • Anda tidak perlu membuat node atau mengelola node pool. GKE akan otomatis membuat node pool dan menskalakannya secara otomatis berdasarkan persyaratan workload Anda.

Untuk memastikan kapasitas GPU yang memadai tersedia saat diperlukan untuk menskalakan otomatis cluster GKE, Anda dapat membuat dan menggunakan reservasi. Reservasi memberikan kapasitas yang pasti di zona tertentu untuk resource yang ditentukan. Reservasi dapat bersifat khusus untuk satu project, atau dibagikan di beberapa project. Anda dikenai biaya untuk resource yang dipesan meskipun resource tersebut tidak disediakan atau digunakan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan resource zona yang dicadangkan.

Cloud SQL

Untuk memastikan bahwa database vektor tangguh terhadap kegagalan database dan pemadaman layanan zona, gunakan instance Cloud SQL yang dikonfigurasi HA. Jika terjadi kegagalan pada database utama atau pemadaman layanan zona, Cloud SQL akan otomatis melakukan failover ke database standby di zona lain. Anda tidak perlu mengubah alamat IP untuk endpoint database.

Untuk memastikan bahwa instance Cloud SQL Anda tercakup dalam SLA, ikuti pedoman operasional yang direkomendasikan. Misalnya, pastikan CPU dan memori berukuran tepat untuk workload, dan aktifkan peningkatan penyimpanan otomatis. Untuk mengetahui informasi selengkapnya, lihat Panduan operasional.

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.

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 berisi panduan untuk membantu Anda mengoptimalkan biaya penyiapan dan pengoperasian aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud.

Produk Pertimbangan desain
GKE

Dalam mode Autopilot, GKE mengoptimalkan efisiensi infrastruktur cluster Anda berdasarkan persyaratan workload. Anda tidak perlu terus-menerus memantau pemakaian resource atau mengelola kapasitas untuk mengontrol biaya.

Jika dapat memprediksi penggunaan CPU, memori, dan penyimpanan sementara cluster GKE Autopilot, Anda dapat menghemat uang dengan mendapatkan diskon untuk penggunaan yang di-commit. Untuk mengetahui informasi selengkapnya, lihat Diskon abonemen GKE.

Untuk mengurangi biaya menjalankan aplikasi, Anda dapat menggunakan Spot VM untuk node GKE. Spot VM harganya lebih rendah daripada VM standar, tetapi tidak memberikan jaminan ketersediaan. Untuk mengetahui informasi tentang manfaat node yang menggunakan Spot VM, cara kerjanya di GKE, dan cara menjadwalkan workload di node tersebut, lihat Spot VM.

Untuk panduan pengoptimalan biaya lainnya, lihat Praktik terbaik untuk menjalankan aplikasi Kubernetes yang hemat biaya di GKE.

Cloud SQL

Konfigurasi ketersediaan tinggi (HA) membantu mengurangi periode nonaktif untuk database Cloud SQL Anda saat zona atau instance menjadi tidak tersedia. Namun, biaya instance yang dikonfigurasi dengan HA lebih tinggi daripada instance mandiri. Jika Anda tidak memerlukan HA untuk database vektor, Anda dapat mengurangi biaya dengan menggunakan instance mandiri, yang tidak kuat terhadap gangguan zona.

Anda dapat mendeteksi apakah instance Cloud SQL Anda disediakan secara berlebihan dan mengoptimalkan penagihan dengan menggunakan insight dan rekomendasi biaya Cloud SQL yang didukung oleh Active Assist. Untuk mengetahui informasi selengkapnya, lihat Mengurangi instance Cloud SQL yang disediakan secara berlebih.

Jika dapat memprediksi persyaratan CPU dan memori instance Cloud SQL, Anda dapat menghemat uang dengan mendapatkan diskon untuk penggunaan yang di-commit. Untuk mengetahui informasi selengkapnya, lihat Diskon abonemen Cloud SQL.

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 melakukannya, Anda dapat mendowngrade objek secara otomatis ke kelas penyimpanan berbiaya lebih rendah atau menghapus objek berdasarkan kondisi yang Anda tetapkan.

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 faktor-faktor yang harus Anda pertimbangkan saat mendesain dan membangun aplikasi AI generatif berkemampuan RAG di Google Cloud yang memenuhi persyaratan performa Anda.

Produk Pertimbangan desain
GKE Pilih class komputasi yang sesuai untuk Pod Anda berdasarkan persyaratan performa beban kerja. Untuk Pod yang menjalankan server inferensi dan layanan penyematan, sebaiknya gunakan jenis mesin GPU seperti nvidia-l4.
Cloud SQL

Untuk mengoptimalkan performa instance Cloud SQL, pastikan CPU dan memori yang dialokasikan ke instance memadai untuk workload. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan instance Cloud SQL yang tidak disediakan.

Untuk meningkatkan waktu respons penelusuran vektor perkiraan tetangga terdekat (ANN), gunakan indeks Inverted File with Flat Compression (IVFFlat) atau indeks Hierarchical Navigable Small World (HNSW)

Untuk membantu Anda menganalisis dan meningkatkan performa kueri database, Cloud SQL menyediakan alat Query Insights. Anda dapat menggunakan alat ini untuk memantau performa dan melacak sumber kueri yang bermasalah. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Insight kueri untuk meningkatkan performa kueri.

Untuk mendapatkan ringkasan status dan performa database Anda serta melihat metrik mendetail seperti koneksi puncak dan penggunaan disk, Anda dapat menggunakan dasbor Insight Sistem. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Insight sistem untuk meningkatkan performa sistem.

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 yang membatasi, upload komposit paralel dapat lebih cepat daripada operasi upload reguler. Namun, strategi ini memiliki beberapa keterbatasan dan implikasi biaya. Untuk mengetahui informasi selengkapnya, lihat Upload komposit paralel.

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 contoh kode open source yang tersedia di repositori di GitHub. Kode contoh tidak ditujukan untuk kasus penggunaan produksi. Anda dapat menggunakan kode tersebut untuk bereksperimen dengan menyiapkan infrastruktur AI untuk aplikasi AI generatif yang mendukung RAG.

Kode contoh menjalankan hal berikut:

  1. Menyediakan instance Cloud SQL untuk PostgreSQL yang berfungsi sebagai database vektor.
  2. Men-deploy Ray, JupyterHub, dan Hugging Face TGI ke cluster GKE yang Anda tentukan.
  3. Men-deploy aplikasi chatbot berbasis web sampel ke cluster GKE Anda agar Anda dapat memverifikasi kemampuan RAG.

Untuk mengetahui petunjuk penggunaan kode contoh, lihat README untuk kode tersebut. Jika terjadi error saat Anda menggunakan kode contoh, dan jika masalah GitHub yang terbuka tidak ada untuk error tersebut, buat masalah di GitHub.

Kode contoh men-deploy resource Google Cloud yang dapat ditagih. Setelah selesai menggunakan kode, hapus semua resource yang tidak lagi Anda perlukan.

Langkah berikutnya

Kontributor

Penulis: Kumar Dhanagopal | Cross-Product Solution Developer

Kontributor lainnya: