メインコンテンツへスキップ

RAGFlow 徹底解説:本番運用のRAGアプリケーションを構築する

本番用Retrieval Augmented Generationアプリを構築するためのオープンソース・プラットフォームRAGFlowを、アーキテクチャ、文書解析エンジン、検索戦略、エージェントワークフロー、LangChain・LlamaIndexとの比較まで実践的に解説します。
更新 2026年8月12日  · 15 分 読む

AIで探索

ChatGPTClaudePerplexity

きれいなPDFが2つ3つならうまく動くのに、実際のエンタープライズ文書になると何も答えられない——そんなRAGデモを何度作ったことがあるでしょうか。

現実には、表はフラット化され、スキャンページは消え、スライドは見出しを失い、チャンク化のロジックがセクション見出しと本文を分断してしまいます。本番のRAGシステムは、「LLM + ベクターデータベース」からはほど遠い存在です。文書解析、チャンク戦略、ハイブリッド検索、リランキング、出典追跡、エージェントのオーケストレーションなど、半ダース以上の要素を自分で構成する必要があります。

RAGFlowは、それらの要素を1つのスタックにまとめたオープンソースのプラットフォームです。深い文書解析、テンプレートベースのチャンク化、ハイブリッド検索、エージェントワークフロー、MCP連携を単一のUIとAPIの背後で扱えるため、ナレッジベースに時間を割き、余計な周辺作業を減らせます。

この記事では、RAGFlowの内部動作、アーキテクチャ、LangChainやLlamaIndexとの比較、そしてデプロイ方法を順に解説します。

RAGの仕組みを復習したい場合は、当社のRetrieval Augmented Generation (RAG) with LangChainコースにご登録ください。半日で基礎を理解できます。

RAGFlowとは?

RAGFlowはInfiniFlowが開発したオープンソースのRAGエンジンで、2024年4月にApache 2.0ライセンスで公開されました。

検索品質がアプリの成否を分ける本番AIアプリケーションを想定して設計されています。プロジェクトの焦点は「深い文書理解」にあり、解析とチャンク化をその後のすべての基盤として扱います。PDF、スプレッドシート、スライドが乱れているなら、リランカーや大きなLLMを使っても助けにはなりません。まず文書品質に取り組む必要があります。

RAGFlowが他の多くのRAGツールと異なるのは、フルスタックである点です。文書解析、テンプレートベースのチャンク化、ハイブリッド検索、リランキング、出典追跡、エージェント用ワークフロービルダー、MCP対応を単一のシステムで提供します。ベクターデータベースを選び、パーサーを設定し、リランカーを追加し、その上にUIを作る——といった作業をせずに、すべてを1つのWebインターフェースとAPIで扱えます。

つまりRAGFlowは、フレームワークというより「プラットフォーム」に近い存在です。

RAGFlowの仕組み

RAGFlowは標準的なRAGパイプラインに従いますが、各ステップは自分でコードを書くのではなく、構成可能なコンポーネントになっています。

文書をアップロードしてからLLMが応答を返すまでの流れは次のとおりです。

  1. ドキュメントの取り込み: ファイルをアップロードするか、データソースに接続します。RAGFlowはPDF、Word、Excel、PowerPoint、Markdown、HTML、画像、スキャンを受け付けます。v0.25以降は、Confluence、S3、Notion、Discord、Google Driveからの同期も可能です。
  2. 解析と構造化: DeepDocエンジンがOCR、表構造認識、レイアウト認識で各ファイルを読み込みます。見出し、表、図、読み順といったメタデータを持つ構造化コンテンツが出力されます。
  3. 埋め込み生成: 各チャンクを設定で選んだ埋め込みモデルに通します。OpenAI、Cohere、Voyage、ローカルモデルなど、対応するものを利用できます。
  4. ナレッジのインデックス化: チャンクとベクトルはドキュメントエンジンに保存されます。デフォルトはElasticsearchですが、ハイブリッド検索向けに作られたInfiniFlow独自DBのInfinityへ切り替え可能です。
  5. 関連コンテキストの検索: クエリが来ると、RAGFlowはベクトル検索、BM25キーワード検索、リランキングを同時に実行します。元ドキュメントへの出典付きで上位チャンクを返します。
  6. LLMで応答生成: 取得したチャンクをプロンプトに入れ、LLMが回答を作成し、RAGFlowが出典を添付します。ユーザーは各主張を元の本文へ遡って確認できます。

