CommencerCommencez gratuitement

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>
Voir le 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 graph pour exécuter l’instruction Cypher générée par text_to_cypher_chain.
  • Exécutez graphrag_qa_chain sur 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)
Modifier et exécuter le code