Cadeia de recuperação Text-to-Cypher
Agora você tem uma cadeia capaz de converter linguagem natural em uma instrução Cypher. Vamos usá-la em uma cadeia maior para executar esse Cypher gerado pelo LLM e responder às perguntas do usuário com as informações recuperadas.
Este exercicio faz parte do curso
Graph RAG com LangChain e Neo4j
Instruções do exercicio
- Atualize o código para executar a instrução Cypher gerada pela
text_to_cypher_chaine atribuí-la à variável"context"usada emQA_PROMPT. - Repassar a entrada para a variável
"question"sem alterações.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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)