Mem-build aplikasi AI generatif menggunakan Cloud SQL

Halaman ini memberikan ringkasan kemampuan yang ditawarkan oleh Cloud SQL untuk PostgreSQL guna membantu Anda membangun aplikasi AI generatif. Untuk mulai menggunakan aplikasi contoh, lihat Mulai menggunakan Cloud SQL untuk aplikasi AI generatif.

Retrieval-Augmented Generation (RAG) adalah teknik untuk mengoptimalkan output model bahasa besar (LLM) dengan mereferensikan basis pengetahuan otoritatif sebelum membuat respons. RAG meningkatkan aplikasi AI generatif dengan meningkatkan akurasinya. Database Cloud SQL menawarkan kemampuan yang dikurasi untuk aplikasi RAG dan AI generatif, seperti yang dijelaskan di halaman ini.

Membuat embedding vektor

Embedding vektor sangat penting untuk RAG karena memungkinkan pemahaman semantik dan penelusuran kemiripan yang efisien. Embedding ini adalah representasi numerik dari teks, gambar, audio, dan video. Model embedding membuat embedding vektor sehingga, jika dua konten serupa secara semantik, embedding masing-masing akan berdekatan satu sama lain di ruang vektor embedding.

Cloud SQL terintegrasi dengan Vertex AI. Anda dapat menggunakan model yang dihosting Vertex AI untuk membuat embedding vektor menggunakan kueri SQL.

Cloud SQL memperluas sintaksis PostgreSQL dengan fungsi embedding untuk membuat embedding vektor teks. Setelah membuat embedding ini, Anda dapat menyimpannya dalam database Cloud SQL tanpa memerlukan database vektor terpisah.

Anda juga dapat menggunakan Cloud SQL untuk menyimpan embedding vektor yang dibuat di luar Cloud SQL. Misalnya, Anda dapat menyimpan embedding vektor yang dibuat menggunakan model terlatih di Vertex AI Model Garden. Anda dapat menggunakan embedding vektor ini sebagai input ke pgvector fungsi untuk penelusuran semantik dan kemiripan.

Menyimpan, mengindeks, dan mengkueri embedding vektor dengan pgvector

Anda dapat menyimpan, mengindeks, dan mengkueri embedding vektor di Cloud SQL menggunakan ekstensi PostgreSQL pgvector.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi ekstensi ini, lihat Mengonfigurasi ekstensi PostgreSQL. Untuk mengetahui informasi selengkapnya tentang cara menyimpan, mengindeks, dan mengkueri embedding vektor, lihat Menyimpan embedding yang dibuat dan Mengkueri dan mengindeks embedding menggunakan pgvector.

Memanggil prediksi online menggunakan kueri SQL

Anda dapat memanggil prediksi online menggunakan model yang disimpan di Vertex AI Model Garden menggunakan kueri SQL.

Menggunakan integrasi LangChain

Cloud SQL terintegrasi dengan LangChain, framework orkestrasi LLM open source, untuk menyederhanakan pengembangan aplikasi AI generatif. Anda dapat menggunakan paket LangChain berikut:

  • Pemuat dokumen: memuat dan menyimpan informasi dari dokumen
  • Penyimpanan vektor: menggunakan LangChain untuk mengaktifkan penelusuran semantik
  • Pesan chat: memungkinkan rantai untuk mengingat percakapan sebelumnya

Meningkatkan performa penelusuran vektor

