RAG AI Generatif dengan Cloud SQL

Panduan ini membantu Anda memahami template RAG AI Generatif dengan Cloud SQL, yang merupakan template yang disediakan Google untuk aplikasi chat. Template ini menunjukkan cara Anda dapat membuat aplikasi chat yang menggunakan retrieval-augmented generation (RAG). Saat pengguna mengajukan pertanyaan di aplikasi, aplikasi akan memberikan respons yang didasarkan pada informasi yang disimpan sebagai vektor dalam database.

Produk yang digunakan

Aplikasi ini berisi produk Google Cloud berikut:

  • Cloud Load Balancing (opsional): Layanan yang menyediakan load balancing berperforma tinggi dan skalabel di Google Cloud.
  • Vertex AI: Platform machine learning (ML) yang memungkinkan Anda melatih dan men-deploy model ML dan aplikasi AI, serta menyesuaikan LLM untuk digunakan dalam aplikasi.
  • Cloud SQL: Layanan berbasis cloud untuk database MySQL, PostgreSQL, dan SQL Server yang terkelola sepenuhnya di infrastrukturGoogle Cloud .
  • Cloud Run: Layanan terkelola sepenuhnya yang memungkinkan Anda membangun dan men-deploy aplikasi dalam container tanpa server.Google Cloud menangani penskalaan dan tugas infrastruktur lainnya.
  • Secret Manager: Sistem penyimpanan yang aman dan praktis untuk kunci API, sandi, sertifikat, dan data sensitif lainnya.

Arsitektur

Gambar berikut menunjukkan komponen dan koneksi dalam aplikasi:

Aplikasi RAG AI generatif di kanvas desain. Aplikasi ini mencakup komponen frontend, pengambilan, AI, pengelolaan rahasia, dan database.

Berikut adalah alur pemrosesan permintaan aplikasi:

  1. Anda memuat data ke database PostgreSQL di Cloud SQL.
  2. Vertex AI membuat embedding kolom teks, dan menyimpannya sebagai vektor.
  3. Frontend Cloud Load Balancing menerima permintaan eksternal dan mendistribusikan traffic ke backend Cloud Load Balancing.
  4. Backend Cloud Load Balancing mendistribusikan traffic ke layanan frontend Cloud Run.
  5. Layanan frontend berkomunikasi dengan layanan pengambilan untuk panggilan AI generatif.
  6. Layanan backend mengonversi permintaan menjadi embedding dan menelusuri embedding yang ada.
  7. Layanan pengambilan mengirimkan hasil natural language dari penelusuran sematan, beserta perintah asli, ke Vertex AI untuk membuat respons.

Langkah berikutnya