EmpezarEmpieza gratis

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

Ver curso

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 graph para ejecutar la instrucción Cypher generada por text_to_cypher_chain.
  • Ejecuta graphrag_qa_chain con 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)
Editar y ejecutar código