Comece agoraComece grátis

Criando uma chain de text-to-Cypher

Você já escreveu suas próprias consultas Cypher, então vamos usar LLMs para gerá-las! Gerar uma consulta Cypher a partir de uma pergunta do usuário em linguagem natural é uma parte essencial de um fluxo de trabalho de Graph RAG do tipo text-to-Cypher.

Você está trabalhando com o mesmo banco de dados do exercício anterior, que contém nós representando pessoas, empresas e relacionamentos WORKS_FOR, disponível como graph.

Este exercicio faz parte do curso

Graph RAG com LangChain e Neo4j

Ver curso

Instruções do exercicio

  • Atualize o dicionário partial_variables para inserir o schema do grafo no prompt.
  • Crie a chain de text-to-Cypher usando o prompt, o llm e fazendo o parsing para uma string.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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 e Executar Código