HN Açık: FastGraphRAG – Geleneksel PageRank’ten yararlanan geliştirilmiş bir RAG tekniği
(github.com/circlemind-ai)Sadeleştirilmiş ve prompt ile yönlendirilebilen Fast GraphRAG çerçevesi
- Yorumlanabilir ve hata ayıklanabilir bilgi: Grafikler, insanların gezinebileceği bir bilgi görünümü sunar; sorgulanabilir, görselleştirilebilir ve güncellenebilir
- Hızlı, ucuz ve verimli: Büyük ölçekte çalışacak şekilde tasarlanmıştır; düşük kaynak ve maliyet gerektirir
- Dinamik veri: Alan ve ontoloji gereksinimlerine göre grafikleri otomatik olarak oluşturur ve iyileştirir
- Kademeli güncellemeler: Veri geliştikçe gerçek zamanlı güncellemeleri destekler
- Akıllı keşif: Doğruluk ve güvenilirliği artırmak için PageRank tabanlı grafik keşfini kullanır
- Asenkron ve tip desteği: Tam asenkron yapı ve tip desteğiyle sağlam ve öngörülebilir iş akışları sunar
Kurulum
-
PyPi üzerinden kurulum (önerilir)
pip install fast-graphrag -
Kaynaktan kurulum
# Önce bu depoyu klonlayın cd fast_graphrag poetry install
Hızlı başlangıç
-
OpenAI API anahtarını ortama ayarlayın
export OPENAI_API_KEY="sk-..." -
Charles Dickens’ın A Christmas Carol eserini indirin
curl https://raw.githubusercontent.com/circlemind-ai/fast-graphrag/… > ./book.txt -
Python kod örneği
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) -
Aynı çalışma dizininde fast-graphrag yeniden başlatıldığında tüm bilgileri otomatik olarak korur
Örnekler
- Kütüphanenin yaygın kullanım senaryolarına yönelik eğitimler için
examplesklasörüne bakılabilircustom_llm.py: Fast-graphrag’i çeşitli OpenAI API uyumlu dil modelleri ve embedder’larla yapılandırmaya dair basit bir örnek
Katkı
- Büyük ya da küçük tüm katkılar memnuniyetle karşılanır. Katkılar, açık kaynak topluluğunu öğrenmek, ilham vermek ve üretmek için harika bir yer haline getirir
- Nasıl başlayacağınızı öğrenmek için katkı kılavuzuna göz atabilirsiniz
- Nereden başlayacağınızı bilmiyorsanız Discord’a katılıp soru sorabilirsiniz
Felsefe
- Misyonumuz, dünyadaki başarılı GenAI uygulamalarının sayısını artırmaktır
- Bunun için, LLM uygulamalarının ajan iş akışlarını kurma ve sürdürme karmaşıklığı olmadan son derece uzmanlaşmış arama hatlarından yararlanabilmesi için bellek ve veri araçları geliştiriyoruz
Açık kaynak mı, yönetilen hizmet mi?
- Bu depo MIT lisansı altındadır. Ayrıntılar için LICENSE.txt dosyasına bakın
- Fast GraphRAG’e başlamanın en hızlı ve en güvenilir yolu yönetilen hizmeti kullanmaktır
- Her ay ilk 100 istek ücretsizdir; sonrasında kullanım bazlı ücretlendirme uygulanır
1 yorum
Hacker News görüşleri
BM25 ve LLM birlikte kullanıldığında son derece yüksek ilgili sonuçlar elde edilebiliyor
mermaid.jszihin haritası kullanılarak girdi hiyerarşik olarak bölünüyor ve uygun kök bulunuyorPageRank ve Triangle Centrality, grafa uygulanabilecek ilginç merkezilik ölçütleri
Geleneksel bilgi erişiminin RAG için uygun olduğu düşünülüyor
Bir yapay zeka girişiminde büyük ölçekli belge analizi için GraphRag sistemi kullanmak isteniyor
PageRank'in OpenAI API anahtarı istemesiyle ilgili soru işaretleri
Grafik veritabanı olmadan grafın nasıl saklanıp sorgulanacağına dair soru
sciphi triplexmodeliyle yapılan çıkarım denemelerinde tutarsız sonuçlar yaşandığı belirtiliyorAlana özgü metinler için bilgi grafiği kurmada ne kadar metin gerektiğine dair soru
Alan ve örnek sorguların bilgi grafiği kurulumuna nasıl yardımcı olduğuna dair soru
Fiyatlandırma politikasıyla ilgili kafa karışıklığı
"Scrooge kimdir?" sorusuna verilen yanıtın diğer yaklaşımlardan daha iyi olup olmadığına dair soru