Integrasi LangChain untuk AlloyDB untuk PostgreSQL memungkinkan Anda membangun aplikasi model bahasa besar (LLM) dan retrieval-augmented generation (RAG) yang didukung oleh database Anda. Anda dapat menggunakan class LangChain untuk AlloyDB guna melakukan penelusuran semantik dengan penyimpanan vektor, memuat dan menyimpan dokumen, serta mempertahankan histori pesan chat. Setiap ringkasan komponen ditautkan ke panduan prosedur langkah demi langkah di GitHub.
Apa itu LangChain?
LangChain adalah framework orkestrasi LLM yang membantu developer membangun aplikasi AI generatif atau alur kerja retrieval-augmented generation (RAG). Framework ini menyediakan struktur, alat, dan komponen untuk menyederhanakan alur kerja model bahasa besar (LLM) yang kompleks. Untuk mengetahui informasi selengkapnya tentang LLM, kasus penggunaannya, serta model dan layanan spesifik yang ditawarkan Google, lihat ringkasan konsep dan layanan LLM di Google Cloud.
Untuk mengetahui informasi selengkapnya tentang LangChain, lihat halaman Google LangChain. Untuk mengetahui informasi selengkapnya tentang framework LangChain, lihat dokumentasi produk LangChain.
Komponen LangChain untuk AlloyDB
Pelajari cara menggunakan LangChain dengan Panduan Memulai LangChain untuk AlloyDB. Panduan memulai ini membuat aplikasi yang mengakses set data Film Netflix sehingga pengguna dapat berinteraksi dengan data film.
Penyimpanan vektor untuk AlloyDB
Penyimpanan vektor mengambil dan menyimpan dokumen serta metadata dari database vektor. Penyimpanan vektor memberi aplikasi kemampuan untuk melakukan penelusuran semantik yang menafsirkan makna kueri pengguna. Jenis penelusuran ini disebut penelusuran vektor, dan dapat menemukan topik yang cocok dengan kueri secara konseptual. Pada waktu kueri, penyimpanan vektor mengambil vektor embedding yang paling mirip dengan embedding permintaan penelusuran. Di LangChain, penyimpanan vektor menangani penyimpanan data tersemat dan melakukan penelusuran vektor untuk Anda.
Untuk menggunakan penyimpanan vektor di AlloyDB, gunakan class AlloyDBVectorStore.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi produk LangChain vector stores.
Panduan prosedur penyimpanan vektor
Panduan AlloyDB untuk penyimpanan vektor menunjukkan cara melakukan hal berikut:
- Menginstal paket integrasi dan LangChain
- Membuat objek
AlloyDBEnginedan mengonfigurasi kumpulan koneksi ke database AlloyDB Anda - Menginisialisasi tabel untuk penyimpanan vektor
- Menyiapkan layanan embedding menggunakan
VertexAIEmbeddings - Lakukan inisialisasi
AlloyDBVectorStore - Menambahkan dan menghapus dokumen
- Menelusuri Dokumen serupa
- Menambahkan indeks vektor untuk meningkatkan performa penelusuran
- Membuat penyimpanan vektor kustom untuk terhubung ke database AlloyDB untuk PostgreSQL yang sudah ada sebelumnya dan memiliki tabel dengan embedding vektor
Document loader untuk AlloyDB
Pemuat dokumen menyimpan, memuat, dan menghapus objek Document LangChain. Misalnya, Anda dapat memuat data untuk diproses menjadi embedding dan menyimpannya di penyimpanan vektor atau menggunakannya sebagai alat untuk memberikan konteks tertentu ke rantai.
Untuk memuat dokumen dari AlloyDB, gunakan class AlloyDBLoader. AlloyDBLoader menampilkan daftar dokumen dari tabel
menggunakan kolom pertama untuk konten halaman dan semua kolom lainnya untuk metadata. Tabel default memiliki kolom pertama sebagai konten halaman dan kolom kedua sebagai metadata JSON. Setiap baris menjadi dokumen. Petunjuk untuk menyesuaikan setelan ini ada di panduan prosedur.
Gunakan class AlloyDBSaver untuk menyimpan dan menghapus dokumen.
Untuk mengetahui informasi selengkapnya, lihat topik Pemuat Dokumen LangChain.
Panduan prosedur pemuat dokumen
Panduan AlloyDB untuk pemuat dokumen menunjukkan cara melakukan hal berikut:
- Menginstal paket integrasi dan LangChain
- Memuat dokumen dari tabel
- Menambahkan filter ke pemuat
- Menyesuaikan koneksi dan autentikasi
- Menyesuaikan konstruksi Dokumen dengan menentukan konten dan metadata pelanggan
- Cara menggunakan dan menyesuaikan
AlloyDBSaveruntuk menyimpan dan menghapus dokumen
Histori pesan chat untuk AlloyDB
Aplikasi tanya jawab memerlukan histori hal-hal yang diucapkan dalam percakapan untuk memberikan konteks aplikasi dalam menjawab pertanyaan lebih lanjut dari pengguna. Class ChatMessageHistory LangChain memungkinkan aplikasi menyimpan pesan ke database dan mengambilnya saat diperlukan untuk merumuskan jawaban lebih lanjut. Pesan dapat berupa pertanyaan, jawaban, pernyataan, salam, atau bagian teks lainnya yang diberikan pengguna atau aplikasi selama percakapan.
ChatMessageHistory menyimpan setiap pesan dan mengaitkan pesan dalam setiap percakapan.
AlloyDB memperluas class ini dengan AlloyDBChatMessageHistory.
Panduan prosedur histori pesan chat
Panduan AlloyDB untuk histori pesan chat menunjukkan cara melakukan hal berikut:
- Menginstal paket integrasi dan LangChain
- Membuat objek
AlloyDBEnginedan mengonfigurasi kumpulan koneksi ke database AlloyDB Anda - Menginisialisasi tabel
- Melakukan inisialisasi class
AlloyDBChatMessageHistoryuntuk menambahkan dan menghapus pesan - Membuat rantai untuk histori pesan menggunakan LangChain Expression Language (LCEL)