Catena di recupero Text-to-Cypher
Ora hai una chain in grado di convertire il linguaggio naturale in un'istruzione Cypher. Usiamola in una chain più ampia per eseguire questo Cypher generato dall'LLM e rispondere alle domande dell'utente con le informazioni recuperate.
Questo esercizio fa parte del corso
Graph RAG con LangChain e Neo4j
Istruzioni dell'esercizio
- Aggiorna il codice per eseguire l'istruzione Cypher generata da
text_to_cypher_chaine assegnarla alla variabile "context" usata inQA_PROMPT. - Fai passare l'input invariato nella variabile "question".
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)