Pengenalan Contextual Retrieval
- Agar model AI berguna dalam konteks tertentu, model tersebut memerlukan pengetahuan latar belakang
- Chatbot dukungan pelanggan memerlukan pengetahuan tentang bisnis tertentu, dan bot analisis hukum memerlukan pengetahuan yang sangat luas tentang kasus-kasus sebelumnya
- Pengembang biasanya menggunakan Retrieval-Augmented Generation (RAG) untuk meningkatkan pengetahuan model AI
- Solusi RAG tradisional sering gagal menemukan informasi yang relevan karena konteks dihapus saat informasi dikodekan
Metode Contextual Retrieval
- Contextual Retrieval adalah metode yang secara signifikan meningkatkan tahap pencarian dalam RAG
- Metode ini menggunakan dua subteknik, yaitu Contextual Embeddings dan Contextual BM25
- Metode ini mengurangi jumlah kegagalan pencarian sebesar 49%, dan bila dikombinasikan dengan reranking dapat menguranginya hingga 67%
- Dengan menggunakan Claude, solusi Contextual Retrieval dapat diterapkan dengan mudah
Cukup menggunakan prompt yang lebih panjang
- Jika basis pengetahuan berukuran 200.000 token atau kurang, memberikan seluruh basis pengetahuan kepada model bisa menjadi pendekatan yang lebih baik
- Dengan fitur prompt caching Claude, pendekatan ini lebih cepat dan lebih hemat biaya
- Jika basis pengetahuan semakin besar, dibutuhkan solusi yang lebih skalabel
Konsep dasar RAG
- RAG digunakan untuk menangani basis pengetahuan yang besar
- Basis pengetahuan dibagi menjadi potongan-potongan teks kecil, lalu model embedding digunakan untuk mengodekan maknanya
- Data disimpan di basis data vektor untuk dicari berdasarkan kemiripan semantik
- BM25 efektif untuk menemukan kecocokan kata atau frasa yang persis
Keterbatasan RAG tradisional
- Dalam proses membagi dokumen menjadi potongan-potongan kecil, konteks dapat rusak
- Misalnya, untuk pertanyaan yang mencari informasi keuangan perusahaan tertentu, potongan yang dikembalikan bisa saja tidak memiliki konteks yang memadai
Implementasi Contextual Retrieval
- Indeks embedding dan BM25 dibuat dengan menambahkan konteks deskriptif ke setiap potongan
- Claude digunakan untuk membuat konteks singkat bagi setiap potongan
- Biaya dapat ditekan dengan menggunakan prompt caching
Peningkatan performa
- Contextual Embeddings mengurangi tingkat kegagalan pencarian sebesar 35%
- Menggabungkan Contextual Embeddings dan Contextual BM25 mengurangi tingkat kegagalan pencarian sebesar 49%
Pertimbangan implementasi
- Perlu mempertimbangkan cara membagi dokumen menjadi potongan, pemilihan model embedding, serta prompt kontekstualisasi kustom
- Menyertakan lebih banyak potongan meningkatkan kemungkinan informasi yang relevan ikut terbawa
Peningkatan performa melalui reranking
- Reranking meningkatkan kualitas respons dengan hanya meneruskan potongan yang paling relevan ke model
- Contextual Embedding dan Contextual BM25 yang telah direranking mengurangi tingkat kegagalan pencarian sebesar 67%
Kesimpulan
- Menggabungkan Embeddings dan BM25 dapat menghasilkan hasil yang lebih baik
- Embedding Voyage dan Gemini adalah yang paling efektif
- Meneruskan 20 potongan teratas ke model adalah yang paling efektif
- Menambahkan konteks secara signifikan meningkatkan akurasi pencarian
- Reranking semakin meningkatkan performa
Ringkasan GN⁺
- Contextual Retrieval adalah metode yang dapat secara signifikan meningkatkan akurasi pencarian model AI
- Metode ini sangat berguna terutama saat menangani basis pengetahuan yang besar
- Dengan menggunakan fitur prompt caching Claude, metode ini dapat diimplementasikan secara hemat biaya
- Proyek lain dengan fungsi serupa mencakup GPT-3 dari OpenAI dan BERT dari Google
1 komentar
Komentar Hacker News
Komentar pertama
Komentar kedua
Komentar ketiga
Komentar keempat
Komentar kelima
Komentar keenam
Komentar ketujuh
Komentar kedelapan
Komentar kesembilan
Komentar kesepuluh