順番自体は目新しくありません。重要なのは、各ステップがプラットフォームの設定可能な部品であり、あらゆる段階で出力を検証できる点です。

RAGFlowのアーキテクチャ

RAGFlowのアーキテクチャは4層構成で、各層がRAGパイプラインの特定の課題を解決します。概要は次のとおりです。

RAGFlow architecture visualized

RAGFlowアーキテクチャの可視化

それでは各レイヤーを順に見ていきます。

ドキュメントの取り込み

ここが入り口です。RAGFlowはPDF、Word、Excel、PowerPointなどのOffice文書、Markdown、Webページを受け付けます。OCR内蔵のため、スキャン文書や画像も扱えます。

UIから直接アップロードする、クラウドソースに接続する、APIでプッシュする、いずれの方法も可能です。取り込みレイヤーは次段階に進める前に、すべてを共通フォーマットに正規化します。

ナレッジ処理

ここでDeepDocが登場します。

解析によって、生ファイルは見出し、段落、表、図を持つ構造化コンテンツに変換されます。チャンク化は、選択したテンプレート(General、Paper、Book、Q&A、Manual、Table、Naive)に基づいて、そのコンテンツを検索単位に分割します。メタデータ抽出により、各チャンクにページ番号、セクションタイトル、ページ上の位置などの文脈が付与されます。

このレイヤーから出てくるチャンクは構造を保持します。つまり、表は表のまま、見出しはそのセクションと一緒に、図のキャプションは図と一緒に残ります。従来のRAGチャンク化のようなランダムさがありません。

検索エンジン

検索エンジンは、設定したドキュメントエンジンに応じてElasticsearchまたはInfinityの上で動作します。

この層では3種類の検索を並行して実行します。

  • ベクトル検索(意味的な類似度)
  • BM25キーワード検索(正確な語句一致)
  • リランキング(結合結果の上に適用し、最も関連性の高いチャンクを上位へ)

このレイヤーは、LLMのプロンプトに入れる少数精鋭のチャンクを提供します。

LLMレイヤー

LLMレイヤーは、取得したチャンクを接続済みのモデル(OpenAI、DeepSeek、Gemini、Claude、ローカルのOllamaモデルなど、RAGFlowが対応するもの)に渡します。

応答は出典付きで返ってきます。回答内の各主張は特定のチャンクを指し、各チャンクは元ドキュメント内の特定位置を指します。これがRAGFlowのいう根拠ある回答(grounded answers)です。ユーザーは出典をクリックして、該当箇所をそのまま確認でき、幻覚の検出が容易になります。

4つのレイヤーはパイプラインとして連携します。取り込みがナレッジ処理へ、ナレッジ処理が検索エンジンへ、検索エンジンがLLMレイヤーへと情報を受け渡します。

RAGFlowの主な機能

実世界の乱れた文書でRAGシステムを構築する際に重要となる機能を紹介します。

高度な文書解析

RAGFlowのパーサーはDeepDocと呼ばれ、プラットフォームの存在理由ともいえる中核です。

DeepDocは各文書に対して3つのビジョンモデルを実行します。テキスト抽出のためのOCR、表構造認識のTSR、文書レイアウト認識のDLRです。PDFを文字の連なりとしてではなく、人間のように読む——どこに表があり、段組の切れ目はどこで、どのテキストが見出しで、どれが脚注か——を把握します。

その構造はチャンクにも反映されます。表はヘッダーと共に保持され、多段組は正しい順序で読み取られ、図はキャプションを維持します。

これを手作業でやろうとしたことがあるなら、異なる文書タイプかつスケールで「うまくやる」ことがいかに難しいかをご存じでしょう。

ハイブリッド検索

意味検索は、正確な語が重要なクエリを見落としがちです。キーワード検索だけでは、表現が違っても意味が同じクエリを取り逃します。

