El último eslabón de la cadena
Con la cadena de texto a Cypher del Capítulo 1 y el recuperador vectorial de este capítulo, ya tienes los componentes para crear una cadena que ofrezca múltiples vías —tanto vectores como nodos y relaciones— para acceder a la información de tu grafo de conocimiento.
Las variables text_to_cypher_chain y line_retriever (el recuperador vectorial de Neo4j) están disponibles para que las uses, junto con un prompt de preguntas y respuestas para recuperación híbrida, graphrag_qa_prompt.
Este ejercicio forma parte del curso
Graph RAG con LangChain y Neo4j
Instrucciones del ejercicio
- Pasa la clave
"question"al recuperador vectorial (line_retriever) para obtener resultados relevantes mediante búsqueda vectorial. - Extrae la consulta del objeto
graphpara ejecutar la instrucción Cypher generada portext_to_cypher_chain. - Ejecuta
graphrag_qa_chaincon la entrada proporcionada.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
graphrag_qa_chain = RunnablePassthrough.assign(
# Pass the "question" key to the retriever
vectors = RunnableLambda(lambda x: line_retriever.invoke(____)),
# Execute the generated Cypher statement
records = text_to_cypher_chain | graph.____
) | graphrag_qa_prompt | llm | StrOutputParser()
# Execute the hybrid chain
output = graphrag_qa_chain.____({"question": "Does Sampson bite his thumb at Gregory?"})
print(output)