Halaman ini menjelaskan beberapa kasus penggunaan untuk mem-build aplikasi yang didukung LLM menggunakan LlamaIndex yang terintegrasi dengan Cloud SQL untuk PostgreSQL. Link ke notebook di GitHub disediakan untuk membantu Anda mempelajari pendekatan atau untuk membantu Anda mengembangkan aplikasi.
LlamaIndex adalah framework orkestrasi AI generatif yang memungkinkan Anda menghubungkan dan mengintegrasikan sumber data dengan model bahasa besar (LLM). Anda dapat menggunakan LlamaIndex untuk mem-build aplikasi yang mengakses dan membuat kueri informasi dari data pribadi atau khusus domain menggunakan kueri bahasa alami.
LlamaIndex berfungsi sebagai jembatan antara data kustom dan LLM, yang memfasilitasi pengembangan aplikasi asisten pengetahuan dengan kemampuan retrieval-augmented generation (RAG).
LlamaIndex sangat cocok untuk aplikasi yang berfokus pada dokumen karena menekankan pengelolaan dokumen terstruktur, yang menyederhanakan pengindeksan dan pengambilan. Framework ini menampilkan mekanisme kueri yang dioptimalkan yang meningkatkan kecepatan dan relevansi akses informasi, beserta penanganan metadata yang andal untuk pemfilteran yang lebih baik.
Untuk informasi selengkapnya tentang framework LlamaIndex, lihat dokumentasi produk LlamaIndex.
Komponen LlamaIndex
Cloud SQL untuk PostgreSQL menawarkan antarmuka LlamaIndex berikut:
- Toko Vektor
- Document Store
- Toko Indeks
- Chat Store
- Pembaca Dokumen
Pelajari cara menggunakan LlamaIndex dengan Panduan memulai Cloud SQL untuk PostgreSQL.
Toko Vektor
Integrasi LlamaIndex ini memungkinkan Anda menggunakan sifat Cloud SQL untuk PostgreSQL yang andal dan skalabel untuk menyimpan dan mengelola data LlamaIndex. Dengan menggabungkan kemampuan pengindeksan dan kueri LlamaIndex dengan performa dan keandalan tinggi Cloud SQL untuk PostgreSQL, Anda dapat membuat aplikasi yang didukung LLM yang lebih efisien dan skalabel.
LlamaIndex menguraikan dokumen —doc, teks, dan PDF— menjadi komponen dokumen yang disebut node. VectorStore hanya dapat berisi vektor penyematan konten node yang diserap dan teks node. Node, yang merupakan konsep kelas satu, berisi konten teks, penyematan vektor, dan metadata. Anda dapat menerapkan filter pada kolom metadata ini untuk membatasi pengambilan node ke node yang cocok dengan kriteria metadata yang ditentukan.
Untuk menggunakan penyimpanan vektor di Cloud SQL untuk PostgreSQL, gunakan class PostgresVectorStore
.
Untuk informasi selengkapnya, lihat Penyimpanan
Vektor LlamaIndex.
Menyimpan embedding vektor dengan class PostgresVectorStore
Cloud SQL untuk PostgreSQL untuk penyimpanan vektor menunjukkan cara melakukan hal berikut:
- Melakukan inisialisasi tabel untuk menyimpan embedding vektor
- Buat instance class penyematan menggunakan model penyematan Indeks Llama.
- Lakukan inisialisasi penyimpanan vektor
PostgresVectorStore
default. - Buat dan buat kueri indeks dari penyimpanan vektor menggunakan VectorStoreIndex.
- Buat Penyimpanan Vektor kustom untuk menyimpan dan memfilter metadata secara efektif.
- Menambahkan indeks ANN untuk meningkatkan latensi penelusuran.
Penyimpanan Dokumen dan Indeks
Integrasi Penyimpanan Dokumen LlamaIndex mengelola penyimpanan dan pengambilan dokumen terstruktur, yang mengoptimalkan kemampuan yang berfokus pada dokumen LlamaIndex. Document Store menyimpan konten yang terkait dengan vektor di penyimpanan vektor.
Untuk informasi selengkapnya, lihat dokumentasi produk LlamaIndex Document Stores.
Index Store memfasilitasi pengelolaan indeks untuk memungkinkan kueri dan pengambilan data yang cepat, misalnya, ringkasan, kata kunci, dan indeks Hierarki.Index
di LlamaIndex adalah penyimpanan ringan hanya untuk metadata node. Pembaruan pada metadata node tidak memerlukan pengindeksan ulang (pembuatan
penyematan baca) node lengkap atau semua node dalam dokumen.
Untuk informasi selengkapnya, lihat Penyimpanan Indeks LlamaIndex.
Menyimpan dokumen dan indeks
Notebook Cloud SQL untuk PostgreSQL untuk Document Store menunjukkan cara menggunakan Cloud SQL untuk PostgreSQL guna menyimpan dokumen dan indeks menggunakan class PostgresDocumentStore
dan PostgresIndexStore
. Anda akan mempelajari cara melakukan hal berikut:
- Buat
PostgresEngine
menggunakanPostgresEngine.from_instance()
. - Buat tabel untuk DocumentStore dan IndexStore.
- Lakukan inisialisasi
PostgresDocumentStore
default. - Siapkan Postgres
IndexStore
. - Tambahkan dokumen ke
Docstore
. - Menggunakan Document Store dengan beberapa indeks.
- Memuat indeks yang ada.
Chat Store
Chat Store mempertahankan histori dan konteks percakapan untuk aplikasi berbasis chat, sehingga memungkinkan interaksi yang dipersonalisasi. Chat Store menyediakan repositori pusat yang menyimpan dan mengambil pesan chat dalam percakapan, sehingga LLM dapat mempertahankan konteks dan memberikan respons yang lebih relevan berdasarkan dialog yang sedang berlangsung.
Model bahasa besar bersifat stateless secara default, yang berarti model tersebut tidak mempertahankan input sebelumnya kecuali jika input tersebut diberikan secara eksplisit setiap kali. Dengan menggunakan penyimpanan chat, Anda dapat mempertahankan konteks percakapan, yang memungkinkan model menghasilkan respons yang lebih relevan dan koheren dari waktu ke waktu.
Modul memori di LlamaIndex memungkinkan penyimpanan dan pengambilan konteks percakapan yang efisien, sehingga memungkinkan interaksi yang lebih dipersonalisasi dan kontekstual di aplikasi chat. Anda dapat mengintegrasikan modul memori di LlamaIndex dengan ChatStore dan ChatMemoryBuffer.
Untuk mengetahui informasi selengkapnya, lihat LlamaIndex Chat Store.
Menyimpan histori chat
Notebook Cloud SQL untuk PostgreSQL untuk Chat Store menunjukkan cara menggunakan Cloud SQL untuk PostgreSQL guna menyimpan histori chat menggunakan class PostgresChatStore
. Anda akan mempelajari cara melakukan hal berikut:
- Buat
PostgresEngine
menggunakanPostgresEngine.from_instance()
. - Melakukan inisialisasi
PostgresChatStore.
default - Buat
ChatMemoryBuffer
. - Buat instance class LLM.
- Gunakan
PostgresChatStore
tanpa konteks penyimpanan. - Gunakan
PostgresChatStore
dengan konteks penyimpanan. - Membuat dan menggunakan Chat Engine.
Pembaca Dokumen
Document Reader mengambil dan mengubah data dari Cloud SQL untuk PostgreSQL secara efisien ke dalam format yang kompatibel dengan LlamaIndex untuk pengindeksan. Antarmuka Pembaca Dokumen menyediakan metode untuk memuat
data dari sumber sebagai Documents
. Document
adalah class yang menyimpan potongan teks dan metadata terkait. Anda dapat menggunakan
Pembaca Dokumen untuk memuat dokumen yang ingin disimpan di Penyimpanan Dokumen atau
digunakan untuk membuat Indeks.
Untuk informasi selengkapnya, lihat Pembaca Dokumen LlamaIndex.
Mengambil data sebagai dokumen
Notebook Cloud SQL untuk PostgreSQL untuk Pembaca Dokumen menunjukkan cara menggunakan Cloud SQL untuk PostgreSQL guna mengambil data sebagai dokumen menggunakan class PostgresReader
. Anda akan mempelajari cara melakukan hal berikut:
- Buat
PostgresEngine
menggunakanPostgresEngine.from_instance()
. - Buat
PostgresReader
. - Muat Dokumen menggunakan argumen
table_name
. - Memuat Dokumen menggunakan kueri SQL.
- Menetapkan format konten halaman.
- Muat dokumen.