RAGFlowは両方を同時に走らせます。

  • ベクトル検索は意味的な一致を捉えます——「revenue」が「sales」や「income」を見つけます
  • キーワード検索は厳密一致を捉えます——製品コードや法律用語は、埋め込みモデルが理解しなくても引っかかります
  • リランキングは結合結果を専用モデルで並べ替え、本当に関連性の高いチャンクを上位に押し上げます

ワークフロービルダー

ワークフロービルダーは、コードを書く代わりにパイプラインを構成できるビジュアルキャンバスです。

取得、リランク、LLM、コード実行、HTTPコール、反復、分岐などのコンポーネントをドラッグしてフローに接続します。RAGFlowには、Retrieve - Rerank - Answer、Deep Research、Data Analyticsなど一般的なパターンのテンプレートが用意されています。

非エンジニア中心のチームでも、これなら1週間で動くプロトタイプを作れます。

エージェント対応

v0.20から、RAGFlowは通常のワークフローと同じキャンバス上で本格的なエージェントワークフローをサポートします。

エージェントコンポーネントは、計画、振り返り、ツール呼び出し、サブエージェントへの委任が可能です。プロンプトとツール一覧を設定すると、実行時にどのツールをどの順で使うかをエージェントが判断します。ツールはビルトインの各種コンポーネント、接続したMCPサーバー、他のエージェントでも構いません。

価値は、取得した知識に対する推論にあります。 

たとえばサポートエージェントは、ナレッジベースを検索し、外部APIでチケット状況を確認し、エスカレーションの要否を判断できます。これらを1つのフローで行い、文書由来の部分には出典が付きます。

文書解析と知識抽出

検索品質は解析品質から始まります。ここを誤ると、リランカーや大型LLMでも挽回はできません。

多くのRAGの失敗は文書レベルで起こります。表だらけのPDFがカンマ区切りの数字列として抽出されたり、スライドが視覚的な階層を失ったりします。ベクターデータベースに届く頃には、チャンクに価値がありません。

RAGFlowは解析を第一級の課題として扱います。

表は文書解析で最難関です。標準的なPDFパーサーは表を行ごとに読み、ヘッダーのない数字の流れに変えてしまいます。構造が失われます。

DeepDocはチャンク化の前にTable Structure Recognition(TSR)を実行します。表の境界、ヘッダー行、列、セルの関係を特定します。チャンク化時も表はヘッダー付きで一体として保たれ、各行は文脈を保持します。

画像とスキャン

DeepDocはスキャンページからのテキスト抽出にOCRを用い、v0.19以降はPDFやDOCX内の画像理解にビジョン言語モデルを使えます。

これにより、ダイアグラム、チャート、レシートの写真も検索可能なコンテンツになります。

多段組レイアウト

学術論文や財務報告は多段組レイアウトを用います。単純なパーサーは左から右へ行単位で読み、段同士が混ざって意味不明の内容になります。

DeepDocはまずDocument Layout Recognition(DLR)で読み順を把握します。1段目が2段目より先であること、ヘッダーが両段にまたがることなどを理解しています。

メタデータ

すべてのチャンクには、ページ番号、セクションタイトル、ページ上の位置、元ファイルなどのメタデータが付きます。

これが出典を可能にします。LLMが本文を引用するとき、RAGFlowは元ドキュメント内の正確なページと位置を指し示せます。また、チャンク単位のフィルタリング——特定セクションや特定文書内だけを検索——も可能になります。

チャンク品質

最後はチャンク化そのものです。RAGFlowはテンプレートベースのチャンク化を採用しており、文書タイプに合うテンプレート(General、Paper、Book、Q&A、Manual、Table、Naive)を選びます。

各テンプレートは分割位置の規則が異なります。Paperは抄録・方法・結果を別々の単位に、Q&Aは各質問と回答を一体に、Manualは見出しや手順を尊重します。イメージできるでしょう。

結果として、単独でも意味を成すチャンクが得られます。LLMのコンテキストウィンドウに入れても、質問に答えるのに十分な意味を持ちます。

RAGFlowの検索

文書の解析とチャンク化が済んだら、LLMが適切な文脈を見られるかは検索ステップ次第です。RAGFlowの検索エンジンは3要素が連携します。

