CommencerCommencez gratuitement

Chaîne de récupération Text-to-Cypher

Vous disposez maintenant d’une chaîne capable de convertir du langage naturel en une instruction Cypher. Utilisons-la dans une chaîne plus large pour exécuter ce Cypher généré par le LLM et répondre aux questions des utilisateurs avec les informations récupérées.

Cet exercice fait partie du cours

<cours>Graph RAG avec LangChain et Neo4j</cours>
Voir le cours

Instructions de l’exercice

  • Mettez à jour le code pour exécuter l’instruction Cypher générée par text_to_cypher_chain et l’assigner à la variable "context" utilisée dans QA_PROMPT.
  • Transmettez l’entrée à la variable "question" sans modification.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

qa_prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template(QA_PROMPT),
    HumanMessagePromptTemplate.from_template("Question: {question}")
])

qa_chain = {
  	# Use output of text_to_cypher to get database results
    "context": text_to_cypher_chain | ____(lambda cypher: graph.____(cypher)),
    # Pass the user input through to the "question" variable
    "question": ____
} | qa_prompt | llm | StrOutputParser()

res = qa_chain.invoke({"question": "What companies is Harrison Chase connected to?"})
print(res)
Modifier et exécuter le code