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
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. - 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)