Microsoft GraphRAG'ı Neo4j'ye ... Not

Microsoft GraphRAG'ı Neo4j'ye Entegre Etme

Microsoft'un GraphRAG uygulaması, büyük bir dil modeli (LLM) tarafından işlenen kaynak belgelerden bilgi grafikleri oluşturmak için etkili bir şekilde kullanılmıştır. Çıktı, varlıklar ve onların ilişkileri hakkında yapılandırılmış bilgilerdir, bu da Leiden topluluk algılama algoritması gibi grafik algoritmaları kullanarak özetler oluşturmak için kullanılır. Bu gönderi, GraphRAG çıktısını Neo4j'de nasıl sakacağınızı ve LangChain veya LlamaIndex kullanarak yerel ve küresel geri getiricileri nasıl uygulayacağınızı anlatmaktadır. Kullanılan veri seti, Charles Dickens'in "A Christmas Carol" adlı eseridir. Grafik çıkarma süreci atlanabilirken, önemli yapılandırmalar arasında varlık tiplerini (örgütler, insanlar, olaylar, coğrafi) seçme ve maksimum hasatlar için birden fazla çıkarma geçişi yapmak için kullanılır. Grafik çıkarma boru hattının çıktısı, parquet dosyaları olarak saklanır ve daha sonra Neo4j'ye ithal edilir. İthalat işlemi, ücretsiz bir bulut Aura örneği veya yerel bir Neo4j ortamı kullanarak yapılabilir ve ithalat kodu GitHub'da Jupyter notebook olarak sağlanmaktadır. Neo4j'ye veri ithal ettikten sonra, basit bir grafik analizi, Cypher sorgularını kullanarak yapı ve içerikle ilgili kavrama elde etmek için yapılır. Örneğin, çıkarılan varlıkların dağılımı ve düğüm dereceleri analiz edilebilir, bu da verilerin kavrama elde etmek için kullanılır. Çıkarılan varlıklar ve onların ilişkileri, Neo4j Browser kullanarak görselleştirilir ve doğrulanır. Geri getiricileri uygularken, yerel geri getirici, vektör arama kullanarak ilgili düğümleri belirler ve daha sonra LLM promt'a enjekte etmek için bağlantılı bilgileri gezinir. Vektör indeksi yapılandırılır ve ilgili metin verilerini toplamak için geri getirme sorgusu tanımlanır, örneğin metin parçaları, topluluk raporları ve ilişki tanımları gibi. Bu, LangChain ve LlamaIndex kullanarak gerçekleştirilir, geri getirme sorgusu her çerçeve için uyarılır. Diğer yandan, küresel geri getirici, belirlenen hiyerarşik seviyede topluluk özetlerini yineleyerek, ara özetler ve nihai bir yanıt oluşturur. Bu yaklaşım, geri getirme sürecini basitleştirir, ancak en iyi sonuçlar için uygun hiyerarşik seviyenin seçilmesi gerekir. Özetle, GraphRAG'in Neo4j ve geri getirici çerçeveleriyle LangChain ve LlamaIndex gibi entegrasyonu, metinsel kaynaklardan çıkarılan yapılandırılmış bilgilerden sofistike veri geri getirme olanağı sağlar, hem yerel hem de küresel geri getirme stratejilerini kullanarak. Bu uygulama, GraphRAG'in pratik uygulamalarını göstererek, metinsel kaynaklardan çıkarılan yapılandırılmış bilgilerle ilgili analize ve sorgulamaya dayanmaktadır.