Membangun aplikasi AI generatif menggunakan Cloud SQL

Halaman ini memberikan ringkasan kemampuan yang ditawarkan Cloud SQL untuk PostgreSQL guna membantu Anda membangun aplikasi AI generatif. Untuk mulai menggunakan contoh aplikasi, lihat Mulai menggunakan 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 kualitas 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

Embedding vektor sangat penting untuk RAG karena memungkinkan pemahaman semantik dan penelusuran kesamaan yang efisien. Embeddings ini adalah representasi numerik dari teks, gambar, audio, dan video. Model embedding menghasilkan embedding vektor sehingga, jika dua bagian konten mirip secara semantik, maka embeddings masing-masing akan ditempatkan berdekatan satu sama lain dalam ruang vektor embedding.

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

Cloud SQL memperluas sintaksis PostgreSQL dengan fungsi penyematan untuk membuat embedding vektor teks. Setelah menghasilkan 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 dihasilkan di luar Cloud SQL. Misalnya, Anda dapat menyimpan embedding 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.

Simpan, indeks, dan kueri embedding vektor dengan pgvector

Anda dapat menyimpan, mengindeks, dan membuat kueri embedding 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 menyimpan, mengindeks, dan membuat kueri embedding vektor, lihat Menyimpan penyematan yang dihasilkan serta Kueri dan indeks embedding menggunakan pgvector.

Memanggil prediksi online menggunakan kueri SQL

Anda dapat memanggil prediksi online menggunakan model yang disimpan di Vertex AI Model Garden dengan 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:

Meningkatkan performa penelusuran vektor

Anda dapat meningkatkan performa penelusuran vektor menggunakan hal berikut:

  • Cache data: gunakan 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 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 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 cache data yang ditemukan untuk satu instance database/postgresql/data_cache/hit_count
    Jumlah cache data yang tidak ditemukan Jumlah total operasi baca yang terlewat oleh cache data untuk satu instance database/postgresql/data_cache/miss_count
    Rasio cache data ditemukan Rasio operasi baca cache data yang ditemukan terhadap operasi baca cache data yang tidak berhasil untuk sebuah instance
    database/postgresql/data_cache/hit_ratio
  • Insight Sistem: memberikan metrik sistem seperti pemakaian CPU, pemakaian disk, dan throughput untuk membantu Anda memantau kondisi instance dan memecahkan masalah yang memengaruhi performa aplikasi AI generatif. Untuk melihat metrik ini, gunakan dasbor Cloud SQL System Insights.

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

    Anda dapat menggunakan dasbor Query Insights Cloud SQL untuk mengamati performa kueri teratas dan menganalisis kueri ini dengan menggunakan rencana kueri visual. Anda juga dapat memantau performa di tingkat aplikasi dan melacak sumber kueri yang bermasalah di seluruh stack aplikasi hingga database menggunakan SQLcommenter. Library ini adalah library pemetaan relasional objek (ORM), open source, dan instrumentasi otomatis.

    Query Insights juga dapat membantu Anda mengintegrasikan alat pemantauan aplikasi (APM) yang sudah ada sehingga Anda dapat memecahkan masalah kueri menggunakan alat yang biasa Anda gunakan.

Manfaat menggunakan Cloud SQL untuk aplikasi AI generatif

Penggunaan Cloud SQL untuk membangun aplikasi AI generatif akan memberikan hal berikut:

  • Gunakan PostgreSQL untuk membangun aplikasi AI generatif. Cloud SQL untuk PostgreSQL mendukung pgvector dan terintegrasi dengan Vertex AI dan LangChain.
  • Gunakan layanan tepercaya yang memiliki perlindungan data, keamanan, dan tata kelola tingkat perusahaan. Dengan menggunakan Cloud SQL, Anda akan mendapatkan manfaat berikut:
    • SLA ketersediaan tinggi sebesar 99,99% dan mencakup pemeliharaan
    • Layanan terkelola yang menyediakan fitur seperti pencadangan otomatis, replikasi, patch, enkripsi, dan peningkatan kapasitas penyimpanan otomatis
    • Kemampuan keamanan, tata kelola, dan kepatuhan
  • Gabungkan dengan data operasional kontekstual. Gunakan gabungan dan filter pada data operasional saat menggunakan embedding vektor untuk mendapatkan respons yang kontekstual, akurat, dan terbaru dalam aplikasi AI generatif Anda.
  • Kurangi toil operasi. Gunakan Cloud SQL sebagai database vektor Anda untuk mengurangi toil operasi yang terkait dengan ekspor 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 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 chatbot API 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 yang terpisah

Solusi ini berisi konten berikut:

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

Langkah selanjutnya