ПочатиПочніть безкоштовно

Створення ланцюжка text-to-Cypher

Ви вже писали власні запити Cypher, тож спробуймо доручити їх генерацію LLM! Перетворення користувацького запиту природною мовою на запит Cypher — ключовий елемент робочого процесу Graph RAG формату text-to-Cypher.

Ви працюєте з тією самою базою даних, що й у попередній вправі. Вона містить вузли, які представляють людей, компанії, та зв'язки WORKS_FOR. Об'єкт графа доступний як graph.

Ця вправа є частиною курсу

Graph RAG з LangChain і Neo4j

Переглянути курс

Інструкції до вправи

  • Оновіть словник partial_variables, щоб вставити схему графа у підказку (prompt).
  • Створіть ланцюжок text-to-Cypher, використавши prompt, llm і перетворення результату на рядок.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код