RAG (Risk Assessment Grid) ialah kaedah mempertingkatkan model bahasa besar (LLM) sedia ada dengan sumber pengetahuan luaran untuk memberikan jawapan yang lebih berkaitan kontekstual. Dalam RAG, komponen perolehan memperoleh maklumat tambahan, respons adalah berdasarkan sumber tertentu, dan kemudian menyuap maklumat ini ke dalam gesaan LLM supaya respons LLM adalah berdasarkan maklumat ini (fasa peningkatan). RAG lebih menjimatkan berbanding teknik lain seperti pemangkasan. Ia juga mempunyai kelebihan untuk mengurangkan halusinasi dengan menyediakan konteks tambahan berdasarkan maklumat ini (peringkat penambahan) - RAG anda menjadi kaedah aliran kerja untuk tugasan LLM hari ini (seperti pengesyoran, pengekstrakan teks, analisis sentimen, dsb.).
Jika kami memecahkan idea ini dengan lebih lanjut, berdasarkan niat pengguna, kami biasanya menanyakan pangkalan data vektor. Pangkalan data vektor menggunakan ruang vektor berterusan untuk menangkap hubungan antara dua konsep menggunakan carian berasaskan kedekatan.
Dalam ruang vektor, maklumat, sama ada teks, imej, audio atau apa-apa jenis lain, ditukar kepada vektor. Vektor ialah perwakilan berangka data dalam ruang dimensi tinggi. Setiap dimensi sepadan dengan ciri data, dan nilai dalam setiap dimensi mencerminkan kekuatan atau kehadiran ciri tersebut. Melalui perwakilan vektor, kita boleh melakukan operasi matematik, pengiraan jarak, perbandingan persamaan, dsb. pada data. Nilai yang sepadan dengan dimensi berbeza mencerminkan kekuatan atau kehadiran ciri tersebut. Mengambil data teks sebagai contoh, setiap dokumen boleh diwakili sebagai vektor, di mana setiap dimensi mewakili kekerapan perkataan dalam dokumen. Dengan cara ini, dua dokumen boleh
melakukan carian berasaskan kedekatan dalam pangkalan data dengan mengira jarak antara vektor mereka, melibatkan dan menanyakan pangkalan data tersebut dengan vektor lain dan mencari sesuatu yang "dekat" dengannya dalam vektor ruang vektor. Kedekatan antara vektor biasanya ditentukan oleh ukuran jarak seperti jarak Euclidean, persamaan kosinus, atau jarak Manhattan. Kedekatan antara vektor biasanya ditentukan oleh ukuran jarak seperti jarak Euclidean, persamaan kosinus, atau jarak Manhattan.
Apabila anda melakukan carian ke dalam pangkalan data, anda memberikan pertanyaan yang sistem tukarkan kepada vektor. Pangkalan data kemudian mengira jarak atau persamaan antara vektor pertanyaan ini dan vektor yang telah disimpan dalam pangkalan data. Vektor yang hampir dengan vektor pertanyaan (mengikut metrik yang dipilih) dianggap sebagai hasil yang paling berkaitan. Vektor yang paling hampir dengan vektor pertanyaan (berdasarkan metrik yang dipilih) dianggap sebagai hasil yang paling berkaitan.
Carian berasaskan kedekatan amat berkuasa dalam pangkalan data vektor dan sesuai untuk tugas seperti sistem pengesyoran, perolehan maklumat dan pengesanan anomali.
Pendekatan ini membolehkan sistem beroperasi dengan lebih intuitif dan bertindak balas kepada pertanyaan pengguna dengan lebih berkesan dengan memahami konteks dan makna yang lebih mendalam dalam data, dan bukannya bergantung semata-mata pada padanan permukaan.
Walau bagaimanapun, terdapat beberapa batasan dalam aplikasi yang menyambung ke pangkalan data untuk carian lanjutan, seperti kualiti data, keupayaan untuk mengendalikan pengetahuan dinamik dan ketelusan.
Mengikut saiz dokumen, RAG dibahagikan secara kasar kepada tiga kategori: jika dokumen itu kecil, ia boleh diakses secara kontekstual jika dokumen itu besar (atau terdapat beberapa dokumen ), data yang lebih kecil dijana apabila membuat pertanyaan bagi blok yang diindeks dan digunakan sebagai tindak balas kepada pertanyaan.
Walaupun berjaya, RAG mempunyai beberapa kekurangan.
Dua penunjuk utama untuk mengukur prestasi RAG ialah kebingungan dan halusinasi mewakili bilangan pilihan perkataan seterusnya yang sama mungkin dalam proses penjanaan teks. Iaitu, betapa "keliru" model bahasa dalam pemilihannya. Halusinasi ialah kenyataan tidak benar atau khayalan yang dibuat oleh AI.
Walaupun RAG membantu mengurangkan halusinasi, ia tidak menghilangkannya. Jika anda mempunyai dokumen yang kecil dan ringkas, anda boleh mengurangkan kekeliruan (kerana pilihan LLM adalah sedikit) dan mengurangkan halusinasi (jika anda hanya bertanya apa yang ada dalam dokumen itu). Sudah tentu, sisi lain adalah bahawa satu dokumen kecil menghasilkan aplikasi yang remeh. Untuk aplikasi yang lebih kompleks, anda memerlukan cara untuk menyediakan lebih banyak konteks.
Sebagai contoh, pertimbangkan perkataan "kulit kayu" - kita mempunyai sekurang-kurangnya dua konteks berbeza:
Konteks pokok: "Kulit pokok oak yang kasar melindunginya daripada kesejukan."
: "Anjing jiran menyalak dengan kuat setiap kali seseorang melalui rumah mereka
Salah satu cara untuk menyediakan lebih banyak konteks ialah menggabungkan RAG dengan graf pengetahuan (GRAPHRAG).
Dalam graf pengetahuan, perkataan ini dikaitkan dengan konteks dan makna yang dikaitkan dengannya. Sebagai contoh, "kulit kayu" akan disambungkan kepada nod yang mewakili "pokok" dan "anjing". Sambungan lain boleh menunjukkan tindakan biasa (cth., "perlindungan," anjing "membuat bising") atau sifat (cth., "kekasaran" pokok, "kenyaringan" anjing). Maklumat berstruktur ini membolehkan model bahasa memilih makna yang sesuai berdasarkan perkataan lain dalam ayat atau topik keseluruhan perbualan.
Dalam bahagian seterusnya, kita akan melihat batasan RAG dan cara GRAPHRAG menanganinya.
Tajuk asal: Memahami GraphRAG – 1: Cabaran RAG
Pengarang asal: ajitjaokar
Atas ialah kandungan terperinci Memahami GraphRAG (1): Cabaran RAG. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!