ベクトル検索

ベクトル検索は意味的な類似性を捉えます。クエリと各チャンクを同じモデルで埋め込み、クエリベクトルに最も近いチャンクを返します。

これにより、「revenue growth」の検索で、「sales increase」を語彙が重ならなくても見つけられます。RAGFlowではOpenAI、Cohere、Voyage、BGE、ローカルなど埋め込みモデルを選べ、後からシステム全体を作り直さずに変更可能です。

ハイブリッド検索

ベクトル検索は厳密な語句に最適ではありません。製品コードや法律の参照などは意味信号が弱くても、文字列一致が非常に重要です。

RAGFlowはベクトル検索と並行してBM25キーワード検索を実行し、結果を統合します。埋め込みの再現率とキーワード一致の精度を1回のクエリで得られます。

リランキング

最初の検索段階では候補集合(通常は上位30〜50チャンク)が得られます。これはLLMのコンテキストには多すぎ、上位もノイズが混じりがちです。

リランキングは、クエリと各チャンクを同時に読む専用モデルで並べ替えます。リランカーは「似ている」ではなく「関連する」を判断します。リランキング後の上位5〜10件がプロンプトに入ります。

コンテキスト選択

最後はLLMのコンテキストに何を入れるかの決定です。RAGFlowではチャンク数、類似度しきい値、最小リランカースコアを設定できます。

さらに、RAPTOR(マルチホップ質問向けの階層型要約)やロングコンテキストRAG(ドキュメントレベルの自動目次生成により、LLMに資料の地図を与える)といった高度なオプションも使えます。フラットなチャンク検索だけでは足りないケース向けです。

検索エンジンの目的は、LLMに必要な文脈だけを正確に渡すことです。

RAGFlowと従来のRAGパイプライン

従来のRAGパイプラインは独立したツールの集合から作ります。パーサー(Unstructured、LlamaParse、PyMuPDF)、チャンク化(LangChainのテキストスプリッターや独自コード)、埋め込みモデル、ベクターデータベース(Pinecone、Weaviate、Chroma、Qdrant)、リランカー(Cohere、BGE)、LLMクライアント、UIを選び、すべてをつなぐコードを書く必要があります。

このアプローチは自由度が最大ですが、工数は多大です。

統合ポイントのすべてが、設計・実装・テスト・保守の対象です。出典追跡を追加したければ自作が必要ですし、コンポーネントのAPIが変わればパイプラインを直します。

RAGFlowは真逆のアプローチを取ります。

解析、チャンク化、検索、リランキング、出典、ワークフローのオーケストレーション、Web UIが最初から同梱された統合プラットフォームです。コードではなくWebインターフェースで設定し、部品同士は既につながっています。

代わりに柔軟性は制限されます。新奇なチャンク化アルゴリズムや研究用のリランカーを差し替えたい場合、Pythonを書くのではなくRAGFlowのプラグインモデルの範囲で対応します。多くの本番用途では問題ありませんが、実験用途では窮屈に感じることがあります。

違いをまとめると次のとおりです。

  従来型RAG RAGFlow
セットアップ 複数ツールの組み立て ワンプラットフォーム・ワンデプロイ
オーケストレーション カスタムコード ビジュアルワークフロー
エンジニアリング工数 高い 低〜中
柔軟性 フルコントロール プラットフォームの制約あり
最初の結果まで 数日〜数週間 数時間
最適な用途 カスタム/実験的なパイプライン 乱れた文書を扱う本番システム

どちらが常に優れているということはありません。フルコントロールが必要で工数をかけられるなら従来型が正解です。ナレッジベースに集中したいならRAGFlowの方が速いでしょう。

RAGFlow vs LangChain と LlamaIndex

RAGFlowを検討しているなら、LangChainやLlamaIndexの名は耳にしているはずです。ここではその違いを示します。

LangChain

LangChainはLLMアプリのアプリケーションフレームワークです。主な役割はオーケストレーションで、プロンプト・ツール・メモリ・モデルをチェーン化してワークフローにします。LangChainは文書解析や検索の構成にはあまり関心がありません。関心は「検索の後」にあります。

