Mengoptimalkan RAG dengan Teknik Auto Retrieval untuk Penyimpanan Pengetahuan yang Lebih Presisi

Kukuh T Wicaksono
6 min readOct 29, 2024

--

Teknik Auto Retrieval adalah pendekatan canggih dalam Retrieval-Augmented Generation (RAG) yang bertujuan untuk meningkatkan presisi dalam pengambilan informasi dari database vektor. Berbeda dari metode RAG biasa, yang cenderung menghasilkan konteks yang kurang relevan, Auto Retrieval secara dinamis menyaring metadata berdasarkan permintaan pengguna. Hasilnya, data yang diambil lebih akurat dan sesuai dengan konteks. Berikut ini, kami akan mengupas bagaimana teknik ini bekerja, serta aplikasinya dalam workflow data-driven yang canggih.

Apa Itu Auto Retrieval?

Auto Retrieval adalah teknik yang meningkatkan metode pencarian vektor top-K tradisional dengan menyaring metadata yang relevan berdasarkan kueri pengguna. Hal ini memastikan bahwa hasil pencarian menjadi lebih presisi dan kontekstual, sangat membantu untuk data dengan cakupan luas.

Bagaimana Auto Retrieval Bekerja?

Auto Retrieval diawali dengan retrieval level-chunk atau pengambilan segmen dokumen, diikuti dengan pembuatan ulang kueri yang sudah disesuaikan dengan metadata yang relevan. Proses ini sangat membantu dalam menyaring dan mengambil dokumen lengkap yang benar-benar sesuai dengan permintaan pengguna, misalnya dengan menyaring berdasarkan nama file atau metadata tertentu.

Studi Kasus: Basis Pengetahuan Paper Penelitian

Dalam salah satu contoh aplikasinya, Auto Retrieval diterapkan untuk mengelola basis data pengetahuan yang berisi ribuan paper penelitian. Dengan Auto Retrieval, pengguna dapat mengambil paper atau dokumen spesifik berdasarkan kueri yang diberikan, tanpa harus berhadapan dengan fragmen yang tidak relevan.

Manfaat Utama Auto Retrieval

1. 🔄 Pengambilan Chunk-Level dan Dokumen-Level: Dimulai dengan chunk-level untuk segmen dokumen, lalu beralih ke dokumen lengkap dengan filter metadata.
2. 📈 Peningkatan Relevansi Melalui Filter Metadata: Filter ini memungkinkan hanya dokumen yang sesuai kriteria yang akan ditampilkan.
3. 🔍 Alur Kerja Berbasis Query Generation Prompt: Proses mencakup pembuatan kueri baru berdasarkan metadata yang relevan untuk mengoptimalkan hasil pencarian.
4. 📊 Dukungan Few-Shot Example: Contoh ini digunakan untuk mengurangi kemungkinan “halusinasi” dalam jawaban, yang berarti lebih sedikit hasil yang tidak relevan.
5. 🏷️ Struktur Output yang Jelas: Metadata yang terinfeksi membantu mendefinisikan struktur output, yang memberikan kombinasi string kueri dan kondisi filter yang jelas.

Keunggulan Teknologi: Dukungan dari Llama Cloud

🤖 Llama Cloud mempermudah integrasi Auto Retrieval dengan pipeline RAG yang permanen untuk manajemen dan pencarian data. Teknologi ini memudahkan manajemen pipeline RAG secara menyeluruh, memungkinkan pengambilan chunk dan dokumen secara efektif dalam basis data pengetahuan yang besar.

Kegunaan Praktis Auto Retrieval dalam Pengelolaan Pengetahuan

Auto Retrieval sangat bermanfaat dalam berbagai aplikasi, termasuk:
- Pembuatan Sistem QA (Pertanyaan & Jawaban) yang canggih,
- Meningkatkan asisten pengetahuan yang ada,
- Menyederhanakan alur kerja berbasis data dengan pengambilan informasi yang lebih tepat dan akurat.

Contoh Kasus Praktis: Menelusuri Paper Penelitian “S Bench”

Dalam sesi praktik, Jerry menunjukkan bagaimana Auto Retrieval dapat digunakan untuk mengambil ringkasan lengkap dari paper penelitian seperti “S Bench.” Teknik ini membantu pengguna untuk langsung mengambil dokumen secara utuh dan bukan hanya sebagian fragmen, dengan mengidentifikasi nama file yang relevan, memperlihatkan bagaimana Auto Retrieval bekerja untuk mengoptimalkan hasil.

