LLM Knowledge Graph Builder jedan je od alata za ekosustav GraphRAG tvrtke Neo4j koji vam omogućuje pretvaranje nestrukturiranih podataka u dinamičke grafikone znanja. Integriran je s chatbotom za generiranje proširenog dohvaćanja (RAG), koji omogućuje postavljanje upita prirodnim jezikom i objašnjive uvide u vaše podatke.
Neo4j LLM Knowledge Graph Builder je inovativna online aplikacija za pretvaranje nestrukturiranog teksta u grafikon znanja bez koda i Cyphera, pružajući čarobno iskustvo pretvaranja teksta u grafikon. Koristi ML modele (LLM-ovi: OpenAI, Gemini, Diffbot) za transformaciju PDF-ova, web stranica i YouTube videozapisa u grafikon znanja entiteta i njihovih odnosa.
Prednji kraj je React aplikacija temeljena na našem Needle Starter Kitu , a stražnji kraj je Python FastAPI aplikacija. Koristi llm-graph-transformer modul koji je Neo4j pridonio LangChainu.
Aplikacija pruža besprijekorno iskustvo, slijedeći četiri jednostavna koraka:
Pružamo aplikaciju u našem okruženju hostiranom na Neo4j bez potrebe za kreditnim karticama i bez LLM ključeva — bez problema.
Alternativno, da biste ga pokrenuli lokalno ili unutar svog okruženja, posjetite javni GitHub repo i slijedite upute korak po korak koje ćemo obraditi u ovom postu.
Prije nego otvorimo i upotrijebimo LLM Knowledge Graph Builder, stvorimo novu Neo4j bazu podataka. Za to možemo koristiti besplatnu AuraDB bazu podataka slijedeći ove korake:
Sada kada imamo pokrenutu našu Neo4j bazu podataka i svoje vjerodajnice, možemo otvoriti LLM Knowledge Graph Builder i kliknuti Connect to Neo4j u gornjem desnom kutu.
Ispustite prethodno preuzetu datoteku vjerodajnica u dijaloški okvir za povezivanje. Svi podaci trebaju biti automatski popunjeni. Alternativno, sve možete unijeti ručno.
Proces počinje unosom vaših nestrukturiranih podataka, koji se zatim prosljeđuju kroz LLM kako bi se identificirali ključni entiteti i njihovi odnosi.
PDF-ove i druge datoteke možete povući i ispustiti u prvu zonu unosa s lijeve strane. Drugi unos će vam omogućiti da kopirate/zalijepite vezu na YouTube video koji želite koristiti, dok treći unos uzima vezu na stranicu Wikipedije.
Za ovaj primjer, učitati ću nekoliko PDF-ova koje imam o tvrtki za opskrbni lanac pod nazivom GraphACME, novinski članak iz Forbesa i YouTube video o Direktivi o temeljitoj pažnji o održivosti poduzeća (CSDDD), kao i dvije stranice s Wikipedije: Direktiva o korporativnoj održivosti Due Diligence i Bangladeš .
Tijekom učitavanja datoteka, aplikacija će pohraniti učitane izvore kao čvorove dokumenta u grafikonu koristeći LangChain Document Loaders i YouTube parsere. Nakon što se sve datoteke učitaju, trebali biste vidjeti nešto slično ovome:
Sve što sada trebamo učiniti je odabrati model koji ćemo koristiti, kliknuti Generate Graph i pustiti da magija učini ostalo za vas!
Ako želite samo generirati odabir datoteka, možete prvo odabrati datoteke (pomoću potvrdnog okvira u prvom stupcu tablice) i kliknuti Generiraj grafikon .
⚠️ Imajte na umu da ako želite koristiti unaprijed definiranu ili vlastitu shemu grafikona, možete kliknuti ikonu postavki u gornjem desnom kutu i odabrati unaprijed definiranu shemu s padajućeg izbornika, upotrijebiti vlastitu tako što ćete je zapisati oznake i odnose čvorova, povucite postojeću shemu iz postojeće Neo4j baze podataka ili kopirajte/zalijepite tekst i zamolite LLM da ga analizira i osmisli predloženu shemu.
Dok obrađuje vaše datoteke i stvara vaš Grafikon znanja, dopustite mi da rezimiram što se događa ispod haube:
Informacije izvađene iz vašeg dokumenta strukturirane su u obliku grafikona, gdje entiteti postaju čvorovi, a odnosi se pretvaraju u rubove koji povezuju te čvorove. Ljepota korištenja Neo4j-a leži u njegovoj sposobnosti učinkovitog pohranjivanja i postavljanja upita ovim složenim mrežama podataka, čineći generirani grafikon znanja odmah korisnim za razne aplikacije.
Prije nego što upotrijebimo RAG agenta za postavljanje pitanja o našim podacima, možemo označiti jedan dokument (ili više) s potvrdnim okvirom i kliknuti Prikaži grafikon . Ovo će prikazati entitete stvorene za dokumente koje ste odabrali; također možete prikazati čvor dokumenta i komada u tom prikazu:
Gumb Open Graph with Bloom otvorit će Neo4j Bloom koji će vam pomoći da vizualizirate i krećete se svojim novostvorenim grafikonom znanja. Sljedeća radnja — Izbriši datoteke — briše odabrane dokumente i dijelove s grafikona (i entitete ako to odaberete u opcijama).
Sada dolazi posljednji dio: RAG agent kojeg možete vidjeti na desnoj ploči.
Slika ispod prikazuje pojednostavljeni prikaz GraphRAG procesa.
Kada korisnik postavi pitanje, koristimo Neo4j vektorski indeks s upitom za dohvaćanje kako bismo pronašli najrelevantnije dijelove za pitanje i njihove povezane entitete do dubine od 2 skoka. Također sažimamo povijest razgovora i koristimo je kao element za obogaćivanje konteksta.
Svi različiti ulazi i izvori (pitanje, vektorski rezultati, povijest razgovora) šalju se odabranom modelu LLM-a u prilagođenom upitu, tražeći da se pruži i oblikuje odgovor na postavljeno pitanje na temelju danih elemenata i konteksta. Naravno, prompt ima više magije, kao što je formatiranje, traženje citiranja izvora, da se ne špekulira ako odgovor nije poznat, itd. Cijeli prompt i upute mogu se pronaći kao FINAL_PROMPT u QA_integration.py .
U ovom sam primjeru učitao interne dokumente o lažnoj tvrtki pod nazivom GraphACME (sa sjedištem u Europi), koja proizvodi i dokumentira njihovu cjelokupnu strategiju i proizvode opskrbnog lanca. Također sam učitao novinski članak i YouTube video koji objašnjava novi CSDDD, njegov utjecaj i regulaciju. Sada možemo chatbotu postavljati pitanja o našem internom (lažnom) znanju o tvrtki — pitanja o zakonu o CSDDD-u, ili čak pitanja o oba, kao što je traženje popisa proizvoda koje proizvodi GraphACME, hoće li na njih utjecati uredba o CSDDD-u i ako da, kako će to utjecati na tvrtku.
Na desnoj strani početnog zaslona primijetit ćete tri gumba pričvršćena na prozor za chat:
Na odgovorima agenta RAG-a pronaći ćete tri značajke nakon odgovora:
Da biste dublje zaronili u LLM Knowledge Graph Builder, GitHub Repository nudi mnoštvo informacija, uključujući izvorni kod i dokumentaciju. Osim toga, naša Dokumentacija pruža detaljne smjernice za početak, a GenAI Ecosystem nudi daljnji uvid u šire dostupne alate i aplikacije.
Vaše iskustvo s LLM Knowledge Graph Builderom je neprocjenjivo. Ako naiđete na pogreške, imate prijedloge za nove značajke, želite doprinijeti ili želite vidjeti određena poboljšanja, platforma zajednice je savršeno mjesto za dijeljenje vaših misli. Za one koji su vješti u kodiranju, izravan doprinos na GitHubu može biti koristan način pomoći u razvoju projekta. Vaš doprinos i doprinos ne samo da pomažu u poboljšanju alata, već i potiču suradničku i inovativnu zajednicu:
Saznajte više o novim resursima za GenAI aplikacije: Alati ekosustava Neo4j GraphRAG . Ovi alati otvorenog koda olakšavaju početak rada s GenAI aplikacijama utemeljenim na grafikonima znanja, koji pomažu u poboljšanju kvalitete odgovora i objašnjivosti te ubrzavaju razvoj i usvajanje aplikacija.