Inizia subitoInizia gratis

L’ultimo anello della catena

Con la catena text-to-cypher del Capitolo 1 e il retriever vettoriale visto prima in questo capitolo, ora hai i componenti per creare una catena che offre più modalità — sia vettori sia nodi e relazioni — per accedere alle informazioni nel tuo knowledge graph.

Le variabili text_to_cypher_chain e line_retriever (il vector retriever di Neo4j) sono a tua disposizione, insieme a un prompt di question answering per il retrieval ibrido, graphrag_qa_prompt.

Questo esercizio fa parte del corso

Graph RAG con LangChain e Neo4j

Visualizza corso

Istruzioni dell'esercizio

  • Passa la chiave "question" al vector retriever (line_retriever) per ottenere risultati pertinenti tramite vector search.
  • Estrai la query dall’oggetto graph per eseguire l’istruzione Cypher generata da text_to_cypher_chain.
  • Esegui graphrag_qa_chain sull’input fornito.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

graphrag_qa_chain = RunnablePassthrough.assign(
    # Pass the "question" key to the retriever
    vectors = RunnableLambda(lambda x: line_retriever.invoke(____)),
    # Execute the generated Cypher statement
    records = text_to_cypher_chain | graph.____
) | graphrag_qa_prompt | llm | StrOutputParser()

# Execute the hybrid chain
output = graphrag_qa_chain.____({"question": "Does Sampson bite his thumb at Gregory?"})
print(output)
Modifica ed esegui il codice