始める無料で始める

BM25を使った疎検索

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

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

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

コースを見る

演習の手順

  • chunksに格納されたドキュメントからBM25の疎検索ツールを作成してください。検索時に5件のドキュメントを返すよう設定してください。
  • BM25リトリーバーと、用意されたllmpromptを統合する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?"))
コードを編集して実行