LLM Knowledge Graph Builder este unul dintre instrumentele Ecosistem GraphRAG de la Neo4j, care vă permite să transformați datele nestructurate în grafice dinamice ale cunoștințelor. Este integrat cu un chatbot de generație crescută prin recuperare (RAG), permițând interogări în limbaj natural și informații explicabile asupra datelor dvs.
Neo4j LLM Knowledge Graph Builder este o aplicație online inovatoare pentru a transforma textul nestructurat într-un grafic de cunoștințe fără cod și fără Cypher, oferind o experiență magică de la text la grafic. Utilizează modele ML (LLM: OpenAI, Gemini, Diffbot) pentru a transforma PDF-uri, pagini web și videoclipuri YouTube într-un grafic de cunoștințe al entităților și al relațiilor lor.
Partea frontală este o aplicație React bazată pe Needle Starter Kit , iar partea din spate este o aplicație Python FastAPI. Utilizează modulul llm-graph-transformer cu care Neo4j l-a contribuit la LangChain.
Aplicația oferă o experiență perfectă, urmând patru pași simpli:
Oferim aplicația în mediul nostru găzduit de Neo4j, fără carduri de credit necesare și fără chei LLM - fără frecări.
Alternativ, pentru a-l rula local sau în mediul dvs., vizitați depozitul public GitHub și urmați instrucțiunile pas cu pas pe care le vom acoperi în această postare.
Înainte să deschidem și să folosim LLM Knowledge Graph Builder, să creăm o nouă bază de date Neo4j. Pentru asta, putem folosi o bază de date AuraDB gratuită urmând acești pași:
Acum că avem baza de date Neo4j în funcțiune și acreditările noastre, putem deschide LLM Knowledge Graph Builder și faceți clic pe Conectare la Neo4j în colțul din dreapta sus.
Aruncați fișierul de acreditări descărcat anterior în dialogul de conectare. Toate informațiile trebuie completate automat. Alternativ, puteți introduce totul manual.
Procesul începe cu asimilarea datelor dvs. nestructurate, care sunt apoi trecute prin LLM pentru a identifica entitățile cheie și relațiile lor.
Puteți trage și plasa PDF-uri și alte fișiere în prima zonă de introducere din stânga. A doua intrare vă va permite să copiați/lipiți linkul către un videoclip YouTube pe care doriți să îl utilizați, în timp ce a treia intrare necesită un link către o pagină Wikipedia.
Pentru acest exemplu, voi încărca câteva PDF-uri pe care le am despre o companie din lanțul de aprovizionare numită GraphACME, un articol de presă de la Forbes și un videoclip YouTube despre Directiva de due diligence în materie de durabilitate corporativă (CSDDD), precum și două pagini de pe Wikipedia: Directiva de due diligence privind sustenabilitatea corporativă și Bangladesh .
În timp ce încarcă fișierele, aplicația va stoca sursele încărcate ca noduri de document în grafic folosind LangChain Document Loaders și parsere YouTube. Odată ce toate fișierele au fost încărcate, ar trebui să vedeți ceva similar cu acesta:
Tot ce trebuie să facem acum este să selectăm modelul de utilizat, să facem clic pe Generare grafic și să lăsăm magia să facă restul pentru tine!
Dacă doriți doar să generați o selecție de fișiere, puteți selecta mai întâi fișierele (cu caseta de selectare din prima coloană a tabelului) și faceți clic pe Generare grafic .
⚠️ Rețineți că, dacă doriți să utilizați o schemă grafică predefinită sau propria dvs., puteți să dați clic pe pictograma de setare din colțul din dreapta sus și să selectați o schemă predefinită din meniul derulant, să utilizați propria dvs. notând etichetele și relațiile nodurilor, extrageți schema existentă dintr-o bază de date Neo4j existentă sau copiați/lipiți text și cereți LLM să o analizeze și să vină cu o schemă sugerată.
În timp ce vă procesează fișierele și vă creează Knowledge Graph, permiteți-mi să rezumam ce se întâmplă sub capotă:
Informațiile extrase din documentul dvs. sunt structurate într-un format grafic, unde entitățile devin noduri, iar relațiile se transformă în margini care conectează aceste noduri. Frumusețea utilizării Neo4j constă în capacitatea sa de a stoca și interoga eficient aceste rețele de date complexe, făcând graficul de cunoștințe generat imediat util pentru o varietate de aplicații.
Înainte de a folosi agentul RAG pentru a pune întrebări despre datele noastre, putem selecta un document (sau mai multe) cu caseta de selectare și faceți clic pe Afișare grafic . Aceasta va afișa entitățile create pentru documentele pe care le-ați selectat; De asemenea, puteți afișa documentul și nodul de bucăți în acea vizualizare:
Butonul Open Graph with Bloom va deschide Neo4j Bloom pentru a vă ajuta să vizualizați și să navigați în graficul de cunoștințe nou creat. Următoarea acțiune — Ștergeți fișierele — șterge documentele și bucățile selectate din grafic (și entitățile dacă le selectați în opțiuni).
Acum vine ultima parte: agentul RAG pe care îl puteți vedea în panoul din dreapta.
Imaginea de mai jos prezintă o vedere simplificată a procesului GraphRAG.
Când utilizatorul pune o întrebare, folosim indexul vectorial Neo4j cu o interogare de recuperare pentru a găsi cele mai relevante bucăți pentru întrebare și entitățile lor conectate până la o adâncime de 2 hop. De asemenea, rezumăm istoricul chatului și îl folosim ca element pentru a îmbogăți contextul.
Diferitele intrări și surse (întrebarea, rezultatele vectorului, istoricul chatului) sunt toate trimise modelului LLM selectat într-un prompt personalizat, solicitând să furnizeze și să formateze un răspuns la întrebarea adresată pe baza elementelor și contextului furnizat. Desigur, promptul are mai multă magie, cum ar fi formatarea, solicitarea de a cita surse, pentru a nu specula dacă un răspuns nu este cunoscut etc. Promptul complet și instrucțiunile pot fi găsite ca FINAL_PROMPT în QA_integration.py .
În acest exemplu, am încărcat documente interne despre o companie falsă numită GraphACME (cu sediul în Europa), producând și documentând întreaga strategie și produse pentru lanțul de aprovizionare. Am încărcat, de asemenea, un articol de presă și un videoclip YouTube care explică noul CSDDD, impactul și reglementarea acestuia. Acum îi putem adresa chatbot-ului întrebări despre cunoștințele noastre interne (false) ale companiei - întrebări despre legea CSDDD sau chiar întrebări despre ambele, cum ar fi solicitarea listei de produse pe care le produce GraphACME, dacă acestea vor fi afectate de regulamentul CSDDD și dacă da, cum va afecta compania.
În partea dreaptă a ecranului de start, veți observa trei butoane atașate ferestrei de chat:
Pe răspunsurile agentului RAG, veți găsi trei caracteristici după răspuns:
Pentru a aprofunda în LLM Knowledge Graph Builder, Depozitul GitHub oferă o mulțime de informații, inclusiv cod sursă și documentație. În plus, documentația noastră oferă îndrumări detaliate cu privire la început, iar GenAI Ecosystem oferă mai multe informații despre instrumentele și aplicațiile mai largi disponibile.
Experiența dumneavoastră cu LLM Knowledge Graph Builder este neprețuită. Dacă întâmpinați erori, aveți sugestii pentru noi funcții, doriți să contribuiți sau doriți să vedeți anumite îmbunătățiri, platforma comunității este locul perfect pentru a vă împărtăși gândurile. Pentru cei adepți în codificare, contribuția directă pe GitHub poate fi o modalitate plină de satisfacții de a ajuta la dezvoltarea proiectului. Contribuțiile și contribuțiile dvs. nu numai că ajută la îmbunătățirea instrumentului, ci și la stimularea unei comunități colaborative și inovatoare:
Aflați mai multe despre noile resurse pentru aplicațiile GenAI: Neo4j GraphRAG Ecosystem Tools . Aceste instrumente open-source facilitează începerea cu aplicațiile GenAI bazate pe grafice de cunoștințe, care ajută la îmbunătățirea calității răspunsului și explicabilitatea și accelerează dezvoltarea și adoptarea aplicațiilor.