Lanț de recuperare Text-to-Cypher
Acum ai un lanț capabil să convertească limbajul natural într-o instrucțiune Cypher. Hai să îl folosim într-un lanț mai mare pentru a executa acest Cypher generat de LLM și a răspunde la întrebările utilizatorilor cu informațiile recuperate.
Acest exercițiu face parte din cursul
Graph RAG cu LangChain și Neo4j
Instrucțiuni pentru exercițiu
- Actualizează codul pentru a executa instrucțiunea Cypher generată de
text_to_cypher_chainși atribuie rezultatul variabilei"context"folosite înQA_PROMPT. - Transmite datele de intrare către variabila
"question"fără modificări.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
qa_prompt = ChatPromptTemplate.from_messages([
SystemMessagePromptTemplate.from_template(QA_PROMPT),
HumanMessagePromptTemplate.from_template("Question: {question}")
])
qa_chain = {
# Use output of text_to_cypher to get database results
"context": text_to_cypher_chain | ____(lambda cypher: graph.____(cypher)),
# Pass the user input through to the "question" variable
"question": ____
} | qa_prompt | llm | StrOutputParser()
res = qa_chain.invoke({"question": "What companies is Harrison Chase connected to?"})
print(res)