- 複雑な文書を管理するためのオープンソースの検索拡張生成(RAG)エンジンの実装。
- コンテナを使用した安定したデプロイメントに必要な技術的なハードウェアおよびソフトウェア要件。
- 言語モデル構成(LLM)と、高度なチャンキングによるデータ取り込みの最適化。
- インデックスエンジンを選択し、ARM64にデプロイすることで、アーキテクチャをカスタマイズします。
人工知能に自分のファイルに基づいて回答させる方法を探しているなら、RAGFlowは最も包括的な選択肢の1つです。 回生発電による発電量増加のためのエンジン 文書の構造を分析し、LLMによく見られる誤謬を軽減するために、モデルに適切な情報を提供するオープンソースツール。
さらに、独自のインフラストラクチャにインストールして データの管理を維持する また、外部プラットフォームへの完全な依存を回避します。Dockerベースのアーキテクチャのおかげで、視覚的なインターフェースを通じて、データの取り込み、インデックス作成、アシスタントやエージェントの作成を管理できます。
開始前の技術要件

システムを正しく動作させるには、一定の最低要件を満たすコンピュータが必要です。文書管理、検索エンジン、インデックス作成は、特に大規模なコレクションを扱う場合、かなりのリソースを消費する可能性があります。
RAGFlowのドキュメントでは、以下の要件が定められています。
- 4コア以上のx86プロセッサ。
- 少なくとも 16 GB の RAM。
- 最低50GBの空きストレージ容量が必要です。
- Docker 24.0.0以降。
- Docker Compose 2.26.1以降。
- Python 3.13以降。
エージェントのサンドボックスモードでコード実行ツールを使用する場合は、以下のものもインストールする必要があります。 gViewer 実行を隔離し、環境の安全性を向上させるため。
もう1つの重要なポイントはカーネルの設定です。 vm.max_map_count 262144以上である必要があります。そうでない場合、ドキュメントエンジンでメモリエラーが発生したり、正常に起動しない可能性があります。
現在の値は以下を使用して確認できます。
sysctl vm.max_map_count
一時的に変更する必要がある場合は、以下を実行してください。
sudo sysctl -w vm.max_map_count=262144
この変更はシステムを再起動すると失われます。変更を保持するには、次の行をファイルに追加してください。 /etc/sysctl.conf:
vm.max_map_count=262144
RAGFlowをDockerでデプロイする手順

