Kom igångKom igång gratis

Den sista länken i kedjan

Med text-till-Cypher-kedjan från kapitel 1 och vektorsökningsmotorn från tidigare i det här kapitlet har du nu alla komponenter för att skapa en kedja som erbjuder flera sätt – både vektorer och noder och relationer – att komma åt informationen i din kunskapsgraf.

Variablerna text_to_cypher_chain och line_retriever (Neo4j-vektorsökningsmotorn) är tillgängliga för dig att använda, tillsammans med en fråga-och-svar-prompt för hybrid-RAG: graphrag_qa_prompt.

Den här övningen är en del av kursen

Graph RAG med LangChain och Neo4j

Visa kurs

Övningsinstruktioner

  • Skicka nyckeln "question" till vektorsökningsmotorn (line_retriever) för att hämta relevanta resultat med vektorsökning.
  • Extrahera frågan från graph-objektet för att köra den Cypher-sats som genereras av text_to_cypher_chain.
  • Kör graphrag_qa_chain på det angivna indata.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod