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 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:
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:
- 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.
- (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.
- Saat menerima notifikasi peristiwa upload data, layanan penyematan akan melakukan hal berikut:
- Mengambil data dari bucket Cloud Storage melalui driver CSI Cloud Storage FUSE.
- 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.
- 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.
- 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:
- Pengguna mengirimkan permintaan bahasa alami ke server frontend melalui antarmuka chat berbasis web. Server frontend berjalan di GKE.
- Server frontend menjalankan proses
LangChain yang melakukan hal berikut:
- Mengonversi permintaan bahasa alami menjadi embedding menggunakan model dan parameter yang sama dengan yang digunakan layanan embedding.
- 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.
- Membuat perintah kontekstual dengan menggabungkan permintaan asli dengan data perujukan yang diambil.
- Mengirimkan perintah kontekstual ke server inferensi, yang berjalan di GKE.
- Server inferensi menggunakan framework penayangan Hugging Face TGI untuk menayangkan LLM open source seperti Mistral-7B-Instruct atau model terbuka Gemma.
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.
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.
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
- Hugging Face Text Generation Inference (TGI): Toolkit untuk men-deploy dan menayangkan LLM.
- Ray: Framework komputasi terpadu open source yang membantu Anda menskalakan workload AI dan Python.
- LangChain: Framework untuk mengembangkan dan men-deploy aplikasi yang didukung oleh LLM.
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.
Penelitian hukum yang efisien
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.
Penelusuran vektor yang terkelola sepenuhnya
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:
|
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:
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:
- Menyediakan instance Cloud SQL untuk PostgreSQL yang berfungsi sebagai database vektor.
- Men-deploy Ray, JupyterHub, dan Hugging Face TGI ke cluster GKE yang Anda tentukan.
- 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
- Tinjau panduan praktik terbaik GKE berikut:
- Pelajari cara menyajikan model terbuka Gemma menggunakan GPU di GKE dengan Hugging Face TGI.
- Tinjau Google Cloud opsi untuk merujuk respons AI generatif.
- Pelajari cara membangun infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan Vector Search.
- Pelajari cara membangun infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan AlloyDB untuk PostgreSQL.
- Untuk mengetahui ringkasan prinsip dan rekomendasi arsitektur yang khusus untuk workload AI dan ML di Google Cloud, lihat perspektif AI dan ML dalam Well-Architected Framework.
- Untuk mengetahui lebih banyak tentang arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Pusat Arsitektur Cloud.
Kontributor
Penulis: Kumar Dhanagopal | Cross-Product Solution Developer
Kontributor lainnya:
- Anna Berenberg | Engineering Fellow
- Ali Zaidi | Solutions Architect
- Bala Narasimhan | Group Product Manager
- Bill Bernsen | Security Engineer
- Brandon Royal | Outbound Product Manager
- Cynthia Thomas | Product Manager
- Geoffrey Anderson | Product Manager
- Gleb Otochkin | Cloud Advocate, Databases
- Jack Wotherspoon | Software Engineer
- Julie Amundson | Senior Staff Software Engineer
- Kent Hua | Solutions Manager
- Kavitha Rajendran | Spesialis AI/ML, Arsitek Solusi
- Mark Schlagenhauf | Technical Writer, Networking
- Megan O'Keefe | Head of Industry Compete, Cloud Platform Evaluations Team
- Mofi Rahman | Google Cloud Advocate