Spanner dan kemampuan multi-modelnya terintegrasi dengan layanan AIGoogle Clouddan LangChain, framework open source, untuk membantu membangun aplikasi AI generatif. Anda dapat meningkatkan kualitas aplikasi dengan fitur seperti penelusuran kesamaan, retrieval-augmented generation (RAG), dan pustaka pengetahuan. Spanner membangun fungsi ini berdasarkan fondasi skalabilitas, ketersediaan, dan konsistensinya.
Melakukan penelusuran kesamaan dengan Penelusuran Vektor
Gunakan Spanner dengan Vector Search untuk menerapkan penelusuran kemiripan pada data teks tidak terstruktur. Spanner terintegrasi dengan layanan seperti Vertex AI untuk memanggil pembuatan embedding vektor dari data teks tidak terstruktur. Embedding ini adalah representasi numerik yang mencerminkan makna semantik teks. Untuk menemukan item yang serupa secara konseptual, Anda menggunakan fungsi jarak vektor untuk menemukan vektor embedding yang paling mirip dengan embedding permintaan penelusuran. Proses ini memungkinkan Anda membuat fitur seperti rekomendasi produk atau konten.
Untuk memulai,
buat dan isi ulang embedding vektor Vertex AI
secara massal untuk data tekstual yang ada. Anda dapat melakukannya dengan menggunakan SQL dan model embedding Vertex AI, seperti model text-embedding
, yang dijelaskan dalam dokumentasi text embeddings API.
Spanner mendukung penggunaan
perkiraan tetangga terdekat (ANN) dan
K-tetangga terdekat (KNN) dengan embedding vektor
kueri. ANN menggunakan indeks vektor untuk penelusuran yang cepat dan skalabel yang menampilkan hasil perkiraan. KNN melakukan penelusuran menyeluruh yang menampilkan hasil yang lebih akurat, tetapi bisa lambat untuk set data yang besar. Anda dapat menggunakan
beberapa fungsi jarak vektor
untuk mengukur kemiripan, termasuk:
Jarak kosinus: Mengukur kosinus sudut antara dua vektor, yang berguna untuk menemukan item dengan orientasi yang serupa, terlepas dari besarnya.
Jarak Euclidean: Mengukur jarak garis lurus antara dua vektor.
Perkalian titik: Menghitung hasil perkalian besaran vektor dan kosinus sudut di antara keduanya. Opsi ini dapat menjadi opsi yang paling efisien secara komputasi untuk vektor yang dinormalisasi.
Untuk informasi selengkapnya, lihat topik berikut:
Membuat prediksi ML dengan SQL
Anda dapat menggunakan kueri SQL di Spanner untuk memanggil model bahasa besar (LLM) yang di-deploy di Vertex AI. Akses langsung ke LLM memungkinkan Anda menjalankan prediksi untuk tugas seperti analisis sentimen, klasifikasi teks, dan terjemahan pada data yang disimpan di Spanner.
Dengan menggunakan fungsi
ML.PREDICT
(GoogleSQL) atau
spanner.ML_PREDICT_ROW
(PostgreSQL), Anda dapat membuat prediksi machine learning (ML)
tanpa harus memindahkan data atau menulis kode aplikasi kustom untuk
berinteraksi dengan LLM. Hal ini menyederhanakan arsitektur aplikasi Anda dan mendekatkan kemampuan ML ke data Anda. Untuk mengetahui informasi selengkapnya, lihat
Membuat prediksi ML menggunakan SQL.
Menggunakan Model Context Protocol (MCP) untuk terhubung ke agen LLM
Anda dapat menghubungkan instance Spanner ke IDE yang mendukung Model Context Protocol (MCP). MCP adalah protokol terbuka yang dapat Anda gunakan untuk menghubungkan LLM ke data Anda di Spanner. Setelah terhubung, agen LLM Anda dapat membuat kueri dan berinteraksi dengan instance Spanner Anda. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan IDE Anda ke Spanner.
Temukan insight dengan grafik Spanner
Untuk kasus penggunaan RAG yang lebih canggih, Spanner Graph mengintegrasikan kemampuan database grafik dengan kekuatan inti Spanner. Spanner Graph memungkinkan Anda membuat model, menyimpan, dan membuat kueri data yang sangat terhubung.
Mengintegrasikan Spanner Graph dengan LangChain untuk membangun aplikasi GraphRAG. Integrasi ini dapat meningkatkan kualitas RAG tradisional. GraphRAG memungkinkan Anda membuat aplikasi yang menangkap hubungan kompleks antar-entitas, seperti pustaka pengetahuan. Integrasi ini menggunakan kueri grafik selain Penelusuran Vektor untuk merekam hubungan implisit yang kompleks dalam data Anda. Penggunaan kueri grafik dan Vector Search secara bersamaan dapat memberikan jawaban yang lebih akurat dan relevan dari LLM Anda dibandingkan dengan hanya menggunakan Vector Search.
Untuk mengetahui informasi selengkapnya, lihat Infrastruktur GraphRAG untuk AI generatif menggunakan Vertex AI dan Spanner Graph.
Membangun aplikasi yang didukung LLM dengan LangChain
Spanner menyediakan beberapa class untuk bekerja secara terprogram dengan LangChain. LangChain adalah framework orkestrasi LLM yang menyediakan struktur, alat, dan komponen untuk menyederhanakan alur kerja LLM yang kompleks. Gunakan LangChain untuk membangun aplikasi AI generatif dan alur kerja RAG. Class LangChain yang tersedia untuk Spanner meliputi:
SpannerVectorStore
: Simpan dan telusuri embedding vektor untuk mengaktifkan penelusuran kemiripan dalam aplikasi Anda dengan class.SpannerLoader
: Memuat data dari Spanner untuk digunakan dalam penyematan atau untuk memberikan konteks tertentu ke rangkaian LLM dengan class.SpannerChatMessageHistory
: Aktifkan aplikasi AI percakapan dengan menyimpan histori percakapan dalam database Spanner.
Untuk mengetahui informasi selengkapnya, lihat Membangun aplikasi yang didukung LLM menggunakan LangChain dan Library klien Spanner untuk LangChain.
Mempelajari kasus penggunaan
Gunakan kemampuan AI Spanner untuk membangun aplikasi cerdas untuk kasus penggunaan seperti berikut:
Mesin pemberi saran e-commerce: Membuat embedding vektor untuk deskripsi produk guna mendukung mesin pemberi saran. Mesin ini dapat menyarankan item serupa kepada pelanggan, yang meningkatkan pengalaman belanja mereka dan meningkatkan penjualan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan AI Generatif untuk mendapatkan rekomendasi yang dipersonalisasi dalam aplikasi e-commerce.
Mengelola histori pesan chat: Gunakan Spanner dan LangChain untuk menyimpan dan mengambil histori percakapan. Spanner menyimpan data ini dalam database dan menyediakan class
SpannerChatMessageHistory
. Class ini memperluas class dasar LangChain untuk menyimpan dan mengambil pesan dari database. Untuk mengetahui informasi selengkapnya, lihat Histori pesan chat dengan Spanner.Deteksi penipuan keuangan: Gunakan Spanner Graph untuk menganalisis hubungan kompleks antara pengguna, akun, dan transaksi guna mengidentifikasi pola dan anomali mencurigakan yang sulit dideteksi dengan database relasional tradisional.
Customer 360: Dengan Spanner Graph, dapatkan gambaran menyeluruh tentang pelanggan dengan melacak hubungan, preferensi, dan histori pembelian. Hal ini memberikan rekomendasi yang dipersonalisasi, kampanye pemasaran bertarget, dan pengalaman layanan pelanggan yang lebih baik.
Jaringan sosial: Memodelkan aktivitas dan interaksi pengguna dengan Spanner Graph untuk memberikan rekomendasi teman dan menemukan konten di jaringan sosial.
Langkah berikutnya
Untuk mempelajari lebih lanjut cara menerapkan kemampuan AI di Spanner, lihat topik berikut:
- Membuat dan mengisi ulang embedding vektor
- Menemukan k-nearest neighbors
- Meningkatkan performa penelusuran vektor dengan perkiraan tetangga terdekat
- Integrasi LangChain
- Ringkasan Spanner Graph