Kom igångKom igång gratis

Bygg en text-till-Cypher-kedja

Du har skrivit egna Cypher-frågor – nu är det dags att låta en LLM generera dem! Att omvandla en användares fråga på naturligt språk till en Cypher-fråga är en central del av ett text-till-Cypher Graph RAG-flöde.

Du arbetar med samma databas som i föregående övning, med noder som representerar personer och företag samt WORKS_FOR-relationer, tillgängliga via graph.

Den här övningen är en del av kursen

Graph RAG med LangChain och Neo4j

Visa kurs

Övningsinstruktioner

  • Uppdatera ordlistan partial_variables så att grafens schema infogas i prompten.
  • Skapa text-till-Cypher-kedjan med hjälp av prompt, llm och parsning till en sträng.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod