BaşlayınÜcretsiz başlayın

Grafa dayalı varlık eşleştirme

Eyvah! Kurşun geçirmez bir istem, few-shot örnekler ve bol şans dilekleri bile yetmedi; LLM, Romeo Capulet adında hayali bir karakter uydurdu ve veritabanında ona birkaç replik atadı.

{
  "id": "romeo-capulet",
  "name": "Romeo Capulet",
  "family": "Montague"
}

Neyse ki, bilgi grafiğindeki ilişkileri kullanarak bu düğümün Romeo Montague adlı başka bir karakterin yanlışlıkla oluşturulmuş bir kopyası olup olmadığını değerlendirebilirsin.

similarity_cypher Cypher ifadesi, aşağıdaki özelliklerle keyfi bir benzerlik puanı oluşturmak için MEMBER_OF ve INTERACTS_WITH ilişkilerini kullanır:

Condition Cypher Points Modifier
Aynı aileye bir MEMBER_OF ilişkisi af = bf +1
Aynı name özelliği a.name = b.name +2
a ve bnin etkileşimde bulunduğu karakterlerin yüzdesi size(inCommon) / size(aInteractsWith) anın b ile etkileşim yüzdesi ile çarpılır

Alan bilgine göre, 2 puan güçlü bir korelasyon anlamına gelir.

Bu egzersiz, kursun bir parçasıdır

LangChain ve Neo4j ile Graph RAG

Kursa Göz Atın

Egzersiz talimatları

  • graph üzerinde Cypher sorgusu (similarity_cypher) çalıştırarak "romeo-capulet" ile diğer karakter düğümleri arasındaki benzerlik puanlarını hesapla.
  • results içindeki her row için, sırasıyla "bId", "bFamily" ve "score" değerlerini çıkar.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Query the graph with similarity_cypher
result = ____

# Extract and print the results
for row in result:
    print(row['____'], 'from', row['____'], 'has similarity score of ', row['____'])
Kodu Düzenle ve Çalıştır