LangChain、表・テキスト・画像対応のマルチベクトル RAG リトリーバーを発表
本文の状態
日本語全文を表示中
詳細モードで約7分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
LangChain Blog
LangChain は、LLM の知識獲得手法である RAG(検索拡張生成)の課題である半構造化データや画像を含む多様なデータタイプへの適用を可能にする「Multi-Vector Retriever」技術を発表した。
AI深層分析を開く2026年8月26日 03:39
AI深層分析
キーポイント
RAG の新たなアプローチ
LLM は重み更新(ファインチューニング)と RAG の二つの方法で情報を取得するが、後者は事実の想起に特に有効である。
多様なデータタイプへの対応
従来の RAG が苦手としていた、半構造化データ(表を含むテキスト)や画像など複数のモダリティを持つ文書への適用が課題となっていた。
Multi-Vector Retriever の登場
LangChain はこの課題を解決するため、多様なデータタイプに対応可能な新しい検索手法「Multi-Vector Retriever」を発表した。
Multi-Vector Retrieverの基本概念
この手法は、回答合成に使用するドキュメントと検索用の参照情報を分離するアイデアに基づいている。これにより、ベクトル検索用に最適化された要約を作成しつつ、LLMには完全な文書を渡して情報の欠落を防ぐことができる。
多様なデータ形式への適用
このアプローチは生テキストだけでなく、表や画像を含むRAGにも一般的に適用可能であることが示されている。
重要な引用
LLMs can acquire new information in at least two ways: (1) weight updates (e.g., fine-tuning) and (2) RAG (retrieval augmented generation), which passes relevant context to the LLM via prompt.
RAG has particular promise for factual recall because it marries the reasoning capability of LLMs with the content of external data sources, which is particularly powerful for enterprise data.
decouple documents, which we want to use for answer synthesis, from a reference, which we want to use for retriever
this approach useful beyond raw text, and can be applied generally to either tables or images to support RAG
編集コメントを表示
編集コメント
LangChain が提案する Multi-Vector Retriever は、実務で頻出する複雑なデータ形式を扱う RAG の現実的な解決策として注目される。しかし、この技術が既存のエンタープライズ環境でどの程度即座に適用可能かは、具体的な導入事例やベンチマーク結果の蓄積によってさらに検証が必要である。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
コンテキスト
LLM は、少なくとも 2 つの手段で新しい情報を取得できます。1 つ目は重みの更新(例:ファインチューニング)です。2 つ目は RAG(Retrieval Augmented Generation: 検索拡張生成)で、関連するコンテキストをプロンプトを通じて LLM に渡す手法です。
RAG は、事実の想起において特に有望視されています [1][2][3]。その理由は、LLM の推論能力と外部データソースの内容を結びつける点にあります。このアプローチは、エンタープライズデータの処理において非常に強力な効果を発揮します。

多様なデータタイプへの RAG の適用
しかし、構造化された表と非構造化テキストが混在する半構造化データや画像といった複数のモダリティを含むドキュメントに対する RAG は、依然として課題となっていました。いくつかの 多モーダル モデル が登場した今、モダリティや半構造化データにまたがる RAG を可能にする統合的な戦略を検討する価値があります。
マルチベクター・リトリーバー
昨年 8 月、私たちは マルチベクター・リトリーバー を公開しました。これは RAG に対するシンプルかつ強力なアイデアを用いたものです。回答合成に使用するドキュメントと、検索に使用する参照情報を分離するのです。
具体的な例を挙げると、冗長な文書に対してベクトルベースの類似度検索に適した要約を作成しつつ、回答合成時にコンテキストが失われないよう完全な文書を LLM に渡すことができます。ここでは、このアプローチが生テキストだけでなく、表や画像にも一般化して適用可能であり、RAG を支援できることを示します。

ドキュメントの読み込み
もちろん、このアプローチを実現するにはまず、ドキュメントをその構成要素ごとに分割する機能が必要です。Unstructured は、PDF や画像など多様なファイル形式から表や画像、テキストといった要素を抽出できる優れた ELT ツールであり、この目的に非常に適しています。
具体的には、Unstructured はまず PDF ファイル内の埋め込み画像ブロックをすべて除去した上で、レイアウトモデル(YOLOX)を用いて表のバウンディングボックスや titles(ドキュメント内の候補となる小見出し。例:「序論」など)を取得します。その後、各 title の下に位置するテキストを統合する後処理を行い、ユーザーが設定したフラグ(最小チャンクサイズなど)に基づいてさらに細かくテキストブロックに分割し、下流の処理へと渡します。
半構造化データ
構造化されていないファイルの解析とマルチベクトル検索を組み合わせることで、単純なチャンキング戦略では扱いにくい半構造化データに対する RAG(Retrieval-Augmented Generation)を実現できます。例えば、テーブルが破綻してしまうようなケースでも対応可能です。
ここでは、表要素に対して要約文を生成し、自然言語による検索に適した形式に変換しています。ユーザーの質問と意味的な類似度が高い表の要約が取得された場合、その元の表データは上記の手順に従って LLM に渡され、回答の合成に利用されます。
詳細な手順については、以下のクックブックや図を参照してください。
- 半構造化 RAG のためのクックブック:Semi_Structured_RAG.ipynb

