CommencezCommencez gratuitement

Chaîne de repérage Text-to-Cypher

Vous avez maintenant une chaîne capable de convertir le 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 l'information récupérée.

Cette activité fait partie du cours

Graph RAG avec LangChain et Neo4j

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.
  • Faites passer l'entrée telle quelle à la variable "question" sans la modifier.

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