paint-brush
Zvládnutie LLM Knowledge Graphs: Zostavte a implementujte GraphRAG len za 5 minútpodľa@neo4j
Nová história

Zvládnutie LLM Knowledge Graphs: Zostavte a implementujte GraphRAG len za 5 minút

podľa Neo4j7m2024/10/18
Read on Terminal Reader

Príliš dlho; Čítať

Neo4j LLM Knowledge Graph Builder je inovatívna aplikácia na premenu neštruktúrovaného textu na znalostný graf. Používa modely ML (LLM: OpenAI, Gemini, Diffbot) na transformáciu súborov PDF, webových stránok a videí YouTube. Táto schopnosť je obzvlášť vzrušujúca, pretože umožňuje intuitívnu interakciu s údajmi, podobnú konverzácii so samotným znalostným grafom.
featured image - Zvládnutie LLM Knowledge Graphs: Zostavte a implementujte GraphRAG len za 5 minút
Neo4j HackerNoon profile picture
0-item
1-item


LLM Knowledge Graph Builder je jedným z nástrojov ekosystému GraphRAG od Neo4j, ktorý vám umožňuje transformovať neštruktúrované údaje do dynamických znalostných grafov. Je integrovaný s chatbotom Retrieval-Augmented Generation (RAG), ktorý umožňuje dopytovanie v prirodzenom jazyku a vysvetliteľné informácie o vašich údajoch.


Začnite s GraphRAG: Ekosystémové nástroje Neo4j

Čo je to Neo4j LLM Knowledge Graph Builder?

Neo4j LLM Knowledge Graph Builder je inovatívna online aplikácia na premenu neštruktúrovaného textu na znalostný graf bez kódu a šifry, ktorá poskytuje čarovný zážitok z textu do grafu. Používa modely ML (LLM: OpenAI, Gemini, Diffbot) na transformáciu súborov PDF, webových stránok a videí YouTube do znalostného grafu entít a ich vzťahov.


Predná časť je aplikácia React založená na našej Needle Starter Kit a zadná časť je aplikácia Python FastAPI. Používa modul llm-graph-transformer , ktorým Neo4j prispel do LangChain.


Aplikácia poskytuje bezproblémový zážitok podľa štyroch jednoduchých krokov:


  1. Príjem údajov – Podporuje rôzne zdroje údajov vrátane dokumentov PDF, stránok Wikipédie, videí YouTube a ďalších.
  2. Rozpoznávanie entít — Používa LLM na identifikáciu a extrahovanie entít a vzťahov z neštruktúrovaného textu.
  3. Konštrukcia grafu — Prevádza rozpoznané entity a vzťahy do formátu grafu pomocou možností grafu Neo4j.
  4. Používateľské rozhranie — Poskytuje intuitívne webové rozhranie pre používateľov na interakciu s aplikáciou, uľahčuje nahrávanie zdrojov údajov, vizualizáciu vygenerovaného grafu a interakciu s agentom RAG. Táto schopnosť je obzvlášť vzrušujúca, pretože umožňuje intuitívnu interakciu s údajmi, podobnú konverzácii so samotným znalostným grafom – nie sú potrebné žiadne technické znalosti.



Poďme si to vyskúšať

Aplikáciu poskytujeme v našom prostredí hostovanom v Neo4j bez potreby kreditných kariet a kľúčov LLM – bez trenia.

Ak ho chcete spustiť lokálne alebo vo svojom prostredí, navštívte verejné úložisko GitHub a postupujte podľa podrobných pokynov, ktoré popíšeme v tomto príspevku.


Predtým, ako otvoríme a použijeme LLM Knowledge Graph Builder, vytvorme si novú databázu Neo4j. Na tento účel môžeme použiť bezplatnú databázu AuraDB podľa týchto krokov:


  • Prihláste sa alebo si vytvorte účet na https://console.neo4j.io .
  • V časti Inštancie vytvorte novú bezplatnú databázu AuraDB.
  • Stiahnite si súbor poverení.
  • Počkajte, kým sa inštancia nespustí.


Teraz, keď máme spustenú databázu Neo4j a svoje poverenia, môžeme otvoriť nástroj LLM Knowledge Graph Builder a kliknúť na Pripojiť sa k Neo4j v pravom hornom rohu.


