Retrieval chain pro Text-to-Cypher
Máš k dispozici řetězec, který dokáže převést přirozený jazyk na Cypher příkaz. Teď ho zapoj do většího řetězce, který tento LLM-generovaný Cypher spustí a na základě získaných informací odpoví na otázky uživatele.
Toto cvičení je součástí kurzu
Graph RAG s LangChain a Neo4j
Pokyny k cvičení
- Uprav kód tak, aby spustil Cypher příkaz vygenerovaný řetězcem
text_to_cypher_chain, a výsledek přiřaď do proměnné"context"používané vQA_PROMPT. - Předej vstup do proměnné
"question"beze změny.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)