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
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ą przeztext_to_cypher_chain. - Uruchom
graphrag_qa_chainna 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)