LoslegenKostenlos starten

Eine Text-zu-Cypher-Chain erstellen

Du hast bereits eigene Cypher-Abfragen geschrieben – probieren wir jetzt aus, sie mit LLMs zu erzeugen! Das Generieren einer Cypher-Abfrage aus einer Benutzeranfrage in natürlicher Sprache ist ein zentraler Teil eines Text-zu-Cypher-Graph-RAG-Workflows.

Du arbeitest mit derselben Datenbank wie in der vorherigen Übung. Sie enthält Knoten, die Personen und Unternehmen repräsentieren, sowie WORKS_FOR-Beziehungen und ist als graph verfügbar.

Diese Übung ist Teil des Kurses

<Kurs>Graph RAG mit LangChain und Neo4j</Kurs>
Kurs ansehen

Übungsanweisungen

  • Aktualisiere das Dictionary partial_variables, um das Graph-Schema in den Prompt einzufügen.
  • Erstelle die Text-zu-Cypher-Chain mit prompt, llm und dem Parsen zu einem String.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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 bearbeiten und ausführen