マルチモーダルデータへの対応
さらに一歩進んで、画像の扱いも検討できます。これは、GPT4-V やオープンソースモデルである LLaVA、Fuyu-8b といったマルチモーダル LLM の登場により、急速に実現可能になりつつあります。
この問題へのアプローチには少なくとも3つの方法があり、いずれも上記で説明した「マルチベクトル検索」のフレームワークを活用します。
オプション 1:
多モーダル埋め込み(CLIP など)を活用し、画像とテキストを統合して埋め込みます。類似度検索で取得するか、ドキュメントストアにリンクする形で画像を保持します。その後、生画像とテキストチャンクを多モーダル LLM に渡して合成を行います。
オプション 2:
多モーダル LLM(GPT4-V、LLaVA、または FUYU-8b など)を用いて画像からテキスト要約を生成します。その要約をテキスト埋め込みモデルで埋め込み、検索対象とします。回答合成には LLM を使用し、ドキュメントストアからは生テキストチャンクや表を参照します。この場合、多モーダル LLM で合成を行うことが現実的でないため、画像はドキュメントストアから除外されます。
オプション 3:
多モーダル LLM(GPT4-V、LLaVA、または FUYU-8b など)を用いて画像からテキスト要約を生成します。画像の要約を埋め込み、生画像への参照を含めて検索対象とします(オプション 1 と同様)。その後、生画像とテキストチャンクを多モーダル LLM に渡して回答合成を行います。この方法は、多モーダル埋め込みを利用したくない場合に適しています。 (原文の技術表記: Option 1:、Option 2:、Option 3:)

7b パラメータの LLaVA モデル 7b parameter LLaVA model(重みはこちら)を用いて、option 2 の画像要約生成を試みました。LLaVA は最近 llama.cpp に追加され、一般的なノートパソコンでも動作可能になりました(Mac M2 Max, 32GB で約 45 トークン/秒)。これにより、妥当な画像要約の生成が可能となりました。例えば、以下の画像ではユーモアを捉えています:The image features a close-up of a tray filled with various pieces of fried chicken. The chicken pieces are arranged in a way that resembles a map of the world, with some pieces placed in the shape of continents and others as countries. The arrangement of the chicken pieces creates a visually appealing and playful representation of the world.

これらは、テーブルやテキストの要約とともに、マルチベクトル・リトリーバー(multi-vector retriever)に格納されます。
多モーダル(テキスト・テーブル・画像)RAG のためのクックブック
https://github.com/langchain-ai/langchain/blob/master/cookbook/Semi_structured_and_multi_modal_RAG.ipynb?ref=blog.langchain.com
データプライバシーが懸念される場合、この RAG パイプラインは、一般的なラップトップ上でオープンソースコンポーネントをローカル環境で実行可能です。画像要約には LLaVA 7b を、ベクトルストアには Chroma を使用します。埋め込みモデルにはオープンソースの Nomic's GPT4All を選び、回答生成には Ollama.ai を経由した LLaMA2-13b-chat を利用します。また、multi-vector retriever も組み合わせて活用できます。
プライベートな多モーダル(テキスト・テーブル・画像)RAG のためのクックブック
https://github.com/langchain-ai/langchain/blob/master/cookbook/Semi_structured_multi_modal_RAG_LLaMA2.ipynb?ref=blog.langchain.com
結論
本稿では、マルチベクトル検索器が半構造化データに対する RAG(Retrieval-Augmented Generation)の支援だけでなく、マルチモーダルデータを組み合わせた半構造化 RAG にも活用できることを示しました。さらに、オープンソースのコンポーネントのみを用いて、このフルパイプラインを一般消費者向けのノート PC でローカル環境で実行可能であることも実証しています。
最後に、マルチベクトル検索器の概念を活用したマルチモーダル RAG のための 3 つの一般的なアプローチを紹介し、これらを今後のクックブックにおける機能として提案します。
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み