Zacznij terazZacznij za darmo

Ostatnie ogniwo łańcucha

Mając do dyspozycji łańcuch text-to-cypher z rozdziału 1 i wektorowy retriever z wcześniejszej części tego rozdziału, możesz teraz złożyć łańcuch, który umożliwia dostęp do informacji w grafie wiedzy na dwa sposoby—zarówno przez wektory, jak i przez węzły i relacje.

Zmienne text_to_cypher_chain i line_retriever (wektorowy retriever Neo4j) są już dostępne, podobnie jak prompt do odpowiadania na pytania w trybie hybrydowego pobierania, graphrag_qa_prompt.

To ćwiczenie jest częścią kursu

Graph RAG z LangChain i Neo4j

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekaż klucz "question" do wektorowego retrievera (line_retriever), aby uzyskać trafne wyniki za pomocą wyszukiwania wektorowego.
  • Pobierz zapytanie z obiektu graph, aby wykonać instrukcję Cypher wygenerowaną przez text_to_cypher_chain.
  • Uruchom graphrag_qa_chain na przekazanych danych wejściowych.

Interaktywne ćwiczenie praktyczne

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

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