Mulai sekarangMulai gratis

Penyelesaian entitas berbasis grafik

Aduh! Meskipun prompt sudah sangat kuat, dengan contoh few-shot dan harapan setinggi langit, LLM masih berhalusinasi menciptakan tokoh bernama Romeo Capulet dan memberinya beberapa dialog di basis data.

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

Untungnya, Anda dapat menggunakan relasi dalam knowledge graph untuk menentukan apakah node ini kemungkinan merupakan duplikat tidak sengaja dari tokoh lain bernama Romeo Montague.

Pernyataan Cypher similarity_cypher menggunakan relasi MEMBER_OF dan INTERACTS_WITH untuk membangun skor kemiripan arbitrer dengan karakteristik berikut:

Kondisi Cypher Pengubah Poin
Relasi MEMBER_OF ke keluarga yang sama af = bf +1
Properti nama yang sama a.name = b.name +2
Persentase karakter yang berinteraksi dengan a dan b size(inCommon) / size(aInteractsWith) Dikalikan dengan persentase b yang berinteraksi dengan a

Berdasarkan pengetahuan domain Anda, skor 2 menunjukkan korelasi yang kuat.

Latihan ini merupakan bagian dari kursus

Graph RAG dengan LangChain dan Neo4j

Lihat Kursus

Instruksi latihan

  • Lakukan kueri pada graph dengan kueri Cypher (similarity_cypher) untuk menghitung skor kemiripan antara "romeo-capulet" dan node karakter lainnya.
  • Ekstrak "bId", "bFamily", dan "score", dalam urutan tersebut, dari setiap row di results.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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['____'])
Edit dan Jalankan Kode