LLM Knowledge Graph Builder เป็นหนึ่งในเครื่องมือ GraphRAG Ecosystem ของ Neo4j ที่ช่วยให้คุณสามารถแปลงข้อมูลที่ไม่มีโครงสร้างให้กลายเป็นกราฟความรู้แบบไดนามิกได้ โดยเครื่องมือนี้ผสานรวมกับแชทบอท Retrieval-Augmented Generation (RAG) ซึ่งช่วยให้สามารถค้นหาข้อมูลด้วยภาษาธรรมชาติและให้ข้อมูลเชิงลึกที่อธิบายได้เกี่ยวกับข้อมูลของคุณ
Neo4j เป็นแอปพลิเคชันออนไลน์ที่สร้างสรรค์สำหรับเปลี่ยนข้อความที่ไม่มีโครงสร้างเป็นกราฟความรู้โดยไม่ต้องใช้โค้ดและ Cypher มอบประสบการณ์การแปลงข้อความเป็นกราฟที่น่าอัศจรรย์ โดยใช้โมเดล ML (LLMs: OpenAI, Gemini, Diffbot) เพื่อแปลง PDF หน้าเว็บ และวิดีโอ YouTube ให้เป็นกราฟความรู้ของเอนทิตีและความสัมพันธ์ของเอนทิตีเหล่านั้น
ส่วนหน้าเป็นแอปพลิเคชัน React ที่ใช้ ของเราเป็นหลัก ส่วนหลังเป็นแอปพลิเคชัน Python FastAPI โดยใช้ ที่ Neo4j มีส่วนสนับสนุนใน LangChain
แอปพลิเคชันนี้มอบประสบการณ์ที่ราบรื่นโดยทำตามขั้นตอนง่าย ๆ สี่ขั้นตอน:
เรามอบแอปพลิเคชันบน โดยไม่ต้องใช้บัตรเครดิตและไม่ต้องใช้คีย์ LLM ไม่มีปัญหา
อีกวิธีหนึ่งคือการรันในเครื่องหรือภายในสภาพแวดล้อมของคุณ ให้ไปที่ สาธารณะและทำตามคำแนะนำทีละขั้นตอนที่เราจะครอบคลุมในโพสต์นี้
ก่อนที่จะเปิดและใช้ LLM Knowledge Graph Builder เรามาสร้างฐานข้อมูล Neo4j ใหม่กันก่อน โดยเราสามารถใช้ฐานข้อมูล AuraDB ฟรีได้โดยทำตามขั้นตอนเหล่านี้:
ตอนนี้เราได้รันฐานข้อมูล Neo4j และข้อมูลรับรองแล้ว เราสามารถเปิด LLM Knowledge Graph Builder และคลิก เชื่อมต่อกับ Neo4j ที่มุมขวาบนได้
วางไฟล์ข้อมูลรับรองที่ดาวน์โหลดไว้ก่อนหน้านี้ลงในกล่องโต้ตอบการเชื่อมต่อ ข้อมูลทั้งหมดควรได้รับการกรอกโดยอัตโนมัติ หรือคุณสามารถป้อนข้อมูลทั้งหมดด้วยตนเอง
กระบวนการเริ่มต้นด้วยการนำข้อมูลที่ไม่มีโครงสร้างของคุณเข้ามาใช้ จากนั้นจึงส่งต่อผ่าน LLM เพื่อระบุเอนทิตีสำคัญและความสัมพันธ์ของเอนทิตีเหล่านั้น
คุณสามารถลากและวางไฟล์ PDF และไฟล์อื่นๆ ลงในโซนอินพุตแรกทางด้านซ้ายได้ อินพุตที่สองจะให้คุณคัดลอก/วางลิงก์ไปยังวิดีโอ YouTube ที่คุณต้องการใช้ ในขณะที่อินพุตที่สามจะนำลิงก์ไปยังหน้า Wikipedia
สำหรับตัวอย่างนี้ ฉันจะโหลด PDF สองสามไฟล์ที่มีเกี่ยวกับบริษัทห่วงโซ่อุปทานชื่อ GraphACME และ เกี่ยวกับ Corporate Sustainability Due Diligence Directive (CSDDD) ตลอดจนสองหน้าจาก Wikipedia: และ
ขณะอัปโหลดไฟล์ แอปพลิเคชันจะจัดเก็บแหล่งที่มาที่อัปโหลดเป็นโหนดเอกสารในกราฟโดยใช้ LangChain Document Loaders และ YouTube parsers เมื่ออัปโหลดไฟล์ทั้งหมดแล้ว คุณควรเห็นสิ่งที่คล้ายกับนี้:
สิ่งที่เราต้องทำตอนนี้คือเลือกโมเดลที่จะใช้ คลิก สร้างกราฟ และปล่อยให้สิ่งมหัศจรรย์จัดการส่วนที่เหลือให้กับคุณ!
หากคุณต้องการสร้างการเลือกไฟล์เท่านั้น คุณสามารถเลือกไฟล์ก่อน (โดยใช้ช่องทำเครื่องหมายในคอลัมน์แรกของตาราง) แล้วคลิก สร้างกราฟ
⚠️ โปรดทราบว่าหากคุณต้องการใช้โครงร่างกราฟที่กำหนดไว้ล่วงหน้าหรือของตนเอง คุณสามารถคลิกที่ไอคอนการตั้งค่าที่มุมขวาบนและเลือกโครงร่างกราฟที่กำหนดไว้ล่วงหน้าจากดรอปดาวน์ ใช้ของคุณเองโดยจดป้ายชื่อโหนดและความสัมพันธ์ ดึงโครงร่างกราฟที่มีอยู่จากฐานข้อมูล Neo4j ที่มีอยู่ หรือคัดลอก/วางข้อความและขอให้ LLM วิเคราะห์ข้อความนั้นและสร้างโครงร่างกราฟที่แนะนำ
ในขณะที่กำลังประมวลผลไฟล์ของคุณและสร้าง Knowledge Graph ให้ฉันสรุปสิ่งที่เกิดขึ้นภายใต้ประทุน:
ข้อมูลที่ดึงมาจากเอกสารของคุณจะถูกจัดโครงสร้างเป็นรูปแบบกราฟ โดยที่เอนทิตีจะกลายเป็นโหนด และความสัมพันธ์จะกลายเป็นขอบที่เชื่อมต่อโหนดเหล่านี้ ข้อดีของการใช้ Neo4j อยู่ที่ความสามารถในการจัดเก็บและสอบถามเครือข่ายข้อมูลที่ซับซ้อนเหล่านี้ได้อย่างมีประสิทธิภาพ ทำให้กราฟความรู้ที่สร้างขึ้นนั้นมีประโยชน์ทันทีสำหรับแอปพลิเคชันต่างๆ
ก่อนที่เราจะใช้ตัวแทน RAG เพื่อถามคำถามเกี่ยวกับข้อมูลของเรา เราสามารถเลือกเอกสารหนึ่งฉบับ (หรือหลายฉบับ) ด้วยช่องทำเครื่องหมายและคลิก แสดงกราฟ ซึ่งจะแสดงเอนทิตีที่สร้างขึ้นสำหรับเอกสารที่คุณเลือก นอกจากนี้ คุณยังสามารถแสดงโหนดเอกสารและชิ้นส่วนในมุมมองนั้นได้อีกด้วย:
ปุ่ม Open Graph with Bloom จะเปิด เพื่อช่วยให้คุณมองเห็นและนำทางกราฟความรู้ที่คุณเพิ่งสร้างขึ้นได้ การดำเนินการต่อไป — ลบไฟล์ — จะลบเอกสารและชิ้นส่วนที่เลือกออกจากกราฟ (และเอนทิตี หากคุณเลือกไว้ในตัวเลือก)
ตอนนี้มาถึงส่วนสุดท้ายแล้ว: ตัวแทน RAG ที่คุณสามารถดูได้ในแผงด้านขวา
รูปภาพด้านล่างนี้แสดงมุมมองที่เรียบง่ายของกระบวนการ GraphRAG
เมื่อผู้ใช้ถามคำถาม เราจะใช้ดัชนีเวกเตอร์ Neo4j พร้อมแบบสอบถามเพื่อค้นหาส่วนที่เกี่ยวข้องที่สุดสำหรับคำถามและเอนทิตีที่เชื่อมต่อกันซึ่งมีความลึกซึ้งถึง 2 ฮ็อป นอกจากนี้ เรายังสรุปประวัติการแชทและใช้เป็นองค์ประกอบเพื่อเสริมบริบทอีกด้วย
อินพุตและแหล่งที่มาต่างๆ (คำถาม ผลลัพธ์เวกเตอร์ ประวัติการแชท) จะถูกส่งไปยังโมเดล LLM ที่เลือกในคำสั่งที่กำหนดเอง โดยขอให้จัดเตรียมและจัดรูปแบบคำตอบสำหรับคำถามที่ถามโดยอิงตามองค์ประกอบและบริบทที่ให้มา แน่นอนว่าคำสั่งยังมีคุณสมบัติพิเศษอื่นๆ อีก เช่น การจัดรูปแบบ การขอให้อ้างอิงแหล่งที่มา การไม่คาดเดาหากไม่ทราบคำตอบ เป็นต้น คำสั่งและคำแนะนำฉบับสมบูรณ์สามารถพบได้ในไฟล์ ในรูปแบบ FINAL_PROMPT
ในตัวอย่างนี้ ฉันโหลดเอกสารภายในเกี่ยวกับบริษัทปลอมที่ชื่อ GraphACME (ตั้งอยู่ในยุโรป) ซึ่งจัดทำและบันทึกกลยุทธ์และผลิตภัณฑ์ในห่วงโซ่อุปทานทั้งหมด นอกจากนี้ ฉันยังโหลดบทความในสื่อและวิดีโอ YouTube ที่อธิบายถึง CSDDD ใหม่ ผลกระทบ และกฎระเบียบ ตอนนี้เราสามารถถามคำถามกับแชทบอตเกี่ยวกับความรู้ภายในบริษัท (ปลอม) ของเราได้แล้ว ไม่ว่าจะเป็นคำถามเกี่ยวกับกฎหมาย CSDDD หรือแม้แต่คำถามเกี่ยวกับทั้งสองอย่าง เช่น การถามถึงรายการผลิตภัณฑ์ที่ GraphACME ผลิตขึ้น ว่าผลิตภัณฑ์เหล่านี้จะได้รับผลกระทบจากกฎระเบียบ CSDDD หรือไม่ และหากเป็นเช่นนั้น จะส่งผลกระทบต่อบริษัทอย่างไร
ที่ด้านขวาของหน้าจอหลัก คุณจะสังเกตเห็นปุ่มสามปุ่มที่ติดอยู่กับหน้าต่างแชท:
คำตอบของตัวแทน RAG คุณจะพบคุณสมบัติสามประการหลังคำตอบ:
หากต้องการเจาะลึก LLM Knowledge Graph Builder มากขึ้น นำเสนอข้อมูลมากมาย รวมถึงโค้ดต้นฉบับและเอกสารประกอบ นอกจากนี้ ของเรายังให้คำแนะนำโดยละเอียดเกี่ยวกับการเริ่มต้นใช้งาน และ ยังนำเสนอข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับเครื่องมือและแอปพลิเคชันอื่นๆ ที่มีอยู่
ประสบการณ์ของคุณกับ LLM Knowledge Graph Builder นั้นมีค่าอย่างยิ่ง หากคุณพบข้อบกพร่อง มีข้อเสนอแนะสำหรับฟีเจอร์ใหม่ ต้องการมีส่วนร่วม หรือต้องการเห็นการปรับปรุงบางอย่าง แพลตฟอร์มชุมชนเป็นสถานที่ที่สมบูรณ์แบบในการแบ่งปันความคิดของคุณ สำหรับผู้ที่เชี่ยวชาญในการเขียนโค้ด การมีส่วนร่วมโดยตรงบน GitHub ถือเป็นวิธีที่คุ้มค่าในการช่วยพัฒนาโครงการ อินพุตและการมีส่วนร่วมของคุณไม่เพียงแต่ช่วยปรับปรุงเครื่องมือเท่านั้น แต่ยังส่งเสริมให้เกิดชุมชนที่ทำงานร่วมกันและสร้างสรรค์อีกด้วย:
เรียนรู้เพิ่มเติมเกี่ยวกับทรัพยากรใหม่สำหรับแอปพลิเคชัน GenAI: เครื่องมือโอเพ่นซอร์สเหล่านี้ทำให้สามารถเริ่มต้นใช้งานแอปพลิเคชัน GenAI ที่มีกราฟความรู้ได้อย่างง่ายดาย ซึ่งช่วยปรับปรุงคุณภาพการตอบสนองและความสามารถในการอธิบาย และเร่งการพัฒนาและการนำแอปพลิเคชันไปใช้