始める無料で始める

BM25を理解する

RAGアーキテクチャにBM25のスパース・リトリーバーを組み込む前に、短い文字列でテストして、リトリーバーがどのようにドキュメントを選択するかの直感をつかんでおくとよいです。

BM25リトリーバーの基礎として使う3つの文字列が用意されています。本演習で必要な機能はすでに読み込まれています。

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

LangChain で学ぶ Retrieval Augmented Generation (RAG)

コースを見る

演習の手順

  • ドキュメントからBM25リトリーバーを初期化し、1回に「3」件のドキュメントを取得するように設定します。
  • 与えられたクエリでリトリーバーを実行します。
  • 最初の結果のページ内容を出力します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

chunks = [
    "RAG stands for Retrieval Augmented Generation.",
    "Graph Retrieval Augmented Generation uses graphs to store and utilize relationships between documents in the retrieval process.",
    "There are different types of RAG architectures; for example, Graph RAG."
]

# Initialize the BM25 retriever
bm25_retriever = ____.from_texts(____)

# Invoke the retriever
results = bm25_retriever.____("Graph RAG")

# Extract the page content from the first result
print("Most Relevant Document:")
print(____)
コードを編集して実行