گرافهای دانش: قطعه گمشده در سیستمهای RAG
اکثر سیستمهای RAG یک مسیر ساده را دنبال میکنند. اسناد به تکهها (chunks) تبدیل میشوند. تکهها به امبدینگ (embeddings) تبدیل میشوند. امبدینگها در یک پایگاه داده برداری (vector database) ذخیره میشوند. جستجوی شباهت، متن را پیدا میکند. و در نهایت LLM پاسخ را ارائه میدهد.
این روش برای بسیاری از چتباتها جواب میدهد. برای یافتن متنهای مشابه نیز خوب عمل میکند. اما زمانی که نیاز به درک روابط داشته باشید، شکست میخورد.
پایگاههای داده برداری چیزهایی را پیدا میکنند که شبیه به هم به نظر میرسند. آنها درک نمیکنند که چیزها چگونه به هم متصل میشوند.
به این حقایق نگاه کنید:
- React در پروژه A استفاده میشود.
- پروژه A از یک سیستم RAG استفاده میکند.
- سیستم RAG از ChromaDB استفاده میکند.
یک انسان پیوند را میبیند: React به پروژه A ختم میشود، که به RAG ختم میشود، و RAG به ChromaDB ختم میشود. اما یک پایگاه داده برداری، چهار تکه متن مجزا را میبیند.
اگر از یک جستجوی برداری بپرسید «کدام پروژهها از React و AI استفاده میکنند؟»، ممکن است با مشکل مواجه شود. این جستجو به دنبال اسنادی میگردد که شامل آن کلمات باشند. اما مسیر بین آنها را دنبال نمیکند.
اینجاست که گرافهای دانش کمک میکنند. یک گراف دانش، موجودیتها (entities) و اتصالات آنها را ذخیره میکند. این گراف، پیوندهای بین مفاهیم را ترسیم میکند.
نیازی نیست پایگاه داده برداری خود را جایگزین کنید. بلکه باید از هر دو استفاده کنید. به این کار Graph-RAG میگویند.
ذخیرهساز برداری (vector store) وظیفه بازیابی معنایی (semantic retrieval) را بر عهده دارد. ذخیرهساز گراف (graph store) وظیفه بازیابی روابط را بر عهده دارد. این دو در کنار هم، بافت (context) بهتری را برای عامل هوش مصنوعی (AI agent) شما فراهم میکنند.
زمانی از یک لایه گراف استفاده کنید که دادههای شما شامل موارد زیر باشد:
- اسناد فنی
- یادداشتهای پژوهشی
- دفترچههای راهنمای محصول
- دانش سازمانی
کاربران خواهان عاملهایی هستند که فراتر از یافتن اسناد عمل کنند. آنها عاملهایی میخواهند که ایدهها را به هم متصل کنند. آنها عاملهایی میخواهند که وابستگیها را توضیح دهند.
ساخت سیستمهایی که فقط جستجو میکنند را متوقف کنید. ساخت سیستمهایی که استدلال میکنند را شروع کنید.
Source: https://dev.to/vishdevwork/knowledge-graphs-the-missing-piece-in-most-rag-systems-1j75
Optional learning community: https://t.me/GyaanSetuAi