「VARAG」を試す
GitHubレポジトリ
👁️👁️ VARAG
視覚拡張検索と生成
VARAG(Vision-Augmented Retrieval and Generation)は、視覚を重視したRAGエンジンであり、視覚に基づく検索技術に重点を置いている。視覚言語モデルを通じて視覚データとテキストデータの両方を統合することで、従来のRAG(Retrieval-Augmented Generation)システムを強化する。
サポートされている検索技術
VARAGは、テキスト、画像、マルチモーダル文書検索など、さまざまなユースケースに最適化された幅広い検索技術をサポートしている。以下は、サポートされている主な技術である。
シンプルRAG(OCR)
シンプルRAG(検索強化型生成)は、文書からテキストを抽出し、それを検索パイプラインに投入する効率的かつシンプルなアプローチである。VARAGはDoclingによる光学式文字認識(OCR)を組み込んでおり、スキャンしたPDFや画像の処理とインデックス作成が可能である。テキストが抽出されインデックス化された後、クエリはドキュメント内の関連する箇所と照合され、抽出された情報に基づく応答を生成するための強固な基盤が提供される。この技術は、スキャンした書籍、契約書、研究論文など、テキスト量の多いドキュメントに最適であり、大規模言語モデル(LLM)と組み合わせることで、文脈を理解した出力を生成することができる。
ビジョンRAG
ビジョンRAGは、視覚情報の検索を取り入れることで、従来のRAG技術を拡張し、テキストと画像のギャップを埋める。JinaAIが開発したCLIPの変種であるJinaCLIPのような強力なクロスモーダル埋め込みモデルを使用することで、テキストと画像の両方が共有ベクトル空間にエンコードされる。これにより、異なるモダリティ間の類似性検索が可能になり、つまり、画像をテキストと一緒にクエリとして使用できる。Vision RAGは、視覚的な要素(図、ダイアグラム、画像など)がテキストコンテンツと同様に重要な文書分析タスクに特に有用である。また、画像の説明や製品説明の生成など、テキストと視覚的要素の理解と関連付けが重要なタスクにも有効である。
ColPali RAG
ColPali RAGは、従来の検索パイプラインを簡素化する最先端のアプローチであり、ドキュメントページをテキストに変換するのではなく、画像として直接埋め込む。この手法では、Googleチューリッヒチームのビジョン言語モデル(VLM)であるPaliGemmaを活用している。PaliGemmaは、ドキュメントページ全体をベクトル埋め込みにエンコードし、ページレイアウトや視覚要素を検索プロセスの一部として扱う。ColBERT(Column BERT)から着想を得た後期インタラクションメカニズムを使用することで、ColPali RAGは、ユーザーのクエリとドキュメントパッチ間のトークンレベルのマッチングを可能にし、検索を強化する。このアプローチは、高い検索精度を確保しながら、妥当なインデックス作成とクエリ速度も維持する。このアプローチは、インフォグラフィック、表、複雑なレイアウトなど、視覚的な要素が豊富なドキュメントに特に有効である。従来のテキストベースの検索方法では困難であった。
ハイブリッドColPali RAG
ハイブリッドColPali RAGは、画像埋め込みとColPaliの遅延インタラクションメカニズムの双方の長所を組み合わせることで、検索性能をさらに向上させる。このアプローチでは、まずシステムが画像埋め込み(JinaCLIPのようなモデルから)を使用して大まかな検索ステップを実行し、関連性の高いドキュメントページのトップk件を検索する。次に、2回目の処理で、システムはColPaliの遅延インタラクションメカニズムを使用して、これらのkページを再ランク付けし、視覚的およびテキスト情報の両方に基づいて、最も関連性の高いページの最終的なセットを特定する。このハイブリッドアプローチは、文書が複雑な視覚情報と詳細なテキストの混合物を含有する場合に特に有用であり、システムが両方のコンテンツタイプを活用して、非常に正確な文書検索を可能にする。
なぜここまで抽象化するのか?
私は当初、さまざまなビジョンベースのRAG(検索拡張生成)システムを迅速にテストおよび評価し、私のユースケースに最も適したものを決定しようとしていた。フレームワークやライブラリを作成しようとしていたわけではないが、自然にそのようなものへと発展していった。
抽象化は、コンポーネント間の互換性を複雑にすることなく、異なるRAGパラダイムの実験プロセスを簡素化するように設計されている。わかりやすくするために、ベクトルストアには使いやすさと高いカスタマイズ性からLanceDBが選ばれた。
このパラダイムは、Answer.aiによるByaldiリポジトリから着想を得たものである。