AIパーソナル・ラーニング
と実践的なガイダンス

AIエンジニアリング・アカデミー:2.3BM25 RAG(検索拡張世代)

簡単

BM25 BM25 RAG (Retrieval Enhanced Generation) は、情報検索のためのBM25 (Best Matching 25) アルゴリズムと、テキスト生成のための大規模な言語モデルを組み合わせた高度な手法である。検証済みの確率的検索モデルを使用することで、この手法は生成された回答の精度と関連性を向上させます。

 

BM25 RAGワークフロー


 

クイックスタート

ノート

このコードベースで提供されているJupyterノートブックを実行して、BM25 RAGを詳しく調べることができます。https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_BM25_RAG

チャットアプリケーション

  1. 依存関係をインストールします:
    pip install -r requirements.txt
    
  2. アプリケーションを実行する:
    python app.py
    
  3. データの動的取り込み:
    python app.py --ingest --data_dir /path/to/documents
    

サーバ

サーバーを動かす:

python server.py

サーバーには2つのエンドポイントがある:

  • /api/ingest新しい文書を取り込む
  • /api/クエリーお問い合わせ:BM25 ラグ システム

 

BM25 RAGの主な特徴

  1. 確率的探索BM25は文書のランク付けに確率モデルを使用し、検索に理論的な根拠を提供する。
  2. ワード周波数飽和:: BM25は、重複語の限界利益の減少を考慮し、検索品質を向上させる。
  3. 文書の長さの正規化このアルゴリズムは文書の長さを考慮し、長い文書への偏りを減らす。
  4. 文脈的関連性検索された情報に基づいて回答を生成することで、BM25 RAGはより正確で適切な回答を提供します。
  5. スケーラビリティBM25検索ステップは、大規模な文書集合を効率的に処理する。

 

BM25 RAGの利点

  1. 精度の向上確率的検索とニューラル・テキスト生成の長所を組み合わせる。
  2. 解釈可能性BM25のスコアリングメカニズムは、密なベクトル検索法よりも解釈しやすい。
  3. ロングテールクエリへの対応特定の情報や希少な情報を必要とするクエリに優れています。
  4. 埋め込み不要ベクトルベースのRAGとは異なり、BM25は文書の埋め込みを必要としないため、計算オーバーヘッドを削減できる。

 

前提条件

  • Python 3.7+
  • Jupyter NotebookまたはJupyterLab(ノートブック実行用)
  • 必要なPythonパッケージ 要件.txt)
  • 選択した言語モデルのAPIキー(例:OpenAIのAPIキー)
AIイージー・ラーニング

AIを始めるための素人ガイド

AIツールの活用方法を、低コスト・ゼロベースから学ぶことができます。AIはオフィスソフトと同様、誰にとっても必須のスキルです。 AIをマスターすれば、就職活動で有利になり、今後の仕事や勉強の労力も半減します。

詳細を見る
無断転載を禁じます:チーフAIシェアリングサークル " AIエンジニアリング・アカデミー:2.3BM25 RAG(検索拡張世代)

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語