HN เปิดเผย: FastGraphRAG – เทคนิค RAG ที่ปรับปรุงแล้วโดยใช้ PageRank แบบดั้งเดิม
(github.com/circlemind-ai)เฟรมเวิร์ก Fast GraphRAG ที่กระชับและสั่งงานผ่านพรอมป์ต์ได้
- ความรู้ที่ตีความและดีบักได้: กราฟให้มุมมองความรู้ที่มนุษย์สามารถสำรวจได้ และสามารถสืบค้น แสดงภาพ และอัปเดตได้
- เร็ว ถูก และมีประสิทธิภาพ: ออกแบบมาให้ทำงานได้ในสเกลขนาดใหญ่ โดยใช้ทรัพยากรและต้นทุนต่ำ
- ข้อมูลแบบไดนามิก: สร้างและปรับปรุงกราฟโดยอัตโนมัติตามโดเมนและความต้องการด้านออนโทโลยี
- การอัปเดตแบบค่อยเป็นค่อยไป: รองรับการอัปเดตแบบเรียลไทม์เมื่อข้อมูลมีการเปลี่ยนแปลง
- การสำรวจอย่างชาญฉลาด: ใช้การสำรวจกราฟที่อิง PageRank เพื่อเพิ่มความแม่นยำและความน่าเชื่อถือ
- รองรับ async และ type: รองรับ async และ type อย่างสมบูรณ์ เพื่อมอบเวิร์กโฟลว์ที่แข็งแรงและคาดการณ์ได้
การติดตั้ง
-
ติดตั้งจาก PyPi (แนะนำ)
pip install fast-graphrag -
ติดตั้งจากซอร์ส
# โคลนรีโพซิทอรีนี้ก่อน cd fast_graphrag poetry install
เริ่มต้นอย่างรวดเร็ว
-
ตั้งค่า OpenAI API key ใน environment
export OPENAI_API_KEY="sk-..." -
ดาวน์โหลด A Christmas Carol ของ Charles Dickens
curl https://raw.githubusercontent.com/circlemind-ai/fast-graphrag/… > ./book.txt -
ตัวอย่างโค้ด Python
from fast_graphrag import GraphRAG DOMAIN = "Analyze this story and identify the characters. Focus on how they interact with each other, the locations they explore, and their relationships." EXAMPLE_QUERIES = [ "What is the significance of Christmas Eve in A Christmas Carol?", "How does the setting of Victorian London contribute to the story's themes?", "Describe the chain of events that leads to Scrooge's transformation.", "How does Dickens use the different spirits (Past, Present, and Future) to guide Scrooge?", "Why does Dickens choose to divide the story into \"staves\" rather than chapters?" ] ENTITY_TYPES = ["Character", "Animal", "Place", "Object", "Activity", "Event"] grag = GraphRAG( working_dir="./book_example", domain=DOMAIN, example_queries="\n".join(EXAMPLE_QUERIES), entity_types=ENTITY_TYPES ) with open("./book.txt") as f: grag.insert(f.read()) print(grag.query("Who is Scrooge?").response) -
เมื่อเริ่มต้น fast-graphrag ใหม่อีกครั้งใน working directory เดิม ระบบจะคงความรู้ทั้งหมดไว้โดยอัตโนมัติ
ตัวอย่าง
- ดูโฟลเดอร์
examplesเพื่อดูทิวทอเรียลของกรณีการใช้งานทั่วไปของไลบรารีcustom_llm.py: ตัวอย่างง่าย ๆ ของการตั้งค่า fast-graphrag ให้ทำงานร่วมกับ language model และ embedder ที่เข้ากันได้กับ OpenAI API หลากหลายแบบ
การมีส่วนร่วม
- ยินดีต้อนรับทุกการมีส่วนร่วม ไม่ว่าจะเล็กหรือใหญ่ การมีส่วนร่วมทำให้ชุมชนโอเพนซอร์สเป็นสถานที่อันยอดเยี่ยมสำหรับการเรียนรู้ แรงบันดาลใจ และการสร้างสรรค์
- สามารถดูคู่มือการมีส่วนร่วมเพื่อเรียนรู้วิธีเริ่มต้นได้
- หากไม่รู้จะเริ่มจากตรงไหน สามารถเข้าร่วม Discord เพื่อถามคำถามได้
ปรัชญา
- ภารกิจของเราคือเพิ่มจำนวนแอปพลิเคชัน GenAI ที่ประสบความสำเร็จในโลก
- เพื่อสิ่งนี้ เราจึงสร้างเครื่องมือด้าน memory และข้อมูล เพื่อให้แอป LLM สามารถใช้ประโยชน์จากไปป์ไลน์การค้นคืนข้อมูลที่มีความเฉพาะทางสูงได้ โดยไม่ต้องเผชิญกับความซับซ้อนของการตั้งค่าและดูแลเวิร์กโฟลว์แบบเอเจนต์
โอเพนซอร์สหรือบริการแบบ managed
- รีโพซิทอรีนี้อยู่ภายใต้สัญญาอนุญาต MIT ดูรายละเอียดเพิ่มเติมได้ที่ LICENSE.txt
- วิธีที่เร็วและเชื่อถือได้ที่สุดในการเริ่มต้นใช้งาน Fast GraphRAG คือการใช้บริการแบบ managed
- 100 คำขอแรกของทุกเดือนใช้งานฟรี หลังจากนั้นจะคิดค่าบริการตามการใช้งาน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
การใช้ BM25 ร่วมกับ LLM สามารถให้ผลลัพธ์ที่มีความเกี่ยวข้องสูงมาก
PageRank และ Triangle Centrality เป็นตัวชี้วัดความเป็นศูนย์กลางที่น่าสนใจซึ่งนำไปใช้กับกราฟได้
คิดว่าการค้นคืนข้อมูลแบบดั้งเดิมเหมาะกับ RAG
ต้องการใช้ระบบ GraphRag ในสตาร์ทอัป AI เพื่อวิเคราะห์เอกสารจำนวนมาก
ข้อสงสัยเกี่ยวกับการที่ PageRank ต้องใช้ OpenAI API key
คำถามเกี่ยวกับวิธีจัดเก็บและคิวรีกราฟโดยไม่ใช้ฐานข้อมูลกราฟ
คำถามเกี่ยวกับปริมาณข้อความที่จำเป็นสำหรับการสร้าง knowledge graph ของข้อความเฉพาะโดเมน
คำถามเกี่ยวกับวิธีที่โดเมนและคิวรีตัวอย่างช่วยในการสร้าง knowledge graph
ความสับสนเกี่ยวกับนโยบายราคา
คำถามว่าคำตอบสำหรับคำถาม "Scrooge คือใคร?" ดีกว่าแนวทางอื่นหรือไม่