ÎncepețiÎncepe gratuit

Construirea unui lanț text-to-Cypher

Ai scris propriile interogări Cypher, așa că hai să vedem cum le poate genera un LLM! Generarea unei interogări Cypher pornind de la o întrebare în limbaj natural este o etapă esențială într-un flux Graph RAG de tip text-to-Cypher.

Lucrezi cu aceeași bază de date ca în exercițiul anterior, care conține noduri ce reprezintă persoane, companii și relații WORKS_FOR, disponibilă ca graph.

Acest exercițiu face parte din cursul

Graph RAG cu LangChain și Neo4j

Vezi cursul

Instrucțiuni pentru exercițiu

  • Actualizează dicționarul partial_variables pentru a insera schema grafului în prompt.
  • Creează lanțul text-to-Cypher folosind prompt, llm și parsarea la un string.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul