Zacznij terazZacznij za darmo

Budowanie łańcucha text-to-Cypher

Samodzielnie pisałeś zapytania Cypher, więc teraz sprawdźmy, jak poradzi sobie z tym LLM! Generowanie zapytania Cypher na podstawie pytania użytkownika w języku naturalnym to kluczowy element przepływu pracy Graph RAG opartego na podejściu text-to-Cypher.

Pracujesz z tą samą bazą danych co w poprzednim ćwiczeniu — zawiera ona węzły reprezentujące osoby i firmy oraz relacje WORKS_FOR, dostępne jako graph.

To ćwiczenie jest częścią kursu

Graph RAG z LangChain i Neo4j

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaktualizuj słownik partial_variables, aby wstawić schemat grafu do promptu.
  • Utwórz łańcuch text-to-Cypher, korzystając z prompt, llm i parsowania do postaci ciągu znaków.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod