Inizia subitoInizia gratis

Creare una chain text-to-Cypher

Hai già scritto query Cypher a mano, quindi proviamo a usare gli LLM per generarle! Creare una query Cypher a partire da una richiesta dell’utente in linguaggio naturale è un passaggio chiave in un flusso di lavoro Graph RAG text-to-Cypher.

Stai lavorando con lo stesso database dell’esercizio precedente, che contiene nodi che rappresentano persone, aziende e relazioni WORKS_FOR, disponibile come graph.

Questo esercizio fa parte del corso

Graph RAG con LangChain e Neo4j

Visualizza corso

Istruzioni dell'esercizio

  • Aggiorna il dizionario partial_variables per inserire lo schema del grafo nel prompt.
  • Crea la chain text-to-Cypher usando prompt, llm e il parsing in una stringa.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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)
Modifica ed esegui il codice