O elo final da cadeia
Com a cadeia de text-to-cypher do Capítulo 1 e o recuperador vetorial deste capítulo, você agora tem os componentes para criar uma cadeia que oferece múltiplas formas — tanto vetores quanto nós e relacionamentos — de acessar as informações no seu knowledge graph.
As variáveis text_to_cypher_chain e line_retriever (o recuperador vetorial do Neo4j) estão disponíveis para você usar, junto com um prompt de perguntas e respostas para recuperação híbrida, graphrag_qa_prompt.
Este exercicio faz parte do curso
Graph RAG com LangChain e Neo4j
Instruções do exercicio
- Passe a chave
"question"para o recuperador vetorial (line_retriever) para obter resultados relevantes usando busca vetorial. - Extraia a consulta do objeto
graphpara executar a instrução Cypher gerada portext_to_cypher_chain. - Execute
graphrag_qa_chainna entrada fornecida.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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)