Anda dapat meningkatkan performa penelusuran vektor menggunakan hal berikut:

  • Cache data: menggunakan cache data bawaan yang memanfaatkan SSD lokal yang cepat untuk menyimpan halaman data yang sering dibaca. Anda bisa mendapatkan peningkatan performa baca hingga tiga kali lipat dibandingkan dengan membaca dari persistent disk.
  • Metrik cache data: mengoptimalkan kueri berdasarkan seberapa efektif cache data digunakan dalam penelusuran vektor.

    Cloud SQL menyediakan metrik berikut di Metrics Explorer di Cloud Monitoring:

    Metrik Deskripsi Label metrik
    Cache data yang digunakan Penggunaan cache data (dalam byte) database/data_cache/bytes_used
    Kuota cache data Ukuran cache data maksimum (dalam byte) database/data_cache/quota
    Jumlah cache ditemukan Jumlah total operasi baca cache data ditemukan untuk sebuah instance database/postgresql/data_cache/hit_count
    Jumlah cache tidak ditemukan Jumlah total operasi baca cache data tidak ditemukan untuk sebuah instance database/postgresql/data_cache/miss_count
    Rasio cache ditemukan Rasio operasi baca cache data ditemukan terhadap operasi baca cache data tidak ditemukan untuk sebuah instance
    database/postgresql/data_cache/hit_ratio
  • Insight Sistem: menyediakan metrik sistem seperti penggunaan CPU, penggunaan disk, dan throughput untuk membantu Anda memantau status instance dan memecahkan masalah yang memengaruhi performa aplikasi AI generatif Anda. Untuk melihat metrik ini, gunakan dasbor Insight Sistem Cloud SQL.

  • Query Insights: mendeteksi, mendiagnosis, dan mencegah masalah performa kueri. Hal ini berguna untuk meningkatkan performa penelusuran vektor di aplikasi AI generatif Anda.

    Anda dapat menggunakan dasbor Insight Kueri Cloud SQL untuk mengamati performa kueri teratas dan menganalisis kueri ini menggunakan rencana kueri visual. Anda juga dapat memantau performa di tingkat aplikasi dan melacak sumber kueri yang bermasalah di seluruh tumpukan aplikasi ke database menggunakan SQLcommenter. Ini adalah library instrumentasi otomatis pemetaan relasional objek (ORM) open source.

    Insight Kueri juga dapat membantu Anda berintegrasi dengan alat pemantauan aplikasi (APM) yang sudah ada sehingga Anda dapat memecahkan masalah kueri menggunakan alat yang sudah Anda kenal.

Manfaat menggunakan Cloud SQL untuk aplikasi AI generatif

Menggunakan Cloud SQL untuk membangun aplikasi AI generatif memberikan hal berikut:

  • Menggunakan PostgreSQL untuk membangun aplikasi AI generatif. Cloud SQL untuk PostgreSQL mendukung pgvector dan terintegrasi dengan Vertex AI dan LangChain.
  • Menggunakan layanan tepercaya yang memiliki perlindungan data, keamanan, dan tata kelola tingkat perusahaan. Dengan menggunakan Cloud SQL, Anda mendapatkan manfaat berikut:
    • SLA ketersediaan tinggi sebesar 99,99% yang mencakup pemeliharaan
    • Layanan terkelola yang memberi Anda fitur seperti pencadangan otomatis, replikasi, patch, enkripsi, dan peningkatan kapasitas penyimpanan otomatis
    • Kemampuan keamanan, tata kelola, dan kepatuhan
  • Menggabungkan dengan data operasional kontekstual. Menggunakan gabungan dan filter pada data operasional saat menggunakan embedding vektor untuk mendapatkan respons kontekstual, akurat, dan terbaru di aplikasi AI generatif Anda.
  • Mengurangi beban operasi. Menggunakan Cloud SQL sebagai database vektor untuk mengurangi beban operasi yang terkait dengan mengekspor data ke database vektor terpisah.
  • Mengakses model AI generatif terbaru. Menggunakan kueri SQL untuk mengakses model AI terbaru yang dihosting di Vertex AI.

Mulai menggunakan Cloud SQL untuk aplikasi AI generatif

Untuk mulai membangun aplikasi AI generatif, gunakan aplikasi contoh ini. Aplikasi ini menggunakan Cloud SQL, Vertex AI, dan Google Kubernetes Engine (GKE) atau Cloud Run. Anda dapat menggunakan aplikasi ini untuk membangun API chatbot dasar yang:

  • Mengintegrasikan GKE atau Cloud Run dengan Cloud SQL, Vertex AI, dan pgvector
  • Menunjukkan konektivitas ke Cloud SQL menggunakan Private Service Connect di Virtual Private Cloud (VPC)
  • Menggunakan Terraform untuk mengonfigurasi infrastruktur Anda
  • Menggunakan Python dengan asyncpg dan FastAPI
  • Mendukung penyiapan Cloud SQL dan aplikasi yang berjalan di GKE atau Cloud Run di project terpisah Google Cloud

Solusi ini berisi konten berikut:

  • Template Terraform untuk menyiapkan infrastruktur Anda dengan praktik terbaik untuk keamanan
  • Aplikasi contoh untuk Chatbot yang didukung LLM yang dapat Anda deploy ke GKE atau Cloud Run

Langkah berikutnya