Aan de slagBegin gratis

Een text-to-Cypher-chain bouwen

Je hebt je eigen Cypher-queries geschreven, dus laten we nu LLM's gebruiken om ze te genereren! Het genereren van een Cypher-query uit een gebruikersvraag in natuurlijke taal is een cruciaal onderdeel van een text-to-Cypher Graph RAG-workflow.

Je werkt met dezelfde database als in de vorige oefening, met knooppunten die personen en bedrijven voorstellen, en WORKS_FOR-relaties, beschikbaar als graph.

Deze oefening maakt deel uit van de cursus

Graph RAG met LangChain en Neo4j

Bekijk cursus

Oefeninstructies

  • Werk de dictionary partial_variables bij om het graafschema in de prompt te zetten.
  • Maak de text-to-Cypher-chain met behulp van de prompt, llm, en parsing naar een string.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template(""" 
		You are an expert Neo4j developer. Use the following database schema to write a Cypher statement to answer the user's question. Only generate the Cypher statement, no pre-amble. Do not return any Markdown.
	Schema: 
    {schema}
    
	Question: {question}""", 
	# Update the partial_variables dictionary
    partial_variables={"schema": graph.____})
])

# Create the text-to-Cypher chain
text_to_cypher_chain = ____ | ____ | StrOutputParser()
cypher = text_to_cypher_chain.invoke({"question": "Where does Jo Cornelissen work?"})
print(cypher)
Code bewerken en uitvoeren