Kom igångKom igång gratis

Text-till-Cypher-hämtningskedja

Du har nu en kedja som kan konvertera naturligt språk till en Cypher-sats. Nu ska vi använda den i en större kedja för att köra den LLM-genererade Cypher-koden och besvara användarfrågor med den hämtade informationen.

Den här övningen är en del av kursen

Graph RAG med LangChain och Neo4j

Visa kurs

Övningsinstruktioner

  • Uppdatera koden så att Cypher-satsen som genereras av text_to_cypher_chain körs, och tilldela resultatet till variabeln "context" som används i QA_PROMPT.
  • Skicka indata till variabeln "question" vidare oförändrad.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod