LLM Knowledge Graph Builder הוא אחד מכלי ה-GraphRAG Ecosystem של Neo4j המאפשרים לך להפוך נתונים לא מובנים לגרפי ידע דינמיים. הוא משולב עם צ'אטבוט של דור אחזור (RAG), המאפשר שאילתות בשפה טבעית ותובנות הניתנות להסבר על הנתונים שלך.
Neo4j LLM Knowledge Graph Builder הוא יישום מקוון חדשני להפיכת טקסט לא מובנה לגרף ידע ללא קוד וללא Cypher, המספק חוויית טקסט-לגרף קסומה. היא משתמשת במודלים של ML (LLMs: OpenAI, Gemini, Diffbot) כדי להפוך קובצי PDF, דפי אינטרנט וסרטוני YouTube לגרף ידע של ישויות ומערכות היחסים ביניהן.
הקצה הקדמי הוא אפליקציית React המבוססת על ערכת ההתחלה של המחטים שלנו, והקצה האחורי הוא אפליקציית Python FastAPI. הוא משתמש במודול ה-llm-graph-transformer ש-Neo4j תרם ל-LangChain.
האפליקציה מספקת חוויה חלקה, לאחר ארבעה שלבים פשוטים:
אנו מספקים את האפליקציה בסביבה המתארחת ב-Neo4j שלנו ללא צורך בכרטיסי אשראי וללא מפתחות LLM - ללא חיכוכים.
לחלופין, כדי להפעיל אותו באופן מקומי או בתוך הסביבה שלך, בקר ב- Repo הציבורי של GitHub ופעל לפי ההוראות המפורטות שנעסוק בפוסט זה.
לפני שנפתח ונשתמש ב-LLM Knowledge Graph Builder, בואו ניצור מסד נתונים חדש של Neo4j. לשם כך, אנו יכולים להשתמש במסד נתונים חינמי של AuraDB על ידי ביצוע השלבים הבאים:
כעת, כאשר מסד הנתונים Neo4j שלנו פועל והאישורים שלנו, אנו יכולים לפתוח את בונה גרפי הידע LLM, וללחוץ על התחבר ל-Neo4j בפינה השמאלית העליונה.
שחרר את קובץ האישורים שהורדת בעבר בתיבת הדו-שיח של החיבור. כל המידע צריך להתמלא באופן אוטומטי. לחלופין, אתה יכול להזין הכל באופן ידני.
התהליך מתחיל בהטמעת הנתונים הלא מובנים שלך, אשר מועברים לאחר מכן דרך ה-LLM כדי לזהות ישויות מפתח ומערכות היחסים ביניהן.
אתה יכול לגרור ולשחרר קובצי PDF וקבצים אחרים לאזור הקלט הראשון משמאל. הקלט השני יאפשר לך להעתיק/להדביק את הקישור לסרטון YouTube שבו תרצה להשתמש, בעוד שהקלט השלישי לוקח קישור לדף ויקיפדיה.
לדוגמא זו, אטען כמה קובצי PDF שיש לי על חברת שרשרת אספקה בשם GraphACME, מאמר לעיתונות מ-Forbes וסרטון YouTube על ה-Corporate Sustainability Due Diligence Directive (CSDDD), וכן שני עמודים מויקיפדיה: הוראת בדיקת נאותות לקיימות תאגידית ובנגלדש .
בזמן העלאת הקבצים, האפליקציה תאחסן את המקורות שהועלו כצמתי מסמכים בגרף באמצעות LangChain Document Loaders ומנתחים של YouTube. ברגע שכל הקבצים הועלו, אתה אמור לראות משהו דומה לזה:
כל מה שאנחנו צריכים לעשות עכשיו זה לבחור את הדגם לשימוש, ללחוץ על Generate Graph ולתת לקסם לעשות את השאר בשבילך!
אם ברצונך ליצור רק מבחר קובץ, תוכל לבחור תחילה את הקבצים (עם תיבת הסימון בעמודה הראשונה של הטבלה) וללחוץ על Generate Graph .
⚠️ שימו לב שאם אתם רוצים להשתמש בסכמת גרף מוגדרת מראש או משלכם, תוכלו ללחוץ על סמל ההגדרה בפינה השמאלית העליונה ולבחור סכימה מוגדרת מראש מהתפריט הנפתח, השתמשו בעצמכם על ידי כתיבה תוויות הצומת והקשרים, משוך את הסכימה הקיימת ממסד נתונים קיים של Neo4j, או העתק/הדבק טקסט ובקש מה-LLM לנתח אותו ולהמציא סכימה מוצעת.
בזמן שהוא מעבד את הקבצים שלך ויוצר את גרף הידע שלך, הרשו לי לסכם את מה שקורה מתחת למכסה המנוע:
המידע שחולץ מהמסמך שלך מובנה לפורמט גרף, שבו ישויות הופכות לצמתים, וקשרים הופכים לקצוות המחברים את הצמתים הללו. היופי בשימוש ב-Neo4j טמון ביכולת שלו לאחסן ולשאול ביעילות את רשתות הנתונים המורכבות הללו, מה שהופך את גרף הידע שנוצר לשימוש מיידי עבור מגוון יישומים.
לפני שנשתמש בסוכן RAG כדי לשאול שאלות על הנתונים שלנו, נוכל לבחור מסמך אחד (או רבים) עם תיבת הסימון וללחוץ על הצג גרף . פעולה זו תציג את הישויות שנוצרו עבור המסמכים שבחרת; אתה יכול גם להציג את צומת המסמך והנתחים בתצוגה זו:
הלחצן פתח גרף עם בלום יפתח את Neo4j Bloom כדי לעזור לך לדמיין ולנווט את גרף הידע החדש שלך שנוצר. הפעולה הבאה - מחק קבצים - מוחקת את המסמכים והנתחים שנבחרו מהגרף (וישויות אם תבחרו בו באפשרויות).
עכשיו מגיע החלק האחרון: סוכן RAG שתוכלו לראות בחלונית הימנית.
התמונה למטה מציגה תצוגה פשוטה של תהליך GraphRAG.
כאשר המשתמש שואל שאלה, אנו משתמשים באינדקס הווקטור של Neo4j עם שאילתת אחזור כדי למצוא את הנתחים הרלוונטיים ביותר לשאלה ולישויות המחוברות ביניהם עד לעומק של 2 דילוגים. אנו גם מסכמים את היסטוריית הצ'אט ומשתמשים בה כמרכיב להעשרת ההקשר.
הקלט והמקורות השונים (השאלה, תוצאות וקטוריות, היסטוריית צ'אט) נשלחים כולם למודל ה-LLM שנבחר בהנחיה מותאמת אישית, תוך בקשה לספק ולעצב תגובה לשאלה שנשאלה בהתבסס על האלמנטים וההקשר שסופקו. כמובן שלהנחיה יש יותר קסם, כמו עיצוב, בקשה לצטט מקורות, לא לשער אם תשובה אינה ידועה וכו'. ניתן למצוא את ההנחיה המלאה וההוראות כ- FINAL_PROMPT ב- QA_integration.py .
בדוגמה זו, טענתי מסמכים פנימיים על חברה מזויפת בשם GraphACME (שבסיסה באירופה), מייצרת ומתעדת את כל אסטרטגיית שרשרת האספקה והמוצרים שלה. טענתי גם מאמר עיתונאי וסרטון יוטיוב המסבירים את ה-CSDDD החדש, השפעתו והרגולציה שלו. כעת אנו יכולים לשאול את הצ'אט בוט שאלות על הידע הפנימי (המזויף) של החברה שלנו - שאלות על חוק CSDDD, או אפילו שאלות על פני שניהם, כמו לבקש את רשימת המוצרים ש-GraphACME מייצרת, אם הם יושפעו מהרגולציה של CSDDD, וכן אם כן, כיצד זה ישפיע על החברה.
בצד ימין של מסך הבית, תבחינו בשלושה כפתורים המצורפים לחלון הצ'אט:
על התשובות של סוכן RAG, תמצא שלוש תכונות לאחר התגובה:
כדי לצלול עמוק יותר לתוך LLM Knowledge Graph Builder, מאגר GitHub מציע שפע של מידע, כולל קוד מקור ותיעוד. בנוסף, התיעוד שלנו מספק הנחיות מפורטות לתחילת העבודה, ו- GenAI Ecosystem מציעה תובנות נוספות לגבי הכלים והיישומים הרחבים יותר הזמינים.
הניסיון שלך עם LLM Knowledge Graph Builder לא יסולא בפז. אם אתה נתקל בבאגים, יש לך הצעות לתכונות חדשות, רוצה לתרום או רוצה לראות שיפורים מסוימים, פלטפורמת הקהילה היא המקום המושלם לחלוק את המחשבות שלך. עבור אלה המיומנים בקידוד, תרומה ישירה ב-GitHub יכולה להיות דרך מתגמלת לעזור לפתח את הפרויקט. ההשקעה והתרומות שלך לא רק עוזרות לשפר את הכלי אלא גם לטפח קהילה שיתופית וחדשנית:
למד עוד על משאבים חדשים עבור יישומי GenAI: Neo4j GraphRAG Ecosystem Tools . כלי הקוד הפתוח הללו מקלים על תחילת העבודה עם יישומי GenAI המבוססים על גרפי ידע, שעוזרים לשפר את איכות התגובה ויכולת ההסבר ולהאיץ את פיתוח ואימוץ האפליקציות.