Rantai pengambilan Text-to-Cypher
Sekarang Anda memiliki sebuah chain yang mampu mengonversi bahasa alami menjadi pernyataan Cypher. Mari gunakan ini dalam chain yang lebih besar untuk mengeksekusi Cypher yang dihasilkan LLM dan menjawab pertanyaan pengguna dengan informasi yang diambil.
Latihan ini merupakan bagian dari kursus
Graph RAG dengan LangChain dan Neo4j
Instruksi latihan
- Perbarui kode untuk mengeksekusi pernyataan Cypher yang dihasilkan oleh
text_to_cypher_chaindan menetapkannya ke variabel"context"yang digunakan dalamQA_PROMPT. - Teruskan input ke variabel
"question"tanpa perubahan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)