ツール呼び出し、多段推論、分岐ロジック、人間の介在など、エージェント色が強いプロジェクトなら、LangChain(とそのステートマシン層のLangGraph)が多くのチームで選好されます。

LlamaIndex

LlamaIndexはLLM向けのデータフレームワークです。データの取り込み、データ上のインデックス構築、クエリ処理に注力しています。160以上のデータコネクタ、複数のインデックスタイプ(ベクトル、キーワード、ツリー、ナレッジグラフ)、そして妥当なチャンク化・検索のデフォルトを備えます。

文書量が多く、深い検索要件があり、ソースシステムが多岐にわたるなど検索重視のプロジェクトなら、コードファーストで最有力の選択です。

RAGFlow

RAGFlowは統合型のRAGプラットフォームです。Pythonにインポートして使うライブラリではなく、デプロイして使うシステムです。解析、チャンク化、検索、リランキング、出典、ワークフロー、エージェント、Web UIが同梱されています。

乱れた文書で本番RAGを、パイプラインコードを一から書かずに動かすことが優先なら、RAGFlowが最短経路です。

3つのツールは併用も可能です。よくあるパターンは、取り込みにLlamaIndex、エージェントのオーケストレーションにLangChainまたはLangGraph、そして自前で完結したスタックが欲しいときにRAGFlowを使う、というものです。

以下、おさらいです:

  LangChain LlamaIndex RAGFlow
タイプ アプリケーションフレームワーク データフレームワーク 統合プラットフォーム
主な焦点 オーケストレーション、エージェント 取り込み、インデックス、検索 エンドツーエンドのRAGスタック
インターフェース Python / JavaScriptライブラリ Pythonライブラリ Web UI + API
文書解析 基本(連携で補完) 良好 最良(DeepDoc)
エージェント対応 強力(LangGraph) 基本(ワークフロー) 強力(v0.20以降)
最適な用途 エージェント重視アプリ 検索重視アプリ 乱れた文書を扱う本番RAG
スタイル コードファースト コードファースト コンフィグファースト(APIあり)

RAGFlowでRAGアプリを構築する

RAGFlowが動作したら、RAGアプリの構築は5ステップで進みます。ここでもパイプラインコードは書かず、各ステップをUIまたはAPIで設定するだけです。

ドキュメントを取り込む

まず文書をアップロードします。Web UIからファイルを追加する、Google Drive、S3、Notion、Confluence、Discordなどのデータソースに接続する、APIで追加する、といった方法があります。

Document ingestion example

ドキュメント取り込みの例

RAGFlowは一般的な形式のほとんどを受け付けるため、事前変換は不要です。

ナレッジベースを設定する

RAGFlowにおけるナレッジベースは、文書・チャンク・設定のコンテナです。文書タイプに合うチャンクテンプレート(混在コンテンツにはGeneral、研究にはPaper、技術文書にはManual、サポートにはQ&Aなど)を選び、埋め込みモデルとパーサーを指定します。

Knowledge base configuration

ナレッジベース設定

この選択は後々の負担を大きく減らすので、重要なステップだと念頭に置いてください。

検索戦略を選ぶ

次に、検索の挙動を決めます。返す上位チャンク数、類似度しきい値、ハイブリッド検索かベクトル単独か、リランキングの有無とモデルを設定します。

高度なケースでは、RAGFlowは階層要約のRAPTORや、エンティティベース検索のためのナレッジグラフもサポートします。ナレッジベースの設定で有効化できます。

LLMを接続する

RAGFlow自体にLLMは含まれません。OpenAI、DeepSeek、Gemini、Claude、Ollama経由のローカルモデルなど、対応する任意のモデルを持ち込みます。

Model options

モデルの選択肢

設定でAPIキーを追加し、モデルを選び、システムプロンプトを設定します。 

応答をテストする

最後はテストです。RAGFlowにはチャットインターフェースがあり、ナレッジベースにクエリを投げ、出典付きの回答を確認できます。

任意の出典をクリックすると、元ドキュメント内で該当チャンクとその位置がハイライト表示されます。

多くのチームは、このループを数回回してから回答が実用レベルに到達します。どのRAGでも普通のことですが、RAGFlowならPythonを書き直す代わりにUIで設定を変えるだけです。

