Halaman ini memperkenalkan cara mem-build aplikasi yang didukung LLM menggunakan LangChain. Ringkasan di halaman ini tertaut ke panduan prosedur di GitHub.
Apa itu LangChain?
LangChain adalah framework orkestrasi LLM yang membantu developer membuat 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 tertentu yang ditawarkan Google, lihat ringkasan konsep dan layanan LLM di Google Cloud.
Untuk informasi selengkapnya tentang LangChain, lihat halaman LangChain Google. Untuk 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 penyematan yang paling mirip dengan penyematan permintaan penelusuran. Di LangChain, penyimpanan vektor akan menyimpan data tersemat dan melakukan penelusuran vektor untuk Anda.
Untuk menggunakan penyimpanan vektor di AlloyDB, gunakan
class AlloyDBVectorStore
.
Untuk informasi selengkapnya, lihat dokumentasi produk penyimpanan vektor LangChain.
Panduan prosedur penyimpanan vektor
Panduan AlloyDB untuk penyimpanan vektor menunjukkan cara melakukan hal berikut:
- Menginstal paket integrasi dan LangChain
- Buat objek
AlloyDBEngine
dan konfigurasikan kumpulan koneksi ke database AlloyDB Anda - Melakukan inisialisasi tabel untuk penyimpanan vektor
- Menyiapkan layanan penyematan menggunakan
VertexAIEmbeddings
- Melakukan inisialisasi
AlloyDBVectorStore
- Menambahkan dan menghapus dokumen
- Menelusuri Dokumen yang serupa
- Menambahkan indeks vektor untuk meningkatkan performa penelusuran
- Membuat penyimpanan vektor kustom untuk terhubung ke database AlloyDB untuk PostgreSQL yang sudah ada yang memiliki tabel dengan penyematan vektor
Loader dokumen untuk AlloyDB
Pemuat dokumen menyimpan, memuat, dan menghapus objek Document
LangChain. Misalnya, Anda dapat memuat data untuk diproses ke dalam penyematan dan
menyimpan data tersebut 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
terdapat dalam panduan prosedur.
Gunakan class AlloyDBSaver
untuk menyimpan dan menghapus dokumen.
Untuk informasi selengkapnya, lihat topik Loader Dokumen LangChain.
Panduan prosedur loader dokumen
Panduan AlloyDB untuk loader dokumen menunjukkan cara melakukan hal berikut:
- Menginstal paket integrasi dan LangChain
- Memuat dokumen dari tabel
- Menambahkan filter ke loader
- Menyesuaikan koneksi dan autentikasi
- Menyesuaikan konstruksi Dokumen dengan menentukan konten dan metadata pelanggan
- Cara menggunakan dan menyesuaikan
AlloyDBSaver
untuk menyimpan dan menghapus dokumen
Histori pesan chat untuk AlloyDB
Aplikasi pertanyaan dan jawaban memerlukan histori hal-hal yang diucapkan dalam
percakapan untuk memberikan konteks aplikasi guna 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, sapaan, atau
bagian teks lainnya yang diberikan pengguna atau aplikasi selama percakapan.
ChatMessageHistory
menyimpan setiap pesan dan merangkai pesan untuk 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
- Buat objek
AlloyDBEngine
dan konfigurasikan kumpulan koneksi ke database AlloyDB Anda - Melakukan inisialisasi tabel
- Lakukan inisialisasi class
AlloyDBChatMessageHistory
untuk menambahkan dan menghapus pesan - Membuat rantai untuk histori pesan menggunakan LangChain Expression Language (LCEL)