Aan de slagBegin gratis

De laatste schakel in de keten

Met de text-to-cypher-keten uit hoofdstuk 1 en de vector-retriever van eerder in dit hoofdstuk heb je nu de onderdelen om een keten te bouwen die meerdere manieren biedt—zowel vectors als nodes en relationships—om toegang te krijgen tot de informatie in je knowledge graph.

De variabelen text_to_cypher_chain en line_retriever (de Neo4j vector-retriever) zijn beschikbaar om te gebruiken, samen met een vraag-en-antwoordprompt voor hybride retrieval, graphrag_qa_prompt.

Deze oefening maakt deel uit van de cursus

Graph RAG met LangChain en Neo4j

Bekijk cursus

Oefeninstructies

  • Geef de "question"-sleutel door aan de vector-retriever (line_retriever) om relevante resultaten op te halen met vector search.
  • Haal de query uit het graph-object om de Cypher-instructie uit te voeren die is gegenereerd door de text_to_cypher_chain.
  • Voer graphrag_qa_chain uit op de meegegeven input.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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 bewerken en uitvoeren