Chat configuration example

チャット設定の例

本番環境でのRAGFlow

RAGFlowは、文書品質と出典追跡が特に重要となるユースケースで本番運用されています。

エンタープライズのナレッジベース

大企業では、共有ドライブ、Confluence、SharePoint、メール添付のPDFなどに何千という文書が分散しています。社員は必要な情報にたどり着けず、RAGなしのLLMに聞いても幻覚が返りがちです。

RAGFlowはここで力を発揮します。

昔のPDF、スキャンされた規程、ピボットテーブル入りのExcel、何年も前のPowerPoint——いずれも解析可能です。出典付きなので法務・コンプライアンスも回答を信頼でき、Web UIにより非エンジニアでもナレッジベースを運用できます。

カスタマーサポートアシスタント

サポートチームには、長年のチケット、FAQ、製品マニュアル、内部ランブックが蓄積されています。アシスタントはそれらを横断検索し、該当箇所を見つけ、必要に応じてエスカレーションを判断する必要があります。

RAGFlowのQ&Aチャンクテンプレートはまさにこの用途向けです。チケット履歴を与えると、各質問と回答のペアを検索単位として扱います。さらにエージェント層を重ね、注文照会用APIをつなげば、定型質問を処理し、難問には十分な文脈を添えて引き継ぐアシスタントになります。

社内ドキュメント検索

エンジニアリングチームには、ランブック、アーキテクチャ文書、インシデントのポストモーテム、APIリファレンスがNotion、Confluence、GitHubなどに散在しています。grepはキーワードには効きますが、「このアラートが前回上がったときはどう対処したか」には役立ちません。

RAGFlowならコーパス全体に対するセマンティック検索ができ、出典リンクで元ページへ即アクセスできます。エンジニアは該当箇所と原文リンクをワンクリックで得られます。

リサーチアシスタント

リサーチチームは、論文、特許、レポート、社内実験を扱います。RAGFlowのDeep Researchテンプレートはこの用途向けで、マルチターン検索と連鎖的推論により、エージェントが質問を分解し、答えの断片を探し、統合します。

金融・法務・製薬のリサーチでは、各主張を出典に遡れることが、アシスタントを実用に耐えさせる鍵です。

これらユースケースの共通点は、「文書こそが難所」であることです。ソースがきれいで単純なら多くのRAGツールが機能しますが、乱雑で構造的なら、ゼロからパイプラインを作るよりRAGFlowの解析レイヤーの方が先へ進める可能性が高いでしょう。

RAGFlowのデプロイ

RAGFlowには3つのデプロイ方法があります。それぞれを紹介します。

Dockerによるデプロイ

Docker Composeが主要な手段です。repoをクローンし、dockerフォルダに移動してdocker compose up -dを実行します。これでRAGFlowサーバーに加え、Elasticsearch、MinIO、MySQL、Redisが起動します。

最小要件はCPU4コア、RAM16GB、ディスク50GBです。実際には大規模な文書コレクションを扱うなら、ElasticsearchやInfinityが多くのメモリを要するため、より多くのRAMが望ましいです。

Dockerイメージはx86向けです。Apple SiliconなどARM64マシンではトランスレーションレイヤーで動作しますが、性能を求めるなら、RAGFlowドキュメントのARM64ガイドに従って自前でイメージをビルドするのがおすすめです。

ローカル開発

RAGFlowのソースを変更したい場合は、バックエンドとフロントエンドをソースから起動できます。Python依存関係にuvを使い、docker compose -f docker/docker-compose-base.yml up -dで補助サービス(MinIO、Elasticsearch、MySQL、Redis)のみを立ち上げ、バックエンドはシェルスクリプトで、フロントエンドはnpm run devで起動します。

この方法は、貢献やデバッグ目的に限って価値があります。大半のユーザーにはDocker Composeが速いでしょう。

クラウドデプロイ

InfiniFlowはホステッド版をcloud.ragflow.ioで提供しています。月5アプリと500クレジットの無料枠があり、有料は$29、$129、エンタープライズ価格のプランがあります。

