始める無料で始める

BM25 を使ったスパースリトリーバル

スパースリトリーバルを実装してみましょう。RAG に関する学術論文に質問できるよう、BM25 リトリーバーを作成します。論文はすでに chunks というチャンクに分割されています。OpenAI のチャットモデルとプロンプトは、それぞれ llmprompt として定義済みです。コンソールに prompt を出力すると、用意された内容を確認できます。

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

LangChain で学ぶ Retrieval Augmented Generation (RAG)

コースを見る

演習の手順

  • chunks に保存されたドキュメントから BM25 スパースリトリーバーを作成し、検索で 5 件のドキュメントを返すように設定します。
  • 提供された llmprompt に BM25 リトリーバーを統合する LCEL のリトリーバルチェーンを作成します。

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

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

# Create a BM25 retriever from chunks
retriever = ____

# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
         | ____
         | ____
         | StrOutputParser()
)

print(chain.invoke("What are knowledge-intensive tasks?"))
コードを編集して実行