Knowledge Graphs: RAG സിസ്റ്റങ്ങളിലെ വിട്ടുപോയ ഭാഗം
മിക്ക RAG സിസ്റ്റങ്ങളും ലളിതമായ ഒരു പാതയാണ് പിന്തുടരുന്നത്. ഡോക്യുമെന്റുകൾ ചങ്കുകളായി (chunks) മാറുന്നു. ചങ്കുകൾ എംബഡിംഗുകളായി (embeddings) മാറുന്നു. എംബഡിംഗുകൾ ഒരു വെക്റ്റർ ഡാറ്റാബേസിൽ (vector database) സൂക്ഷിക്കുന്നു. സിമിലാരിറ്റി സെർച്ച് (similarity search) ടെക്സ്റ്റ് കണ്ടെത്തുന്നു. LLM ഒരു ഉത്തരം നൽകുന്നു.
ഇത് പല ചാറ്റ്ബോട്ടുകൾക്കും അനുയോജ്യമാണ്. സമാനമായ ടെക്സ്റ്റ് കണ്ടെത്താൻ ഇത് നന്നായി പ്രവർത്തിക്കുന്നു. എന്നാൽ ബന്ധങ്ങൾ (relationships) മനസ്സിലാക്കേണ്ടി വരുമ്പോൾ ഇത് പരാജയപ്പെടുന്നു.
വെക്റ്റർ ഡാറ്റാബേസുകൾ സമാനമായി തോന്നുന്ന കാര്യങ്ങൾ കണ്ടെത്തുന്നു. കാര്യങ്ങൾ എങ്ങനെ പരസ്പരം ബന്ധപ്പെട്ടിരിക്കുന്നു എന്ന് അവയ്ക്ക് മനസ്സിലാകില്ല.
ഈ വസ്തുതകൾ ശ്രദ്ധിക്കുക:
- Project A-യിൽ React ഉപയോഗിക്കുന്നു.
- Project A ഒരു RAG സിസ്റ്റം ഉപയോഗിക്കുന്നു.
- ആ RAG സിസ്റ്റം ChromaDB ഉപയോഗിക്കുന്നു.
ഒരു മനുഷ്യൻ ഇതിലെ ബന്ധം കാണുന്നു: React വഴി Project A-യിലേക്കും, അവിടെ നിന്ന് RAG-ലേക്കും, തുടർന്ന് ChromaDB-യിലേക്കും എത്തുന്നു. എന്നാൽ ഒരു വെക്റ്റർ ഡാറ്റാബേസ് ഇതിനെ നാല് വ്യത്യസ്ത ടെക്സ്റ്റ് ഭാഗങ്ങളായിട്ടാണ് കാണുന്നത്.
നിങ്ങൾ ഒരു വെക്റ്റർ സെർച്ചിനോട് "ഏതൊക്കെ പ്രോജക്റ്റുകളാണ് React-ഉം AI-യും ഉപയോഗിക്കുന്നത്?" എന്ന് ചോദിച്ചാൽ, അതിന് പ്രയാസപ്പെട്ടേക്കാം. അത് ആ വാക്കുകൾ അടങ്ങിയ ഡോക്യുമെന്റുകൾക്കായി തിരയുന്നു. എന്നാൽ അവ തമ്മിലുള്ള പാത (path) അത് പിന്തുടരുന്നില്ല.
ഇവിടെയാണ് നോളജ് ഗ്രാഫുകൾ (knowledge graphs) സഹായിക്കുന്നത്. ഒരു നോളജ് ഗ്രാഫ് എൻ്റേറ്റികളെയും (entities) അവ തമ്മിലുള്ള ബന്ധങ്ങളെയും സംഭരിക്കുന്നു. ഇത് ആശയങ്ങൾ തമ്മിലുള്ള ലിങ്കുകൾ മാപ്പ് ചെയ്യുന്നു.
നിങ്ങളുടെ വെക്റ്റർ ഡാറ്റാബേസ് മാറ്റേണ്ടതില്ല. പകരം രണ്ടും ഉപയോഗിക്കണം. ഇതിനെയാണ് Graph-RAG എന്ന് വിളിക്കുന്നത്.
വെക്റ്റർ സ്റ്റോർ സെമാന്റിക് റിട്രീവൽ (semantic retrieval) കൈകാര്യം ചെയ്യുന്നു. ഗ്രാഫ് സ്റ്റോർ റിലേഷൻഷിപ്പ് റിട്രീവൽ (relationship retrieval) കൈകാര്യം ചെയ്യുന്നു. ഇവ രണ്ടും ചേർന്ന് നിങ്ങളുടെ AI ഏജന്റിന് മികച്ച കോൺടെക്സ്റ്റ് (context) നൽകുന്നു.
നിങ്ങളുടെ ഡാറ്റയിൽ താഴെ പറയുന്നവ ഉൾപ്പെടുമ്പോൾ ഒരു ഗ്രാഫ് ലെയർ ഉപയോഗിക്കുക:
- Technical docs
- Research notes
- Product manuals
- Enterprise knowledge
ഡോക്യുമെന്റുകൾ കണ്ടെത്തുക എന്നതിലുപരിയായി പ്രവർത്തിക്കുന്ന ഏജന്റുകളെയാണ് ഉപയോക്താക്കൾ ആഗ്രഹിക്കുന്നത്. ആശയങ്ങളെ തമ്മിൽ ബന്ധിപ്പിക്കുന്ന ഏജന്റുകളെ അവർ ആഗ്രഹിക്കുന്നു. ഡിപെൻഡൻസികൾ (dependencies) വിശദീകരിക്കുന്ന ഏജന്റുകളെ അവർ ആഗ്രഹിക്കുന്നു.
വെറുതെ സെർച്ച് മാത്രം ചെയ്യുന്ന സിസ്റ്റങ്ങൾ നിർമ്മിക്കുന്നത് നിർത്തുക. യുക്തിപൂർവ്വം ചിന്തിക്കാൻ (reasoning) കഴിയുന്ന സിസ്റ്റങ്ങൾ നിർമ്മിച്ചു തുടങ്ങുക.
Source: https://dev.to/vishdevwork/knowledge-graphs-the-missing-piece-in-most-rag-systems-1j75
Optional learning community: https://t.me/GyaanSetuAi