Presuňte predtým stiahnutý súbor poverení v dialógovom okne pripojenia. Všetky informácie by sa mali vyplniť automaticky. Prípadne môžete všetko zadať ručne.

Vytvorenie znalostného grafu

Proces začína prijatím vašich neštruktúrovaných údajov, ktoré sa potom prenesú cez LLM, aby sa identifikovali kľúčové entity a ich vzťahy.


Súbory PDF a iné súbory môžete presúvať myšou do prvej vstupnej zóny vľavo. Druhý vstup vám umožní skopírovať/prilepiť odkaz na video YouTube, ktoré chcete použiť, zatiaľ čo tretí vstup prevezme odkaz na stránku Wikipedia.


Pre tento príklad načítam niekoľko súborov PDF, ktoré mám o spoločnosti s dodávateľským reťazcom s názvom GraphACME, tlačový článok z Forbes a video YouTube o smernici o povinnej starostlivosti o udržateľnosť podnikov (CSDDD), ako aj dve stránky z Wikipédie: Smernica o náležitej starostlivosti o udržateľnosti podniku a Bangladéš .


Počas nahrávania súborov aplikácia uloží nahrané zdroje ako uzly dokumentov v grafe pomocou LangChain Document Loaders a analyzátorov YouTube. Po nahratí všetkých súborov by ste mali vidieť niečo podobné ako toto:



Všetko, čo teraz musíme urobiť, je vybrať model, ktorý chcete použiť, kliknúť na Generovať graf a nechať kúzlo urobiť zvyšok za vás!


Ak chcete vygenerovať iba výber súborov, môžete najprv vybrať súbory (zaškrtávacie políčko v prvom stĺpci tabuľky) a kliknúť na Generovať graf .


⚠️ Všimnite si, že ak chcete použiť preddefinovanú alebo vlastnú schému grafu, môžete kliknúť na ikonu nastavenia v pravom hornom rohu a vybrať preddefinovanú schému z rozbaľovacej ponuky, použiť vlastnú tak, že si zapíšete označenia uzlov a vzťahy, vytiahnite existujúcu schému z existujúcej databázy Neo4j alebo skopírujte/prilepte text a požiadajte LLM, aby ho analyzoval a prišiel s navrhovanou schémou.


Kým spracováva vaše súbory a vytvára váš Diagram znalostí, dovoľte mi zhrnúť, čo sa deje pod kapotou:


  1. Obsah je rozdelený na časti.
  2. Časti sú uložené v grafe a spojené s uzlom dokumentu a navzájom pre pokročilé vzory RAG.
  3. Veľmi podobné časti sú spojené s PODOBNÝM vzťahom, aby vytvorili graf K-Nearest Neighbors.
  4. Vloženia sú vypočítané a uložené v kúskoch a vektorovom indexe.
  5. Pomocou llm-graph-transformer alebo diffbot-graph-transformer sa z textu extrahujú entity a vzťahy.
  6. Entity sú uložené v grafe a pripojené k pôvodným kúskom.

Preskúmajte svoj Diagram znalostí

Informácie extrahované z vášho dokumentu sú štruktúrované do formátu grafu, kde sa entity stávajú uzlami a vzťahy sa menia na hrany spájajúce tieto uzly. Krása používania Neo4j spočíva v jeho schopnosti efektívne ukladať a vyhľadávať tieto zložité dátové siete, vďaka čomu je vygenerovaný znalostný graf okamžite užitočný pre rôzne aplikácie.


Predtým, ako použijeme agenta RAG na kladenie otázok o našich údajoch, môžeme pomocou začiarkavacieho políčka vybrať jeden dokument (alebo viacero) a kliknúť na položku Zobraziť graf . Zobrazí sa entity vytvorené pre vami vybraté dokumenty; môžete tiež zobraziť dokument a uzol blokov v tomto zobrazení:



Tlačidlo Open Graph with Bloom otvorí Neo4j Bloom , ktoré vám pomôže vizualizovať a orientovať sa vo vašom novovytvorenom znalostnom grafe. Ďalšia akcia — Odstrániť súbory — odstráni vybraté dokumenty a časti z grafu (a entity, ak to vyberiete v možnostiach).

Hovorte so svojimi znalosťami

