EmpezarEmpieza gratis

Crear una cadena de text-to-Cypher

Ya has escrito tus propias consultas Cypher, ¡así que probemos a usar LLMs para generarlas! Generar una consulta Cypher a partir de una consulta del usuario en lenguaje natural es una parte clave de un flujo de trabajo de Graph RAG de text-to-Cypher.

Estás trabajando con la misma base de datos que en el ejercicio anterior, que contiene nodos que representan personas, empresas y relaciones WORKS_FOR, disponible como graph.

Este ejercicio forma parte del curso

Graph RAG con LangChain y Neo4j

Ver curso

Instrucciones del ejercicio

  • Actualiza el diccionario partial_variables para insertar el esquema del grafo en el prompt.
  • Crea la cadena de text-to-Cypher usando prompt, llm y el parseo a una cadena.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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)
Editar y ejecutar código