Tanya Jawab Seputar Auto Retrieval

1. Apa masalah utama dalam teknik RAG biasa?
— Teknik RAG biasa sering mengambil konteks yang kurang relevan karena hanya menggunakan pencarian top-K, yang bisa memunculkan informasi yang tidak dibutuhkan.

2. Bagaimana Auto Retrieval memperbaiki metode retrieval tradisional?
— Auto Retrieval memperbaiki metode ini dengan menyaring metadata yang relevan, sehingga hasil lebih presisi dan kontekstual.

3. Apa saja metode retrieval yang dibahas?
— Ada dua jenis metode retrieval: chunk-level untuk segmen dokumen, dan document-level untuk mengambil dokumen lengkap.

4. Apa peran contoh few-shot dalam Auto Retrieval?
— Few-shot membantu mengarahkan model agar lebih akurat dalam menyaring metadata dan mengurangi kemungkinan “halusinasi” pada hasil.

5. Bagaimana cara kerja prompt query generation dalam Auto Retrieval?
— Query generation prompt berfungsi untuk membuat ulang kueri pengguna dengan menambahkan metadata yang relevan, meningkatkan akurasi pencarian.

6. Bagaimana Llama Cloud mendukung proses Auto Retrieval?
— Llama Cloud menyediakan framework untuk mengelola pipeline RAG secara efektif, memudahkan integrasi pengambilan chunk dan dokumen.

7. Apa pentingnya filter metadata dalam Auto Retrieval?
— Filter metadata sangat penting untuk fokus pada dokumen yang sesuai kriteria, sehingga menghindari konten yang tidak relevan.

8. Bagaimana Auto Retrieval menyusun jawaban akhir?
— Auto Retrieval menyusun jawaban dengan menggabungkan konteks hasil retrieval dengan kueri pengguna untuk menghasilkan jawaban yang lengkap.

9. Apa aplikasi praktis Auto Retrieval dalam pengelolaan pengetahuan?
— Auto Retrieval dapat digunakan untuk membangun sistem QA canggih, asisten pengetahuan yang lebih baik, dan menyederhanakan alur kerja data.

10. Contoh kasus apa yang diilustrasikan dalam sesi?
— Contoh yang diilustrasikan adalah menelusuri ringkasan dari paper “S Bench,” di mana Auto Retrieval menemukan nama file yang relevan dan mengambil dokumen secara lengkap.

Auto Retrieval bukan sekadar fitur tambahan, tetapi merupakan solusi untuk pengelolaan pengetahuan yang lebih baik, memungkinkan organisasi atau individu untuk mendapatkan hasil pencarian yang lebih relevan dan tepat sasaran.

https://github.com/run-llama/llamacloud-demo/blob/main/examples/advanced_rag/auto_retrieval.ipynb

Gambar ini menjelaskan alur kerja Auto Retrieval dalam Retrieval-Augmented Generation (RAG) menggunakan LlamaCloud untuk mengoptimalkan pengambilan dokumen dari basis pengetahuan (knowledge base). Berikut adalah penjelasan alurnya:

1. User Query (Permintaan Pengguna):
— Proses dimulai dari pertanyaan atau kueri yang diajukan oleh pengguna. Kueri ini akan digunakan untuk mengambil konteks yang relevan dari basis pengetahuan.

2. Chunk Retriever (Pengambil Chunk):
— Kueri pengguna diproses oleh Chunk Retriever untuk mengambil potongan (chunk) dari dokumen yang relevan. Potongan ini membantu mendapatkan informasi metadata file yang penting untuk langkah berikutnya.
— Chunk tersebut kemudian dimasukkan ke dalam prompt generasi kueri sebagai contoh “few-shot” untuk membantu dalam proses inferensi metadata pada langkah selanjutnya.

3. LLM Query Generation (Generasi Kueri oleh LLM):
— Dengan menggunakan chunk yang diambil sebagai contoh, sistem LLM (Language Model) menghasilkan kueri baru yang lebih relevan. Kueri baru ini dilengkapi dengan metadata filter yang dihasilkan secara otomatis, seperti `file_name: longlora.pdf`, agar hasil pencarian menjadi lebih akurat.

4. Doc Retriever (Pengambil Dokumen):
— Berdasarkan kueri yang telah disempurnakan dan metadata filter, Doc Retriever mengambil dokumen lengkap yang memenuhi kriteria tersebut. Proses ini memungkinkan pencarian pada level dokumen yang lebih mendalam dan spesifik.

