НачатьНачать бесплатно

Последнее звено в цепочке

Имея цепочку text-to-Cypher из главы 1 и векторный ретривер из предыдущего раздела этой главы, вы располагаете всем необходимым, чтобы создать цепочку с несколькими способами доступа к информации в графе знаний: через векторы, а также через узлы и связи.

Переменные text_to_cypher_chain и line_retriever (векторный ретривер Neo4j) доступны для использования, как и промпт для ответов на вопросы в режиме гибридного поиска — graphrag_qa_prompt.

Это упражнение является частью курса

Graph RAG с LangChain и Neo4j

Посмотреть курс

Инструкции к упражнению

  • Передайте ключ "question" векторному ретриверу (line_retriever), чтобы получить релевантные результаты с помощью векторного поиска.
  • Извлеките запрос из объекта graph, чтобы выполнить запрос Cypher, сгенерированный цепочкой text_to_cypher_chain.
  • Запустите graphrag_qa_chain на переданных входных данных.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
Редактировать и запускать код