始める無料で始める

絞り込みを使ったGraph RAG

大規模で複雑なグラフの場合、LLMがCypherクエリを構築する際に、最も関連性の高いノードやリレーションシップを正確に推測できないことがあります。実際には、LLMにグラフの一部だけを認識させれば十分なケースが多く、特定のノードタイプを除外することで、LLMが正確にCypherクエリを作成しやすくなるだけでなく、クエリのレスポンス時間の改善にもつながります。

これまで使用してきたグラフデータベースはgraphとして利用できます。

この演習はコースの一部です

LangChainで学ぶ検索拡張生成(RAG)

コースを見る

演習の手順

  • "Concept"タイプのノードを除外してgraphデータベースにクエリを実行するGraphQAChainを作成してください。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']}")
コードを編集して実行