クラウド版はプロトタイプや小規模チームには十分です。機密データを扱う本格運用では、多くのチームが自社インフラでセルフホストします。小規模は単一VM、大規模はHelmチャートでKubernetesにデプロイするのが一般的です。

スケーリングの考慮事項

RAGFlowのデフォルト構成は単一マシン上で全コンポーネントを動かします。ある程度までは問題ありませんが、文書数、クエリ負荷、チーム規模のいずれかで限界に達します。

独立してスケールさせるのは、ドキュメントエンジン(ElasticsearchまたはInfinity)、オブジェクトストレージ(MinIO)、そしてRAGFlowアプリ本体です。大規模では、これらを別マシンに分離し、マネージドElasticsearchやS3互換ストレージを使い、RAGFlowアプリを複数インスタンスでロードバランサの背後に置きます。

DeepDocのGPU加速も検討に値します。ご存じのとおり解析はデフォルトではCPU負荷が高いですが、設定でGPUモードを有効にすれば、大量取り込み時の速度が大きく向上します。

それ以外は標準的なインフラ作業であり、RAGFlowが邪魔をすることはありません。

RAGFlowの利点と制約

ツールには必ずトレードオフがあります。RAGFlowも例外ではありません。利用前に知っておくべき点をまとめます。

利点

  • 統合プラットフォームである: パーサー、ベクターデータベース、リランカー、チャンク化、UIフレームワークを選定してコードを書く必要がありません。RAGFlowに一通り揃っています。
  • 文書処理が最も強力: DeepDocはPDF、スキャン、表、複雑なレイアウトに強く、代替より優れています。文書が乱れているなら、それだけでRAGFlowを選ぶ十分な理由になります。
  • 最初から本番志向: 根拠付き出典、チャンクの可視化、エージェントワークフロー、MCP対応、実用的な管理UIが標準搭載です。 
  • Apache 2.0のオープンソース: セルフホストでき、コードを改変し、自社インフラで運用可能です。GitHubリポジトリはスター8万超、活発に開発されており、当面は安定が見込めます。

制約

  • デプロイは見た目より容易ではない: Docker Composeは助けになりますが、実際にはアプリの横でElasticsearchまたはInfinity、MinIO、MySQL、Redisも動かします。いずれかが壊れることはあり、その際はDockerの知識が必要です。
  • インフラ要件: 最小はRAM16GB・CPU4コアですが、小規模向けです。実運用では32GB以上が現実的で、特にInfinity使用時や大量取り込み時は必要です。月$5のVPSでは動きません。
  • 学習コスト: ワークフロービルダーは強力ですがコンポーネントが多く、適切なチャンクテンプレートや検索設定を見つけるには時間がかかります。生産的になるまで数日は慣れが必要です。

ライブラリではなくプラットフォームを得るためのコストだと考えてください。ユースケースに合致するなら致命的な欠点ではありません。

RAGFlowを使うべき人

RAGFlowが最適でないプロジェクトもあります。合う人、もっと軽量な選択がよい人を示します。

適している

本番RAGを構築するAIエンジニア。 目的が「動くRAGアプリの構築」であって「新しいチャンク化ライブラリの実装」ではないなら、RAGFlowは配管作業の大半を取り除きます。

エンタープライズのAIチーム。 法務・コンプライアンス・財務・サポートは出典とトレーサビリティが不可欠。非エンジニアが使えるUIも利点です。 

乱れた文書を扱う開発者。 表だらけのPDF、スキャン、段組、混在形式などは、DeepDocが競合より優れています。プレーンテキスト以外のソースなら、RAGFlowの解析品質は比類がありません。

大規模な文書コレクションを持つ組織。 数千件を超えると、取り込み・索引・検索をスケールできるシステムが要ります。RAGFlowはまさにその用途に適しています。

あまり適さない

単純なチャットボットの試作。 Markdown数ファイルに対するQAならRAGFlowは大げさです。LlamaIndexのスクリプトやシンプルなLangChainパイプラインの方が早いです。

ごく小規模なプロジェクト。 数本のPDFに対する個人用QAでは、インフラの重さが割に合いません。実際のプロジェクトよりDockerコマンドに時間を費やすことになります。

