Le dernier maillon de la chaîne
Avec la chaîne text-to-cypher du chapitre 1 et le récupérateur vectoriel vu plus tôt dans ce chapitre, vous disposez désormais des éléments pour créer une chaîne qui offre plusieurs voies — à la fois par vecteurs et par nœuds et relations — pour accéder aux informations de votre graphe de connaissances.
Les variables text_to_cypher_chain et line_retriever (le récupérateur vectoriel Neo4j) sont à votre disposition, ainsi qu’un prompt de questions-réponses pour la récupération hybride, graphrag_qa_prompt.
Cet exercice fait partie du cours
<cours>Graph RAG avec LangChain et Neo4j</cours>Instructions de l’exercice
- Passez la clé
"question"au récupérateur vectoriel (line_retriever) pour obtenir des résultats pertinents via la recherche vectorielle. - Récupérez la requête à partir de l’objet
graphpour exécuter l’instruction Cypher générée partext_to_cypher_chain. - Exécutez
graphrag_qa_chainsur l’entrée fournie.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)