環境が整ったら、最初のステップは 公式リポジトリをクローンする RAGFlowのGitHubリポジトリより:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
設定ファイルとDockerイメージ間の互換性の問題を回避するため、リポジトリに公開されている安定版を選択することをお勧めします。その後、以下のコマンドでRAGFlowを起動できます。
docker compose -f docker-compose.yml up -d
このコマンドは、DeepDoc タスクに CPU を使用します。 NVIDIA GPU対応以下の変数をファイルに追加します .env コンテナを起動する前に:
DEVICE=gpu
次に、同じDocker Composeファイルを使用します。
docker compose -f docker-compose.yml up -d
サーバーが正しく起動したことを確認するには、該当するコンテナのログを確認してください。
docker logs -f docker-ragflow-cpu-1
コンテナの正確な名前は、使用するバージョンと構成によって異なる場合があります。ログにサーバーが実行中であることが示されている場合 0.0.0.0これでインターフェースを開くことができます。
デフォルトでは、ブラウザにサーバーのIPアドレスを入力するだけで済みます。
http://IP_DEL_SERVIDOR
デフォルトのHTTPポートは80なので、通常は入力する必要はありません。中に入ったら、アクセスしてください。 モデルプロバイダー使用するプロバイダを選択し、認証情報を設定してください。RAGFlowでは、チャットモデル、埋め込み、画像認識、その他の互換性のあるタスクを個別に定義できます。
文書管理とワークフロー
RAGFlowの最大の利点は、情報の処理方法にある。単にコンテンツを恣意的な断片に分割するのではなく、さまざまなアナライザーを使用して、文書、表、画像、スキャンされたファイルの構造を解釈する。
まず、データセットを作成し、ファイルをアップロードして、 断片化テンプレート 適切です。このプラットフォームは、PDF、DOCX、スプレッドシート、プレゼンテーション、テキストファイル、画像など、さまざまな形式をサポートしています。
RAGFlow では、 生成されたフラグメントを検査する手動で編集してキーワードを追加することもできます。このオプションは、アナライザーが表、見出し、または特定のセクションを正しく解釈できなかった場合に役立ちます。
システムが質問に答えるために情報を取得する際、元の断片に戻る引用を含めることができます。これにより、 回答の追跡可能性しかし、それはモデルが完全にエラーフリーであることを保証するものではありません。
文書処理後、チャットセクションからアシスタントを作成できます。そのオプションの一つとして、ナレッジベースに十分な情報が見つからない場合に、アシスタントがどのように応答するかを定義できる機能があります。
「利用可能なドキュメントにこの情報が見つかりません」といったメッセージを設定することで、モデルがドキュメントによる裏付けなしに即興で応答してしまうリスクを軽減できます。
高度なシステム設定と最適化
主な展開パラメータはファイルに記載されています .envそこから、HTTPポート、MySQLおよびMinIOのパスワード、ドキュメントエンジン、GPU使用量などの要素を変更できます。
RAGFlowは、テキストとベクトルを保存および取得するためのデフォルトエンジンとしてElasticsearchを使用します。また、以下の変数を使用してInfinityに切り替えることもできます。
DOC_ENGINE=infinity
ただし、この変更によって既存のデータが自動的に保持されるわけではありません。正式な手順では、コンテナを停止し、そのボリュームを削除する必要があります。
docker compose -f docker-compose.yml down -v
パラメータ -v Dockerボリュームと、それらに保存されているすべてのデータを削除します。 コマンドを実行する前に、バックアップがあること、そして本当にクリーンインストールから始めたいのかどうかを必ず確認してください。
設立後 DOC_ENGINE=infinity ファイル内 .envコンテナを再起動できます。
docker compose -f docker-compose.yml up -d
公式のRAGFlowイメージはx86プラットフォーム向けに設計されています。プロセッサを使用している場合は、 ARM64Apple Silicon搭載デバイスやAmazon Graviton搭載サーバーなど、特定のデバイスについては、プロジェクトの手順に従って互換性のあるイメージを作成する必要があります。
バージョン0.22以降、RAGFlowは軽量版のイメージのみを配布しています。この軽量版のサイズは約2GBで、必要な言語モデルと埋め込みを提供するために外部サービスまたは追加サービスに依存しています。
サービスをインターネットに公開する場合は、ポートを直接公開することはお勧めしません。最も安全な方法は、 NginxやTraefikのようなリバースプロキシ RAGFlowの前にHTTPSを有効にし、適切なアクセス制御を追加してください。
ローカルモデルとプライバシーの統合
RAGFlowは、お客様独自のインフラストラクチャ内で実行されているモデルも使用できます。サポートされているオプションは以下のとおりです。 Ollama、LM Studio、vLLMただし、具体的な設定方法はプロバイダーとインストールされているバージョンによって異なります。
通常のインストールでは、Ollamaは以下から追加できます。 設定 > モデルプロバイダー > Ollamaそこで、RAGFlowがOllamaサーバーにアクセスするためのモデルとアドレスを指定する必要があります。
RAGFlowがDocker内で実行されている場合は、次の点に注意してください。 localhost これはコンテナ自体を指します。Ollamaがホストシステムにインストールされている場合、マシンのIPアドレスなど、コンテナからアクセス可能なアドレスを使用する必要があります。 host.docker.internal 利用可能になったら。
ネットワーク内にデータを保持するには、ローカルチャットモデルを使用するだけでは不十分です。また、 埋め込みモデル、画像認識、再ランキング、およびその他の関連サービス ローカルで実行してください。外部APIに依存する場合、一部の情報がインフラストラクチャから外部に送信される可能性があります。
このプラットフォームでは、再ランキングモデルを使用して、取得した断片をLLMに送信する前に並べ替えることができます。これにより、特定のコレクションにおける応答の関連性を向上させることができますが、結果は文書、選択されたモデル、および検索設定によって異なります。
RAGFlowは、人工知能を活用して文書コレクションを検索可能なナレッジベースに変換するツールです。分析、断片化、検索、追跡ツールにより、より的確な回答を得ることができ、ローカル展開によってインフラストラクチャとデータ処理をより詳細に制御できます。
私はテクノロジー愛好家であり、その「オタク」の興味を職業に変えています。私は 10 年以上、純粋な好奇心から最先端のテクノロジーを使用し、あらゆる種類のプログラムをいじくり回してきました。現在はコンピューター技術とビデオゲームを専門にしています。これは、私が 5 年以上、テクノロジーやビデオ ゲームに関するさまざまな Web サイトに執筆し、誰にでも理解できる言語で必要な情報を提供することを目的とした記事を作成しているためです。
ご質問がございましたら、私の知識は Windows オペレーティング システムから携帯電話用の Android に関連するあらゆるものまで多岐にわたります。そして、私はあなたに対して、いつでも喜んで数分を費やして、このインターネットの世界であなたが抱いている疑問を解決するお手伝いをしたいと考えています。