LoslegenKostenlos starten

Das letzte Glied in der Kette

Mit der Text-zu-Cypher-Chain aus Kapitel 1 und dem Vector Retriever von früher in diesem Kapitel hast du jetzt die Komponenten, um eine Chain zu erstellen, die mehrere Wege bietet – sowohl Vektoren als auch Knoten und Beziehungen –, um auf die Informationen in deinem Knowledge Graph zuzugreifen.

Die Variablen text_to_cypher_chain und line_retriever (der Neo4j Vector Retriever) stehen dir zur Verfügung, zusammen mit einem Question-Answering-Prompt für hybrides Retrieval, graphrag_qa_prompt.

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Übergib den Schlüssel "question" an den Vector Retriever (line_retriever), um mit der Vectorsuche relevante Ergebnisse zu erhalten.
  • Extrahiere die Abfrage aus dem Objekt graph, um die vom text_to_cypher_chain generierte Cypher-Anweisung auszuführen.
  • Führe graphrag_qa_chain auf der gegebenen Eingabe aus.

Interaktive praktische Übung

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

graphrag_qa_chain = RunnablePassthrough.assign(
    # Pass the "question" key to the retriever
    vectors = RunnableLambda(lambda x: line_retriever.invoke(____)),
    # Execute the generated Cypher statement
    records = text_to_cypher_chain | graph.____
) | graphrag_qa_prompt | llm | StrOutputParser()

# Execute the hybrid chain
output = graphrag_qa_chain.____({"question": "Does Sampson bite his thumb at Gregory?"})
print(output)
Code bearbeiten und ausführen