ПочатиПочніть безкоштовно

Остання ланка в ланцюгу

Маючи ланцюг перетворення тексту на 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)
Редагувати та запускати код