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>Instructions de l’exercice
- Mettez à jour le code pour exécuter l’instruction Cypher générée par
text_to_cypher_chainet l’assigner à la variable "context" utilisée dansQA_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)