RAGインフラストラクチャ:本番環境向け検索拡張生成システムの構築
2025年12月8日更新
2025年12月アップデート: RAGの導入が加速し、エンタープライズLLMのユースケース第1位に。GraphRAGとエージェント型RAGアーキテクチャが複雑な推論で注目を集めています。ベクトルデータベース市場はPinecone、Weaviate、Milvus、Qdrantに集約されつつあります。Voyage-3-largeがOpenAIおよびCohere埋め込みを9〜20%上回る性能を発揮。セマンティックチャンキングは固定サイズ方式と比較して最大9%のリコール向上を実現。本番環境の課題はプロトタイプからスケールへと移行し、埋め込みドリフト、マルチテナンシー、50ms未満のレイテンシ要件がインフラ投資を牽引しています。
Harvey AIはAm Law 100の法律事務所の97%にサービスを提供し、検索拡張生成を活用して、ハルシネーションによる架空の引用ではなく実際の判例法に基づいたリーガルリサーチを実現しています。¹ Anthropic、OpenAI、Googleはいずれも、大規模言語モデルを企業の独自データに接続するための主要な手法としてRAGを推奨しています。しかし、動作するRAGプロトタイプと本番環境品質のインフラストラクチャとの間には、数ヶ月のエンジニアリング工数に相当するギャップが存在します。ベクトルデータベース、埋め込みパイプライン、チャンキング戦略、検索最適化はそれぞれ異なるインフラ課題を持ち、スケール時にはこれらが複合的に影響します。数百万のドキュメントを処理し、数千の同時ユーザーにサービスを提供し、サブ秒のレイテンシを維持するRAGシステムの構築には、概念実証段階ではほとんど予測できないアーキテクチャ上の決定が必要です。
すべての本番RAGシステムに必要なコアアーキテクチャ
RAGシステムは2つの基本機能を組み合わせます:ナレッジベースから関連コンテキストを検索することと、そのコンテキストに基づいた応答を生成することです。アーキテクチャは5つの異なるコンポーネントに分かれ、それぞれに固有のインフラ要件があります。
ドキュメント取り込みパイプラインは、生のドキュメントから検索可能な埋め込みへのフローを処理します。本番システムはPDF、HTML、Wordドキュメント、Slackメッセージ、データベースレコードを形式固有のパーサーで処理します。取り込みパイプラインはドキュメントのバージョンを追跡し、増分更新を処理し、フィルタリング用のメタデータを維持する必要があります。一般的なエンタープライズ展開では、初期バックフィル時に10万〜1,000万ドキュメントを処理し、日次の増分ロードで1,000〜50,000の新規ドキュメントを処理します。²
チャンキングシステムはドキュメントを検索に適したセグメントに分割します。固定サイズチャンキングはニュース記事のような均質なコンテンツに適していますが、セマンティックチャンキングは複雑なドキュメントの意味境界を保持します。³ ほとんどの本番システムは400〜512トークンで10〜20%のオーバーラップを持つ再帰的チャンキングを使用し、ベンチマークテストで85〜90%のリコールを達成しています。⁴ チャンキング戦略の選択は半永久的なものとなり、後からアプローチを変更するにはコーパス全体の再埋め込みが必要です。
埋め込みインフラストラクチャはテキストチャンクを密なベクトル表現に変換します。組織はマネージドAPI(OpenAI、Cohere、Voyage AI)と自己ホスト型モデルのいずれかを選択します。埋め込み生成はRAGシステムで最も変動するコスト構造を生み出し、モデル選択に応じて100万トークンあたり$0.02〜$0.18の価格帯となります。⁵ バッチ処理は初期ロード時にGPUノード間で埋め込み生成を並列化し、ストリーミングパイプラインは増分更新を処理します。
ベクトルデータベースは近似最近傍アルゴリズムを使用して埋め込みを保存・検索します。4つの主要な選択肢—Pinecone、Weaviate、Milvus、Qdrant—はそれぞれ異なる運用プロファイルに対応しています。Pineconeはゼロ運用のマネージドサービスを提供し、Weaviateはナレッジグラフ機能を備えたハイブリッド検索を提供し、Milvusは数十億スケールの展開を処理し、Qdrantは複雑なメタデータフィルタリングに優れています。⁶ ストレージ要件は埋め込み次元とドキュメント数に応じてスケールし、1024次元埋め込みの1,000万ドキュメントコーパスには約40GBのベクトルストレージが必要です。
検索と生成のオーケストレーションはコンポーネントを統合し、通常はLangChain、LlamaIndex、またはカスタム実装のようなフレームワークを使用します。オーケストレーションはクエリ処理、検索、リランキング、プロンプト構築、応答生成を処理します。本番システムは各段階でキャッシュ層、フォールバック戦略、可観測性計装を実装します。
ベクトルデータベースの選択が運用の複雑さを決定する
ベクトルデータベース市場は2025年12月までに4つの主要プレイヤーに集約され、それぞれが異なる運用プロファイルとユースケースに対応しています。
Pineconeはマネージドサービスセグメントで優位を占め、インフラストラクチャを完全にAPIの背後で処理します。チームは数週間ではなく数時間で本番システムを展開でき、自動スケーリング、マルチリージョンレプリケーション、SOC 2コンプライアンスが含まれています。Pineconeはベクトルごとに最大40KBのメタデータをサポートし、外部システムなしでリッチなフィルタリングを可能にします。トレードオフとして、クエリごとのコストが高く、インフラ最適化の制御が減少します。予測可能なワークロードを実行する組織はPineconeがコスト効率的と感じることが多く、高度に変動するトラフィックや極端なスケール要件を持つ組織は通常代替案に移行します。⁷
WeaviateはWeaviate Cloudを通じてオープンソースの柔軟性とマネージドの利便性を橋渡しします。このシステムはベクトル検索とナレッジグラフ機能を組み合わせ、構造化データでフィルタリングしながらセマンティック類似性でランク付けするハイブリッドクエリを可能にします。Weaviateのモジュラーアーキテクチャは複数の埋め込みモデルを同時にサポートし、異なるアプローチを実験する組織に有用です。DockerとKubernetes展開には適度な運用専門知識が必要で、ある程度のインフラ能力を持つチームにWeaviateは人気があります。⁸
Milvus(およびそのマネージド版Zilliz Cloud)は、パフォーマンスを主要な設計目標として数十億スケールの展開をターゲットにしています。MilvusはGPUアクセラレーションと高度なインデックスアルゴリズムにより、数十億ベクトルインデックスでサブ10msのクエリ時間を達成し、生のレイテンシベンチマークでリードしています。⁹ アーキテクチャはコンピュートとストレージを分離し、各層の独立したスケーリングを可能にします。Milvusの運用には重要なデータエンジニアリング専門知識が必要で、専任のインフラ人員がいないチームはクラスター管理とパフォーマンスチューニングに苦労することがよくあります。
Qdrantは複雑なフィルタリング要件で急速に採用が進みました。Rustで構築されたQdrantは、後処理ではなく検索アルゴリズム内で直接ペイロードフィルタリングを実行し、フィルタ付きクエリで優れたパフォーマンスを提供します。¹⁰ コンパクトなリソースフットプリントにより、Qdrantはコスト重視の展開で人気があり、洗練されたAPI設計は開発速度を加速します。自己ホスト展開は控えめなインフラストラクチャでスムーズに動作しますが、エンタープライズ機能には商用ライセンスが必要です。
選択基準は運用能力を最優先にすべきです。ゼロ運用を必要とするチームはPineconeまたはWeaviate Cloudを選択します。ステートフルなKubernetesワークロードに慣れたSRE能力を持つ組織は、自己ホスト型のMilvus、Qdrant、またはWeaviateからコスト削減と制御を得られます。コンプライアンス要件が選択肢を排除することもあります—PineconeとWeaviate CloudはSOC 2とHIPAAコンプライアンスを提供し、オンプレミス要件には自己ホストソリューションが必要です。
埋め込みモデルの選択はコストと検索品質の両方に影響する
埋め込みモデルはテキストをベクトル表現に変換し、モデル選択は検索精度に直接影響します。2025年12月の状況では、3つの主要な商用オプションといくつかの強力なオープンソース代替案があります。
Voyage AIはMTEBベンチマークでリードしており、voyage-3-largeは評価ドメイン全体でOpenAI text-embedding-3-largeを9.74%、Cohere embed-v3-englishを20.71%上回っています。¹¹ Voyage AIは32Kトークンのコンテキストウィンドウをサポートし(OpenAIの8K、古いCohereモデルの512と比較)、チャンキングなしでより長いドキュメントの処理を可能にします。1024次元の埋め込みは100万トークンあたり$0.06で、OpenAIより2.2倍、Cohereより1.6倍安価でありながら、OpenAIの3072次元埋め込みの3分の1のベクトルストレージで済みます。
OpenAI text-embedding-3-largeは本番展開で最も実績のあるオプションを提供します。このモデルは256から3072までの設定可能な出力次元をサポートし、コストとストレージのトレードオフを可能にします。100万トークンあたり$0.13で、OpenAIは価格スペクトルの中間に位置し、信頼性の高い稼働時間と豊富なドキュメントを提供します。すでにOpenAIの推論APIを使用している組織は、運用のシンプルさのために埋め込みも標準化することがよくあります。
Cohere embed-v4は2025年11月時点で最高のMTEBスコア(65.2)を達成し、汎用埋め込みではなく検索とリトリーバル専用に最適化されています。¹² Cohere埋め込みは2段階検索パイプラインでCohereのリランカーと自然にペアになります。このモデルは100以上の言語をサポートし、強力なクロスリンガルリトリーバルを備えた多言語アプリケーションに優れています。
BGE、E5、GTEモデルを含むオープンソース代替案は、大規模な自己ホスト埋め込みを可能にします。数十億のドキュメントを処理する組織は、トークンごとのコストを排除するために内部GPUインフラストラクチャにこれらのモデルを展開することがよくあります。自己ホスティングにはモデル更新の管理、キャパシティプランニング、推論最適化が必要で、相当なスケールでのみ意味のあるトレードオフです。
埋め込みモデルの決定はシステム全体に波及します。後でモデルを変更するには、完全なドキュメントコーパスの再埋め込みが必要で、時間、コンピュート、そして潜在的にサービス中断のコストがかかります。本番システムは一般的なMTEBスコアに頼るのではなく、ドメイン固有のベンチマークに対してモデルを評価すべきです。一般知識に優れたモデルが法律、医療、金融テキストでは性能が劣る可能性があります。
チャンキング戦略が検索精度を決定する
ドキュメントチャンキングは検索システムが検索する原子単位を作成します。チャンキング戦略の選択は最も重要なインフラ決定の一つであり、最良と最悪のアプローチ間で最大9%のリコール変動の可能性があります。¹³
固定サイズチャンキングはコンテンツ構造に関係なく、所定のトークン数でドキュメントを分割します。このアプローチは均質なコーパス—ニュース記事、製品説明、標準化されたドキュメント—に適しています。実装には最小限の複雑さが必要で、固定サイズチャンキングはプロトタイプの自然な出発点となります。ほとんどの本番システムは400〜512トークンのチャンクと50〜100トークンのオーバーラップを使用し、検索の粒度とコンテキスト保持のバランスを取っています。
セマンティックチャンキングは意味のある境界—段落区切り、セクションヘッダー、またはテーマの変化—でドキュメントを分割し、各チャンク内で一貫したアイデアを保持します。実装は文埋め込みを使用してセマンティック境界を検出し、隣接する文間の類似性がしきい値を下回ると分割します。セマンティックチャンキングはドキュメント、FAQ、会話データなどのナラティブコンテンツで最大9%のリコール向上を実現します。¹⁴ このアプローチは取り込み時により多くのコンピュートを必要とし、類似性しきい値の慎重なチューニングが必要です。
再帰的チャンキングは階層的な分割ルールを適用し、最初に大きな分割(セクション区切り)を試み、次に徐々に小さな分割(段落区切り、文区切り)をチャンクが目標サイズに達するまで行います。LangChainのRecursiveCharacterTextSplitterはこのパターンを実装し、コーパスごとのチューニングなしで多様なドキュメントタイプにわたって強力なパフォーマンスを達成します。再帰的チャンキングは実装のシンプルさと検索品質のバランスを取り、新しいシステムのデフォルト推奨となっています。
ページレベルチャンキングはNVIDIAベンチマークから生まれ、ドキュメントタイプ全体で最低の分散で0.648の精度を示しました。¹⁵ レポートや論文のような構造化されたドキュメントでは、各ページをチャンクとして扱うことで空間的関係と相互参照を保持します。ページレベルアプローチは明確なページ境界がないドキュメント(HTML、チャットログ、コード)には適していませんが、PDF中心のコーパスには優れています。
階層的チャンキングはセクション、サブセクション、段落、文レベルのネストされた粒度を持つマルチレベルインデックスを構築します。検索はまず関連するセクションを特定し、次に特定の
[翻訳のためコンテンツを省略]