Teraz prichádza posledná časť: agent RAG, ktorého môžete vidieť na pravom paneli.

Proces získavania — ako to funguje?

Obrázok nižšie zobrazuje zjednodušený pohľad na proces GraphRAG.



Keď používateľ položí otázku, používame vektorový index Neo4j s vyhľadávacím dotazom na nájdenie najrelevantnejších častí pre otázku a ich spojených entít až do hĺbky 2 skokov. Zhrnieme aj históriu chatu a použijeme ju ako prvok na obohatenie kontextu.


Rôzne vstupy a zdroje (otázka, vektorové výsledky, história chatu) sa všetky odosielajú do vybraného modelu LLM vo vlastnej výzve s požiadavkou na poskytnutie a formátovanie odpovede na položenú otázku na základe poskytnutých prvkov a kontextu. Samozrejme, výzva má viac mágie, ako je formátovanie, žiadanie o citovanie zdrojov, nešpekulovanie, ak odpoveď nie je známa, atď. Úplnú výzvu a pokyny nájdete ako FINAL_PROMPT v QA_integration.py .

Pýtajte sa otázky súvisiace s vašimi údajmi

V tomto príklade som načítal interné dokumenty o falošnej spoločnosti s názvom GraphACME (so sídlom v Európe), ktorá vyrábala a dokumentovala celú ich stratégiu a produkty dodávateľského reťazca. Nahral som aj článok pre tlač a video na YouTube vysvetľujúce nový CSDDD, jeho vplyv a reguláciu. Teraz môžeme chatbotovi klásť otázky o našich interných (falošných) znalostiach spoločnosti – otázky týkajúce sa zákona o CSDDD alebo dokonca otázky týkajúce sa oboch, ako napríklad požiadať o zoznam produktov, ktoré GraphACME vyrába, či budú ovplyvnené nariadením CSDDD a ak áno, ako to ovplyvní spoločnosť.



Funkcie chatu

Na pravej strane domovskej obrazovky si všimnete tri tlačidlá pripojené k oknu rozhovoru:


  • Zavrieť zatvorí rozhranie chatbota.
  • Vymazať históriu chatu vymaže históriu chatu aktuálnej relácie.
  • Maximalizovať okno otvorí rozhranie chatbota v režime celej obrazovky.


V odpovediach agenta RAG nájdete po odpovedi tri funkcie:


  • Podrobnosti otvorí vyskakovacie okno s informáciami o vyhľadávaní, ktoré ukazuje, ako agent RAG zbieral a používal zdroje (dokumenty), kusy a entity. Zahrnuté sú aj informácie o použitom modeli a spotrebe tokenu.
  • Kopírovať skopíruje obsah odpovede do schránky.
  • Text-to-Speech prečíta obsah odpovede nahlas.




Zábal

Ak sa chcete hlbšie ponoriť do nástroja LLM Knowledge Graph Builder, úložisko GitHub ponúka množstvo informácií vrátane zdrojového kódu a dokumentácie. Naša dokumentácia navyše poskytuje podrobné pokyny, ako začať, a ekosystém GenAI ponúka ďalšie informácie o širších dostupných nástrojoch a aplikáciách.

Čo ďalej — Možnosti prispievania a rozširovania

Vaše skúsenosti s nástrojom LLM Knowledge Graph Builder sú neoceniteľné. Ak narazíte na chyby, máte návrhy na nové funkcie, chcete prispieť alebo chcete vidieť určité vylepšenia, komunitná platforma je ideálnym miestom na zdieľanie vašich myšlienok. Pre tých, ktorí sú zbehlí v kódovaní, môže byť priame prispievanie na GitHub obohacujúcim spôsobom, ako pomôcť pri vývoji projektu. Váš vstup a príspevky nielen pomáhajú zlepšovať nástroj, ale podporujú aj spoluprácu a inovatívnu komunitu:

Zdroje

Získajte viac informácií o nových zdrojoch pre aplikácie GenAI: Neo4j GraphRAG Ecosystem Tools . Tieto nástroje s otvoreným zdrojovým kódom uľahčujú začiatok s aplikáciami GenAI založenými na znalostných grafoch, ktoré pomáhajú zlepšiť kvalitu odozvy a vysvetliteľnosť a urýchliť vývoj a prijatie aplikácií.

Video

Odkazy