セットアップゼロを望むチーム。 5分でサインアップして動くRAGが欲しいなら、ホステッドサービスや軽量ライブラリの方が適します。RAGFlowにもクラウド版はありますが、多くの価値があるセルフホストは一定のセットアップが必要です。

目安はシンプルです。乱れた文書に対する検索品質がプロジェクトの難所なら、RAGFlowはセットアップコストに見合います。そうでなければ、より軽量な選択肢を使いましょう。

まとめ

RAGFlowは、実世界の文書を対象に本番RAGアプリを構築するためのフルスタックプラットフォームです。

最大の強みは、文書処理・検索・リランキング・生成が、別々のツール寄せ集めではなく1つのワークフローに収まっていることです。DeepDoc解析、ハイブリッド検索、根拠付き出典、エージェントワークフローを単一のUIとAPIで扱えます。

文書が乱れており、検索品質が重要なら、RAGFlowはセットアップコストに見合います。

まずは無料のクラウド枠かローカルのDockerデプロイで始め、最悪な文書を数本アップロードして、回答の出方を確かめてください。用途に合うか最速で判断できます。

RAGのアーキテクチャは意図的にシンプルですが、だからといって複雑な用途で役に立たないわけではありません。高密度検索、リランキング、多段推論については、当社のAdvanced RAG Techniquesのブログ記事をご覧ください。

Ragflow

RAGFlowは何に使われますか?

RAGFlowは、自社の文書を基にRetrieval Augmented Generationアプリケーションを構築するために使われます。企業は、エンタープライズのナレッジベース、カスタマーサポートアシスタント、社内ドキュメント検索、PDF・スプレッドシート・スライドなどの乱れたソースからの質問に答えるリサーチアシスタントに活用しています。文書解析、検索、リランキング、出典、エージェントワークフローを、5つの別ツールではなく1つのプラットフォームで提供します。

RAGFlowは無料ですか?

はい。RAGFlowはApache 2.0ライセンスのオープンソースで、インフラにセルフホストして無料で運用できます。InfiniFlowはホステッド版も提供しており、小規模向けの無料枠と、より大きなチーム向けに月$29からの有料プランがあります。特に機密データを扱う本番利用では、セルフホストを選ぶユーザーが大半です。

RAGFlowはLangChainやLlamaIndexとどう違いますか?

LangChainはLLM呼び出し・ツール・エージェントを連鎖させるアプリケーションフレームワークです。LlamaIndexは取り込み・インデックス作成・検索に焦点を当てたデータフレームワークです。RAGFlowはフルプラットフォームで、デプロイしてWeb UIで設定するだけで、解析・検索・出典・ワークフローをパイプラインコードなしに使えます。これらを組み合わせることもでき、取り込みにLlamaIndex、オーケストレーションにLangChain、スタック一式を1か所にまとめたい場合にRAGFlow、という使い分けが可能です。

RAGFlowはどの文書形式に対応していますか?

RAGFlowはPDF、Word、Excel、PowerPoint、Markdown、HTML、プレーンテキスト、画像、スキャン文書に対応します。DeepDocエンジンは、OCR・表構造認識・レイアウト認識で各形式を正しく解析するため、表は壊れず、多段組は正しい順序で読み取られ、スキャンも検索可能になります。v0.25以降は、Confluence、S3、Notion、Discord、Google Driveからの直接同期も可能です。

RAGFlowを動かす最小ハードウェア要件は?

公式の最小要件はCPU4コア、RAM16GB、ディスク50GB、Docker 24.0以上です。実際には、現実的な文書ボリュームを索引化する段階では32GB以上のRAMが欲しくなります。これはRAGFlowアプリ本体に加えてElasticsearch(またはInfinity)、MinIO、MySQL、Redisが並行して動くためです。DeepDocのGPU加速は任意ですが、取り込みを高速化します。

トピック
人工知能

DataCampで学ぶ

Courses

LangChainで学ぶ検索拡張生成(RAG)

3時間
20.2K
LangChainを使った検索拡張生成(RAG)で外部データをLLMと統合する最先端手法を学びます。
詳細を見るRight Arrow
コースを開始
もっと見るRight Arrow