Cadena de recuperación de Text-to-Cypher
Ahora ya tienes una cadena capaz de convertir lenguaje natural en una sentencia Cypher. Vamos a usarla en una cadena más grande para ejecutar este Cypher generado por el LLM y responder a las preguntas de la persona usuaria con la información recuperada.
Este ejercicio forma parte del curso
Graph RAG con LangChain y Neo4j
Instrucciones del ejercicio
- Actualiza el código para ejecutar la sentencia Cypher generada por
text_to_cypher_chainy asígnala a la variable "context" usada enQA_PROMPT. - Pasa la entrada a la variable "question" sin modificarla.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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)