Multimodal RAG
テキスト、画像、ビデオを処理するマルチモーダル RAG を探ります。より正確でコンテキストを認識した応答のために、Ultralytics YOLO26 がどのように AI 検索パイプラインを強化するかを学びましょう。
マルチモーダル検索拡張生成(Multimodal RAG)は、従来のRAGシステムを拡張し、テキスト、画像、動画、音声などの多様なデータ型を処理・推論する高度な人工知能 (AI)フレームワークです。標準的な検索拡張生成 (RAG)は、関連するテキストドキュメントを検索することで大規模言語モデル (LLM)の精度を向上させますが、マルチモーダルRAGはマルチメディアナレッジベースからコンテキストを検索することで、モデルが「見」て「聞く」ことを可能にします。このアプローチにより、モデルの生成は具体的な視覚的または聴覚的証拠に基づいたものとなり、LLMにおけるハルシネーションを大幅に軽減し、プライベートデータセットに対する視覚的質疑応答のような複雑なタスクを実現します。マルチモーダル学習を活用することで、これらのシステムはユーザーのクエリ(例:テキスト)と検索された資産(例:図や監視フレーム)から情報を合成し、包括的でコンテキストを理解した回答を生成できます。
Link to this sectionマルチモーダルRAGの仕組み#
マルチモーダルRAGシステムのアーキテクチャは、通常、標準的な「検索してから生成する(Retrieve-then-Generate)」パイプラインを模していますが、非テキストデータ向けに適合されています。このプロセスは、ベクトルデータベースと共有セマンティック空間に大きく依存しています。
-
インデックス作成: PDF、動画、スライドデッキなどのさまざまなソースからのデータが処理されます。特徴抽出モデルは、これらの異なるモダリティを埋め込みとして知られる高次元の数値ベクトルに変換します。例えば、OpenAIのCLIPのようなモデルは、犬の画像と「犬」という単語が数学的に近くなるように、画像とテキストの埋め込みを調整します。
-
検索: ユーザーが質問(例:「この回路基板の欠陥を見せて」)を投げると、システムはベクトルデータベース全体でセマンティック検索を実行し、クエリの意図に最も一致する画像やビデオクリップを見つけます。
-
生成: 検索された視覚的コンテキストは、Vision-Language Model (VLM)に入力されます。VLMは、ユーザーのテキストプロンプトと検索された画像特徴の両方を処理して最終的な回答を生成し、データと効果的に「対話」します。
Link to this section実社会での応用#
マルチモーダルRAGは、AIエージェントが視覚データを介して物理世界と対話できるようにすることで、産業を変革しています。
- 産業メンテナンスと製造: 製造におけるAIでは、技術者は故障した機械部品の写真をシステムに送信して問い合わせることができます。マルチモーダルRAGシステムは、類似の過去のメンテナンスログ、技術図面、ビデオチュートリアルを検索して修理プロセスをガイドします。これによりダウンタイムが削減され、専門知識が広く共有されます。
- 小売およびEコマースの発見: 小売におけるAIを使用するアプリケーションでは、顧客が気に入った服の画像をアップロードできます。システムは現在の在庫から視覚的に類似したアイテムを検索し、スタイリングのアドバイスや製品比較を生成することで、非常にパーソナライズされたショッピング体験を生み出します。
Link to this section関連用語の区別#
マルチモーダルRAGの特定のニッチを理解するために、関連する概念と区別することが役立ちます。
- マルチモーダルRAGとマルチモーダルモデルの違い: マルチモーダルモデル(GPT-4oやGeminiなど)は応答を作成します。マルチモーダルRAGは、そのモデルが学習していない外部のプライベートデータ(画像、ドキュメントなど)をモデルに供給するためのアーキテクチャです。モデルがエンジンであれば、RAGは燃料供給ラインです。
- マルチモーダルRAGとファインチューニングの違い: ファインチューニングは、新しいタスクやスタイルを学習するためにモデルの重みを恒久的に更新します。RAGは、推論時に一時的な知識を提供します。頻繁な再学習が実用的ではない動的なデータ(例:毎日の在庫情報)にはRAGが推奨されます。
Link to this sectionUltralyticsによる実装#
開発者は、Ultralytics YOLOを使用してマルチモーダルRAGパイプラインの検索コンポーネントを構築できます。画像内のオブジェクトを検出し分類することで、YOLOはテキストベースの検索のためにインデックス化したり、VLMのために適切な画像領域を切り出したりできる構造化されたメタデータを提供します。Ultralytics Platformは、特定のドメインに不可欠なカスタムオブジェクトを認識するようにこれらの専門的な視覚モデルをトレーニングすることを簡素化します。
以下の例は、YOLO26を使用して画像から視覚的コンテキスト(検出されたオブジェクト)を抽出し、それをRAGワークフローの一部としてLLMに渡す方法を示しています。
from ultralytics import YOLO
# Load the YOLO26 model (smaller, faster, and more accurate)
model = YOLO("yolo26n.pt")
# Run inference on an image to 'retrieve' visual content
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detected class names to form a text context
detected_objects = results[0].boxes.cls.tolist()
object_names = [model.names[int(cls)] for cls in detected_objects]
print(f"Retrieved Context: Image contains {', '.join(object_names)}")
# Output: Retrieved Context: Image contains bus, person, person, personLink to this section詳細な読み物とリソース#
- LangChainドキュメント: マルチモーダルサポートを含む、検索パイプライン構築の包括的なガイド。
- LlamaIndexマルチモーダルガイド: LLM向けの複雑なデータ型のインデックス作成と検索に関する詳細なドキュメント。
- Google Cloud Vertex AI Search: スケーラブルなRAGアプリケーションを構築するためのエンタープライズグレードのベクトル検索機能。
- Ultralyticsソリューション: コンピュータビジョンがさまざまな業界のより広範なAIシステムとどのように統合されるかをご覧ください。






