Zacznij terazZacznij za darmo

Łańcuch pobierania danych text-to-Cypher

Masz już łańcuch, który potrafi przekształcić język naturalny w instrukcję Cypher. Teraz użyjemy go w większym łańcuchu, żeby wykonać wygenerowany przez LLM Cypher i odpowiedzieć na pytania użytkownika na podstawie pobranych informacji.

To ćwiczenie jest częścią kursu

Graph RAG z LangChain i Neo4j

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaktualizuj kod tak, aby wykonywał instrukcję Cypher wygenerowaną przez text_to_cypher_chain, i przypisz wynik do zmiennej "context" używanej w QA_PROMPT.
  • Przekaż dane wejściowe do zmiennej "question" bez zmian.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod