paint-brush
Savladavanje LLM grafikona znanja: izgradite i implementirajte GraphRAG u samo 5 minutapo@neo4j
492 čitanja
492 čitanja

Savladavanje LLM grafikona znanja: izgradite i implementirajte GraphRAG u samo 5 minuta

po Neo4j7m2024/10/18
Read on Terminal Reader

Predugo; Čitati

Neo4j LLM Knowledge Graph Builder je inovativna aplikacija za pretvaranje nestrukturiranog teksta u grafikon znanja. Koristi ML modele (LLM-ovi: OpenAI, Gemini, Diffbot) za transformaciju PDF-ova, web-stranica i YouTube videozapisa. Ova mogućnost posebno je uzbudljiva jer omogućuje intuitivnu interakciju s podacima, sličnu razgovoru sa samim grafikonom znanja.
featured image - Savladavanje LLM grafikona znanja: izgradite i implementirajte GraphRAG u samo 5 minuta
Neo4j HackerNoon profile picture
0-item
1-item


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.


Započnite s GraphRAG-om: alati ekosustava Neo4j

Što je Neo4j LLM Knowledge Graph Builder?

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:


  1. Prijem podataka — podržava različite izvore podataka, uključujući PDF dokumente, stranice Wikipedije, YouTube videozapise i još mnogo toga.
  2. Prepoznavanje entiteta — koristi LLM-ove za prepoznavanje i izdvajanje entiteta i odnosa iz nestrukturiranog teksta.
  3. Graph Construction — Pretvara prepoznate entitete i odnose u format grafikona, koristeći mogućnosti Neo4j grafikona.
  4. Korisničko sučelje — pruža intuitivno web sučelje za interakciju korisnika s aplikacijom, olakšavajući učitavanje izvora podataka, vizualizaciju generiranog grafikona i interakciju s RAG agentom. Ova mogućnost posebno je uzbudljiva jer omogućuje intuitivnu interakciju s podacima, sličnu razgovoru sa samim grafikonom znanja — nije potrebno tehničko znanje.



Idemo isprobati

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:


  • Prijavite se ili kreirajte račun na https://console.neo4j.io .
  • Pod Instancama stvorite novu AuraDB besplatnu bazu podataka.
  • Preuzmite datoteku vjerodajnica.
  • Pričekajte da se instanca pokrene.


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.

Stvaranje Grafa znanja

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:


  1. Sadržaj je podijeljen u dijelove.
  2. Dijelovi su pohranjeni u grafikonu i povezani s čvorom dokumenta i međusobno za napredne RAG uzorke.
  3. Vrlo slični dijelovi povezani su SLIČNIM odnosom kako bi formirali graf K-najbližih susjeda.
  4. Ugradnje se izračunavaju i pohranjuju u komade i vektorski indeks.
  5. Koristeći llm-graph-transformer ili diffbot-graph-transformer, entiteti i odnosi se izdvajaju iz teksta.
  6. Entiteti su pohranjeni u grafu i povezani s izvornim dijelovima.

Istražite svoj Grafikon znanja

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).

Razgovarajte sa svojim znanjem

Sada dolazi posljednji dio: RAG agent kojeg možete vidjeti na desnoj ploči.

Proces dohvaćanja — kako funkcionira?

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 .

Postavljajte pitanja u vezi s vašim podacima

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.



Značajke chata

Na desnoj strani početnog zaslona primijetit ćete tri gumba pričvršćena na prozor za chat:


  • Zatvori će zatvoriti sučelje chatbota.
  • Brisanje povijesti razgovora izbrisat će povijest razgovora trenutne sesije.
  • Prozor maksimiziranja otvorit će sučelje chatbota u načinu rada preko cijelog zaslona.


Na odgovorima agenta RAG-a pronaći ćete tri značajke nakon odgovora:


  • Pojedinosti će otvoriti skočni prozor za dohvaćanje informacija koji prikazuje kako je RAG agent prikupio i koristio izvore (dokumente), dijelove i entitete. Također su uključene informacije o korištenom modelu i potrošnji tokena.
  • Kopiranje će kopirati sadržaj odgovora u međuspremnik.
  • Text-to-Speech čitat će sadržaj odgovora naglas.




Zaključak

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.

Što je sljedeće — mogućnosti doprinosa i proširenja

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:

Resursi

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.

Video

Linkovi