フィルタリング付きの Graph RAG
大規模で複雑なグラフでは、LLM が Cypher クエリを構築する際に、最も関連性の高いノードやリレーションシップを正確に推論できないことがあります。多くの場合、LLM はグラフの一部だけを把握していれば十分です。特定のノードタイプを除外すると、LLM が正確に Cypher クエリを作成しやすくなるだけでなく、クエリの待ち時間の短縮にもつながります。
これまで扱ってきたグラフデータベースは graph として利用できます。
この演習はコースの一部です
LangChain で学ぶ Retrieval Augmented Generation (RAG)
演習の手順
"Concept"タイプのノードを無視してgraphデータベースにクエリするグラフ QA チェーンを作成します。llmは定義済みで、verbose=Trueを設定してください。- 提供された入力で
graph_qa_chainを実行します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create the graph QA chain excluding Concept
graph_qa_chain = ____
# Invoke the chain with the input provided
result = ____({"query": "Who was Marie Curie married to?"})
print(f"Final answer: {result['result']}")