Mem-build aplikasi AI generatif menggunakan Cloud SQL

Halaman ini memberikan ringkasan kemampuan yang ditawarkan oleh Cloud SQL untuk PostgreSQL untuk membantu Anda membuat aplikasi AI generatif. Untuk memulai aplikasi contoh, lihat Memulai penggunaan Cloud SQL untuk aplikasi AI generatif.

Retrieval-Augmented Generation (RAG) adalah teknik untuk mengoptimalkan output model bahasa besar (LLM) dengan mereferensikan pusat informasi yang kredibel sebelum menghasilkan respons. RAG meningkatkan aplikasi AI generatif dengan meningkatkan akurasinya. Database Cloud SQL menawarkan kemampuan yang diseleksi untuk aplikasi RAG dan AI generatif, seperti yang dijelaskan di halaman ini.

Membuat embedding vektor

Embed 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 penyematan menghasilkan embedding vektor sehingga, jika dua bagian konten serupa secara semantik, masing-masing embedding-nya akan berdekatan satu sama lain di ruang vektor penyematan.

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

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

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

Menyimpan, mengindeks, dan membuat kueri embedding vektor dengan pgvector

Anda dapat menyimpan, mengindeks, dan membuat kueri penyematan vektor di Cloud SQL menggunakan ekstensi PostgreSQL pgvector.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi ekstensi ini, lihat Mengonfigurasi ekstensi PostgreSQL. Untuk informasi selengkapnya tentang cara menyimpan, mengindeks, dan membuat kueri pada embedding vektor, lihat Menyimpan penyematan yang dihasilkan dan Membuat kueri dan mengindeks penyematan 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:

  • Loader dokumen: memuat dan menyimpan informasi dari dokumen
  • Penyimpanan vektor: menggunakan LangChain untuk mengaktifkan penelusuran semantik
  • Pesan chat: mengaktifkan rangkaian pesan untuk mengingat percakapan sebelumnya

Meningkatkan performa penelusuran vektor

Anda dapat meningkatkan performa penelusuran vektor dengan 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 hit cache data Jumlah total operasi baca hit cache data untuk instance database/postgresql/data_cache/hit_count
    Jumlah cache data yang tidak ditemukan Jumlah total operasi baca cache data yang tidak ada untuk instance database/postgresql/data_cache/miss_count
    Rasio hit cache data Rasio operasi baca hit cache data terhadap operasi baca miss cache data untuk instance
    database/postgresql/data_cache/hit_ratio
  • Insight Sistem: memberikan metrik sistem seperti penggunaan CPU, penggunaan disk, dan throughput untuk membantu Anda memantau kondisi 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 Cloud SQL Query Insights 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 stack 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 pahami.

Manfaat menggunakan Cloud SQL untuk aplikasi AI generatif

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

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

Mulai menggunakan Cloud SQL untuk aplikasi AI generatif

Untuk mulai membuat 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 membuat 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 dalam project Google Cloud terpisah

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 selanjutnya