Mắt xích cuối cùng trong chuỗi
Với chuỗi text-to-cypher từ Chương 1 và vector retriever từ phần trước của Chương này, giờ bạn đã có đủ thành phần để tạo một chuỗi cung cấp nhiều cách truy cập thông tin trong knowledge graph của bạn — cả qua vectors lẫn qua nodes và relationships.
Các biến text_to_cypher_chain và line_retriever (Neo4j vector retriever) đã sẵn sàng để bạn sử dụng, cùng với một prompt hỏi-đáp cho hybrid retrieval, graphrag_qa_prompt.
Bài tập này là một phần của khóa học
Graph RAG với LangChain và Neo4j
Hướng dẫn bài tập
- Truyền khóa
"question"vào vector retriever (line_retriever) để lấy kết quả liên quan bằng vector search. - Lấy phương thức truy vấn từ đối tượng
graphđể thực thi câu lệnh Cypher dotext_to_cypher_chainsinh ra. - Chạy
graphrag_qa_chaintrên input đã cung cấp.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)