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

Ланцюжок Text-to-Cypher для отримання даних

Тепер у вас є ланцюжок, який уміє перетворювати природну мову на інструкцію Cypher. Використайте його в більшому ланцюжку, щоб виконати згенерований LLM запит Cypher і відповісти на запитання користувача на основі отриманої інформації.

Ця вправа є частиною курсу

Graph RAG з LangChain і Neo4j

Переглянути курс

Інструкції до вправи

  • Оновіть код, щоб виконати інструкцію Cypher, згенеровану text_to_cypher_chain, і присвоїти результат змінній "context", яку використовує QA_PROMPT.
  • Передайте вхідне значення до змінної "question" без змін.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

qa_prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template(QA_PROMPT),
    HumanMessagePromptTemplate.from_template("Question: {question}")
])

qa_chain = {
  	# Use output of text_to_cypher to get database results
    "context": text_to_cypher_chain | ____(lambda cypher: graph.____(cypher)),
    # Pass the user input through to the "question" variable
    "question": ____
} | qa_prompt | llm | StrOutputParser()

res = qa_chain.invoke({"question": "What companies is Harrison Chase connected to?"})
print(res)
Редагувати та запускати код