Membangun chain text-to-Cypher
Anda sudah menulis kueri Cypher sendiri, jadi mari coba menggunakan LLM untuk menghasilkannya! Menghasilkan kueri Cypher dari kueri pengguna dalam bahasa alami adalah bagian kunci dari alur kerja Graph RAG text-to-Cypher.
Anda bekerja dengan basis data yang sama seperti pada latihan sebelumnya, yang berisi node yang merepresentasikan orang, perusahaan, dan relasi WORKS_FOR, tersedia sebagai graph.
Latihan ini merupakan bagian dari kursus
Graph RAG dengan LangChain dan Neo4j
Instruksi latihan
- Perbarui kamus
partial_variablesuntuk menyisipkan skema graf ke dalam prompt. - Buat chain text-to-Cypher menggunakan
prompt,llm, dan parsing menjadi string.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
prompt = ChatPromptTemplate.from_messages([
SystemMessagePromptTemplate.from_template("""
You are an expert Neo4j developer. Use the following database schema to write a Cypher statement to answer the user's question. Only generate the Cypher statement, no pre-amble. Do not return any Markdown.
Schema:
{schema}
Question: {question}""",
# Update the partial_variables dictionary
partial_variables={"schema": graph.____})
])
# Create the text-to-Cypher chain
text_to_cypher_chain = ____ | ____ | StrOutputParser()
cypher = text_to_cypher_chain.invoke({"question": "Where does Jo Cornelissen work?"})
print(cypher)