Peluncuran HN: FastGraphRAG – Teknik RAG yang Ditingkatkan dengan Memanfaatkan PageRank Tradisional
(github.com/circlemind-ai)Framework Fast GraphRAG yang ringkas dan dapat dipandu dengan prompt
- Pengetahuan yang dapat diinterpretasikan dan di-debug: grafik menyediakan tampilan pengetahuan yang bisa dijelajahi manusia, serta dapat di-query, divisualisasikan, dan diperbarui
- Cepat, murah, dan efisien: dirancang untuk berjalan dalam skala besar dengan kebutuhan sumber daya dan biaya yang rendah
- Data dinamis: secara otomatis membuat dan menyempurnakan grafik agar sesuai dengan kebutuhan domain dan ontologi
- Pembaruan bertahap: mendukung pembaruan real-time seiring data berkembang
- Eksplorasi cerdas: memanfaatkan penelusuran grafik berbasis PageRank untuk meningkatkan akurasi dan keandalan
- Dukungan asinkron dan tipe: dukungan asinkron penuh dan tipe lengkap memberikan alur kerja yang tangguh dan dapat diprediksi
Instalasi
-
Instal dari PyPi (direkomendasikan)
pip install fast-graphrag -
Instal dari source
# Clone repositori ini terlebih dahulu cd fast_graphrag poetry install
Mulai cepat
-
Atur kunci API OpenAI di environment
export OPENAI_API_KEY="sk-..." -
Unduh A Christmas Carol karya Charles Dickens
curl https://raw.githubusercontent.com/circlemind-ai/fast-graphrag/… > ./book.txt -
Contoh kode 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) -
Saat fast-graphrag diinisialisasi ulang di direktori kerja yang sama, seluruh pengetahuan akan otomatis dipertahankan
Contoh
- Lihat folder
examplesuntuk tutorial tentang kasus penggunaan umum pustaka inicustom_llm.py: contoh sederhana untuk mengonfigurasi fast-graphrag dengan berbagai model bahasa dan embedder yang kompatibel dengan OpenAI API
Kontribusi
- Kontribusi besar maupun kecil sangat diterima. Kontribusi menjadikan komunitas open source tempat yang luar biasa untuk belajar, saling menginspirasi, dan berkarya
- Anda dapat memeriksa panduan kontribusi untuk mengetahui cara memulai
- Jika tidak tahu harus mulai dari mana, Anda bisa bergabung ke Discord dan bertanya
Filosofi
- Misi kami adalah meningkatkan jumlah aplikasi GenAI yang sukses di dunia
- Untuk itu, kami membangun alat memori dan data agar aplikasi LLM dapat memanfaatkan pipeline pengambilan yang sangat terspesialisasi tanpa kompleksitas dalam menyiapkan dan memelihara alur kerja agen
Open source atau layanan terkelola
- Repositori ini berada di bawah lisensi MIT. Lihat LICENSE.txt untuk detail lebih lanjut
- Cara tercepat dan paling andal untuk memulai Fast GraphRAG adalah dengan menggunakan layanan terkelola
- 100 permintaan pertama setiap bulan gratis, setelah itu biaya dikenakan sesuai pemakaian
1 komentar
Komentar Hacker News
Menggunakan BM25 bersama LLM dapat menghasilkan hasil yang sangat relevan
mermaid.jsuntuk membagi input secara hierarkis dan menemukan root yang sesuaiPageRank dan Triangle Centrality adalah metrik sentralitas yang menarik untuk diterapkan pada graf
Pencarian informasi tradisional dianggap cocok untuk RAG
Ingin menggunakan sistem GraphRag di startup AI untuk analisis dokumen skala besar
Mempertanyakan mengapa PageRank memerlukan kunci API OpenAI
Pertanyaan tentang cara menyimpan dan melakukan kueri pada graf tanpa basis data graf
Pertanyaan tentang berapa banyak teks yang diperlukan untuk membangun knowledge graph untuk teks spesifik domain
Pertanyaan tentang bagaimana domain dan contoh kueri membantu pembangunan knowledge graph
Kebingungan mengenai kebijakan harga
Pertanyaan apakah jawaban untuk "Siapa Scrooge?" lebih baik daripada pendekatan lain