5. LLM (Synthesis) dan Response (Respon):
— Setelah dokumen yang relevan ditemukan, LLM (synthesis) menyusun jawaban akhir dengan menggabungkan informasi dari dokumen dengan kueri pengguna. Hasil akhirnya adalah respon yang disajikan kepada pengguna dengan konteks yang lengkap dan relevan.

6. Knowledge Base (Basis Pengetahuan):
— Basis pengetahuan ini berisi berbagai dokumen yang dapat ditelusuri oleh sistem Auto Retrieval, seperti penelitian atau makalah. Dokumen-dokumen ini digunakan sebagai sumber untuk memberikan jawaban sesuai permintaan pengguna.

Secara keseluruhan, alur ini menunjukkan bagaimana Auto Retrieval menggunakan metadata filter untuk memperbaiki hasil pengambilan, menjadikan informasi yang ditampilkan lebih akurat dan relevan dengan pertanyaan awal dari pengguna.

Perbandingan Metode Structured Retrieval: Auto-Retrieval vs. Recursive Retrieval

Pada sistem Retrieval-Augmented Generation (RAG) yang sederhana, dokumen dipecah menjadi beberapa bagian kecil (chunk), kemudian di-embed dan disimpan dalam basis data vektor. Pengambilan informasi hanya berdasarkan kemiripan embedding dengan memilih top-k chunk yang paling mirip. Namun, pendekatan ini sering kurang akurat jika dokumen yang ada banyak, karena chunk yang diambil bisa saja tidak mengandung konteks yang cukup relevan.

Untuk mengatasi ini, metode structured retrieval menggunakan struktur dokumen untuk meningkatkan akurasi pencarian. Berikut ini adalah perbandingan antara Auto-Retrieval dan Recursive Retrieval sebagai metode pencarian terstruktur:

1. Metadata Filters + Auto-Retrieval
— Cara Kerja: Setiap dokumen ditandai dengan metadata yang relevan (seperti jenis file, judul dokumen, atau penulis). Saat kueri dijalankan, sistem menggunakan Auto-Retrieval untuk menyaring metadata yang sesuai dengan kueri pengguna. Metadata ini digabungkan dengan teks kueri untuk melakukan pencarian semantik yang lebih terarah.

— Keuntungan:
— Presisi Lebih Tinggi: Dengan menggunakan metadata, sistem hanya mengambil dokumen yang sesuai dengan karakteristik tertentu, sehingga hasil yang ditampilkan lebih relevan.
— Penyaringan Dinamis: Auto-Retrieval dapat menyimpulkan metadata secara otomatis berdasarkan kueri, membuat hasil pencarian lebih fleksibel dan kontekstual.
— Contoh Penggunaan: Cocok untuk basis data pengetahuan dengan tipe dokumen yang beragam, di mana penyaringan berdasarkan tipe file, topik, atau metadata lainnya dapat membantu mempersempit hasil pencarian yang lebih relevan.

2. Store Document Hierarchies (Ringkasan -> Chunk Mentah) + Recursive Retrieval
— Cara Kerja: Setiap dokumen dibuatkan hierarki, dimulai dari ringkasan hingga ke chunk mentah. Setiap ringkasan di-*embed* dan dipetakan ke chunk-chunk mentah dokumen. Saat kueri dijalankan, sistem pertama kali mengambil ringkasan dokumen yang relevan, kemudian melakukan pengambilan chunk detail berdasarkan ringkasan tersebut.

— Keuntungan:
— Pencarian Bertahap: Dengan mengambil ringkasan terlebih dahulu, sistem bisa menyaring dokumen lebih cepat sebelum menyelami rincian pada level chunk mentah.
— Konteks Lebih Baik: Menggunakan ringkasan sebagai pintu masuk membantu sistem mempertahankan konteks yang lebih besar sebelum fokus pada detail kecil.
— Contoh Penggunaan: Berguna untuk dokumen besar atau panjang, di mana mengambil ringkasan terlebih dahulu membantu fokus pada bagian dokumen yang paling relevan.

Kedua metode ini membantu meningkatkan akurasi dan relevansi dalam pencarian dokumen dibandingkan metode RAG sederhana. Auto-Retrieval lebih baik untuk pencarian dengan kebutuhan penyaringan dinamis berdasarkan metadata, sedangkan Recursive Retrieval cocok untuk dokumen yang panjang, di mana konteks dapat diambil melalui ringkasan sebelum mengakses detail.

--

--