Validating Cypher queries
When the LLMs generate the Cypher query, they have the graph schema available for reference; however, this doesn't mean there's absolute certainty that the query will reflect the schema perfectly. To improve reliability, you can validate and fix the generated query against the schema, which is particularly well-suited to fixing incorrect relationship directions.
This exercise is part of the course
Retrieval Augmented Generation (RAG) with LangChain
Exercise instructions
- Create a graph QA chain that queries the
graph
database, including an additional check to validate the generated Cypher query; anllm
has been defined for you and you should setverbose=True
. - Invoke the
graph_qa_chain
with the input provided.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Create the graph QA chain, validating the generated Cypher query
graph_qa_chain = ____
# Invoke the chain with the input provided
result = ____({"query": "Who won the Nobel Prize In Physics?"})
print(f"Final answer: {result['result']}")