Bắt đầu ngayBắt đầu miễn phí

Xây dựng chain chuyển văn bản thành Cypher

Bạn đã tự viết các truy vấn Cypher, giờ hãy thử dùng LLM để tạo chúng! Sinh truy vấn Cypher từ câu hỏi tự nhiên của người dùng là một phần then chốt trong quy trình Graph RAG kiểu text-to-Cypher.

Bạn đang làm việc với cùng một cơ sở dữ liệu như bài trước, gồm các node đại diện cho con người, công ty, và các quan hệ WORKS_FOR, có sẵn dưới tên graph.

Bài tập này là một phần của khóa học

Graph RAG với LangChain và Neo4j

Xem khóa học

Hướng dẫn bài tập

  • Cập nhật dictionary partial_variables để chèn lược đồ của đồ thị vào prompt.
  • Tạo chain text-to-Cypher bằng cách dùng prompt, llm, và parse ra chuỗi.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã