LoslegenKostenlos starten

Text-zu-Cypher Retrieval-Chain

Du hast jetzt eine Chain, die natürliche Sprache in eine Cypher-Anweisung umwandeln kann. Verwenden wir sie in einer größeren Chain, um das von der LLM generierte Cypher auszuführen und Benutzerfragen mit den abgerufenen Informationen zu beantworten.

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Aktualisiere den Code, um die vom text_to_cypher_chain generierte Cypher-Anweisung auszuführen und weise das Ergebnis der Variable "context" zu, die in QA_PROMPT verwendet wird.
  • Leite die Eingabe unverändert an die Variable "question" weiter.

Interaktive praktische Übung

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

qa_prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template(QA_PROMPT),
    HumanMessagePromptTemplate.from_template("Question: {question}")
])

qa_chain = {
  	# Use output of text_to_cypher to get database results
    "context": text_to_cypher_chain | ____(lambda cypher: graph.____(cypher)),
    # Pass the user input through to the "question" variable
    "question": ____
} | qa_prompt | llm | StrOutputParser()

res = qa_chain.invoke({"question": "What companies is Harrison Chase connected to?"})
print(res)
Code bearbeiten und ausführen