ragflow logo

README in English 简体中文版自述文件 繁體中文版自述文件 日本語のREADME 한국어 README en Français Bahasa Indonesia Português(Brasil) README in Arabic Türkçe README Русская версия README

follow on X(Twitter) Static Badge RAGFlow Docker image downloads Latest Release license

Cloud | Document | Roadmap | Discord

RAGFlow in the GitHub Octoverse
infiniflow%2Fragflow | Trendshift
## 💡 RAGFlow とは? [RAGFlow](https://ragflow.io/) は、先進的な[RAG](https://ragflow.io/basics/what-is-rag)(Retrieval-Augmented Generation)技術と Agent 機能を融合し、大規模言語モデル(LLM)に優れたコンテキスト層を構築する最先端のオープンソース RAG エンジンです。あらゆる規模の企業に対応可能な合理化された RAG ワークフローを提供し、統合型[コンテキストエンジン](https://ragflow.io/basics/what-is-agent-context-engine)と事前構築されたAgentテンプレートにより、開発者が複雑なデータを驚異的な効率性と精度で高精細なプロダクションレディAIシステムへ変換することを可能にします。 ## 🎮 はじめに 当社のクラウドサービスをぜひお試しください:[https://cloud.ragflow.io](https://cloud.ragflow.io)。 ローカルにデプロイする場合は、[セルフホスティング](#-セルフホスティング)を参照してください。
Chunking demonstration Agentic workflow demonstration
## 🔥 最新情報 - 2026-09-29 RAGFlow 1.0.0-rc1 をリリース。 - 2026-09-10 SitemapによるWebコンテンツの取り込みに対応。 - 2026-08-19 Knowledge Compilationを導入。ドキュメントおよびデータセット単位でWiki、Graph、Tree、PageIndex、Mind Map、Timeline、Skillsを生成できます。 - 2026-08-19 Low、Medium、High、Ultraの思考モードを備えたAgentic RAGを導入。 - 2026-07-02 Google BigQueryデータソースの取り込みと増分同期に対応。 - 2026-06-29 WhatsApp、DingTalk、WeComのチャットチャネルに対応。 - 2026-05-26 AgentがWebページを閲覧・操作できるBrowserコンポーネントを追加。 - 2026-04-21 7種類の組み込みデータ取り込みパイプラインテンプレートを追加。 - 2026-04-21 Agentアプリの公開、Sandboxでのコード実行、グラフ生成に対応。 - 2026-04-21 ユーザー単位のメモリ保存と検索に対応。 その他の更新については[リリースノート全文](./docs/release_notes.md)を参照してください。 ## 🎉 続きを楽しみに ⭐️ リポジトリをスター登録して、エキサイティングな新機能やアップデートを最新の状態に保ちましょう!すべての新しいリリースに関する即時通知を受け取れます! 🌟
RAGFlow feature updates
## 🌟 主な特徴 ### 🍭 **"Quality in, quality out"** - 複雑な形式の非構造化データからの深い文書理解ベースの知識抽出。 - 無限のトークンから"干し草の山の中の針"を見つける。 ### 🍱 **テンプレートベースのチャンク化** - 知的で解釈しやすい。 - テンプレートオプションが豊富。 ### 🧩 **ナレッジコンパイル(Knowledge Compilation)** - ドキュメントやデータセットのコンテンツを、Wiki、Graph、Tree、PageIndex、Mind Map、Timeline、Skills などの構造化された成果物に整理します。 - コンパイルモデルと処理ルールを設定し、成果物の表示、更新、再生成を行えます。 ### 🧠 **Agentic Retrieval** - 複雑な質問を分析し、必要に応じて分解、ナレッジ検索、根拠確認を複数段階で行います。 - Low、Medium、High、Ultra の思考モードで、質問の複雑さに応じて検索と推論の深さを調整できます。 ### 🌱 **ハルシネーションが軽減された根拠のある引用** - 可視化されたテキストチャンキング(text chunking)で人間の介入を可能にする。 - 重要な参考文献のクイックビューと、追跡可能な引用によって根拠ある答えをサポートする。 ### 🍔 **多様なデータソースとの互換性** - Word、スライド、Excel、txt、画像、スキャンコピー、構造化データ、Web ページなどをサポート。 ### 🛀 **自動化された楽な RAG ワークフロー** - 個人から大企業まで対応できる RAG オーケストレーション(orchestration)。 - カスタマイズ可能な LLM とエンベッディングモデル。 - 複数の想起と融合された再ランク付け。 - 直感的な API によってビジネスとの統合がシームレスに。 ## 🔎 システム構成
RAGFlow システムアーキテクチャ
## 🎬 セルフホスティング ### 🐳 Docker デプロイ #### 📝 Docker デプロイの前提条件 - 推奨する開始時の構成:CPU 4コア、RAM 16 GB、空きディスク容量 50 GB。実際の要件は、ドキュメントエンジン、データ量、解析タスク、同時実行数によって異なります。ローカルモデルやその他のオプションコンポーネントでは、追加のリソースが必要になる場合があります。 - Docker >= 24.0.0 & Docker Compose >= v2.26.1 - [gVisor](https://gvisor.dev/docs/user_guide/install/): Self-ManagedコンテナSandboxを使用する場合のみ必要です。 DockerデプロイではホストへのGoのインストールは不要です。Self-ManagedコンテナSandboxではgVisorのインストールと設定が必要ですが、他のSandboxプロバイダーではRAGFlowホストへのgVisorのインストールは不要です。 > [!TIP] > ローカルマシン(Windows、Mac、または Linux)に Docker をインストールしていない場合は、[Docker Engine のインストール](https://docs.docker.com/engine/install/) を参照してください。 #### 🚀 サーバーを起動 1. `vm.max_map_count` >= 262144 であることを確認する: > `vm.max_map_count` の値をチェックするには: > > ```bash > sysctl vm.max_map_count > ``` > > `vm.max_map_count` が 262144 より大きい値でなければリセットする。 > > ```bash > # In this case, we set it to 262144: > sudo sysctl -w vm.max_map_count=262144 > ``` > > この変更はシステム再起動後にリセットされる。変更を恒久的なものにするには、**/etc/sysctl.conf** の `vm.max_map_count` 値を適宜追加または更新する: > > ```bash > vm.max_map_count=262144 > ``` > 2. リポジトリをクローンする: ```bash git clone https://github.com/infiniflow/ragflow.git ``` 3. Go リリースタグに切り替え、Docker Compose で事前ビルド済み Go イメージを起動します: > [!CAUTION] > 現在、公式に提供されているすべての Docker イメージは x86 アーキテクチャ向けにビルドされており、ARM64 用の Docker イメージは提供されていません。 > ARM64 アーキテクチャのオペレーティングシステムを使用している場合は、[このドキュメント](https://ragflow.io/docs/dev/build_docker_image)を参照して Docker イメージを自分でビルドしてください。 Docker デプロイディレクトリに移動します。 ```bash cd ragflow/docker ``` Go v1.0.0-rc1 リリースタグに切り替えます。 ```bash git checkout v1.0.0-rc1 ``` Go サービスと依存サービスをバックグラウンドで起動します。 ```bash docker compose -f docker-compose.yml up -d ``` デフォルトの MySQL 構成では、Go イメージのエントリーポイントが最初にデータベース移行を実行し、その後 `bin/ragflow_server` を介して Syncer、Admin、API、Ingestor を起動します。 > RAGFlow オープンソース 1.0 の DeepDoc は、レイアウト解析、OCR、表認識に CPU 推論を使用します。 4. 起動後にサービスの状態と API の準備状況を確認します: ```bash docker ps ``` 上記のコマンドは依存サービスの状態を表示します。RAGFlow 自体には Compose healthcheck が定義されていないため、API で準備状況を確認します: ```bash curl -f http://localhost/api/v1/system/healthz ``` HTTP 200 レスポンスは準備完了を示します。`SVR_WEB_HTTP_PORT` を変更した場合は、ヘルスチェック URL でそのポートを使用してください。起動に失敗した場合は、`docker logs --tail 50 ` で該当サービスのログを確認してください。 5. ウェブブラウザで、プロンプトに従ってサーバーの IP アドレスを入力し、RAGFlow にログインします。 > デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。 > 6. RAGFlow にログインした後、モデルプロバイダーページで LLM、Embedding、Reranker を追加し、モデル名、サービスアドレス、API キーを入力します。 > 詳しくは [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) を参照してください。 > _これで初期設定完了!ショーの開幕です!_ #### ⚙️ Docker の設定と調整 Go版のDockerデプロイでは `docker/.env` と `docker/docker-compose.yml` を使用し、キャッシュとCheckpointの保存にKvrocks、メッセージキューにNATS JetStreamを使用します。イメージ、ポート、パスワード、ドキュメントエンジン、モデルイメージの取得元を変更する場合は、[Docker設定ガイド](./docker/README.md)に従ってください。プラットフォームのサポートについて(注:macOSは現時点では非対応です。Linux x86_64ホストを使用してください)、[Go Dockerイメージのビルドとプラットフォームサポートガイド](./docs/develop/build_docker_image.mdx)を参照してください。 ドキュメントエンジンの切り替え、設定変更後のサービス再起動、既存データの保持または削除についても、上記のDocker設定ガイドに従ってください。 ### 🔨 ソースコードからサービスを起動する方法 #### 📝 ソースビルドの前提条件 1. `go.mod` で指定されたGoバージョン(現在はGo 1.27)、Clang 20、LLD 20、CMake 4.0以降、およびPCRE2開発ファイルをインストールします。GoサービスはCGOとネイティブライブラリに依存し、[build.sh](./build.sh)が必要なビルド設定を行います。 2. リポジトリをクローンし、必要なネイティブライブラリとモデルファイルを準備してからGoサービスをビルドします: ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/ ``` ```bash python3 -m venv /tmp/ragflow-go-download-venv /tmp/ragflow-go-download-venv/bin/python -m pip install requests huggingface-hub /tmp/ragflow-go-download-venv/bin/python ragflow_deps/download_deps.py bash build.sh --all ``` このスクリプトはGoビルドに必要なネイティブライブラリとモデルリソースを準備し、`requests`と`huggingface-hub`を使用します。同じリソースを別の方法で準備済みの場合は、この手順を省略できます。リポジトリルートから起動するとGoサービスは`internal/rag/res/deepdoc`を自動検出します。別のディレクトリから起動する場合は、`DEEPDOC_MODEL_DIR`にその絶対パスを設定してください。 3. Docker Composeで必要な依存サービス(Elasticsearch、MySQL、MinIO、NATS、Kvrocks、ClickHouse)を起動します: ```bash sudo sysctl -w vm.max_map_count=262144 docker compose --env-file docker/.env -f docker/docker-compose-base.yml \ up -d --wait es01 mysql minio nats kvrocks clickhouse ``` ソースから起動する Go サービスは `localhost:6379` で Kvrocks に接続するため、提供されている設定では `/etc/hosts` の変更は不要です。 4. データベースのマイグレーション後、サービスを順番に起動します。各コマンドはリポジトリのルートから別々のターミナルで実行し、サービス用の4つのターミナルは開いたままにします: ```bash ./bin/ragflow_server --migrate RAGFLOW_DEV_MODE=true ./bin/ragflow_server --admin RAGFLOW_DEV_MODE=true ./bin/ragflow_server --ingestor RAGFLOW_DEV_MODE=true ./bin/ragflow_server --syncer RAGFLOW_DEV_MODE=true ./bin/ragflow_server --api ``` 各起動モードの役割は次のとおりです: - `--migrate`: データベース移行を実行して終了します。 - `--admin`: 管理と初期化を行うAdminサービスを起動します。 - `--ingestor`: データ取り込みと解析を行うIngestorサービスを起動します。 - `--syncer`: データ同期を行うSyncerサービスを起動します。 - `--api`: Web UI、SDK、外部クライアント向けのAPIサービスを起動します。 `RAGFLOW_DEV_MODE=true`は開発専用です。コードとデータベース移行バージョン間のダウングレードチェックを無効にしますが、移行の実行やスキーマ変更は行いません。本番環境では設定しないでください。Adminを他のサービスより先に起動します。移行後は`RAGFLOW_DEV_MODE=true bash build.sh --run`でAdmin、Ingestor、APIを起動できますが、Syncerは起動しません。完全なサービスチェーンには`RAGFLOW_DEV_MODE=true ./bin/ragflow_server --syncer`を別途実行してください。 5. フロントエンドを開発する場合に限り、Node.jsとnpmをインストールしてReactフロントエンドを起動します: ```bash cd web npm install API_PROXY_SCHEME=go npm run dev ``` 別のターミナルでGo APIの準備が完了したことを確認します: ```bash curl -f http://127.0.0.1:9380/api/v1/system/healthz ``` HTTP 200が返ればAPIは応答しています。開発終了時は各サービスターミナルで`Ctrl+C`を押します。コンテナを保持したまま依存サービスを停止するには `docker compose --env-file docker/.env -f docker/docker-compose-base.yml stop es01 mysql minio nats kvrocks clickhouse` を実行します。名前付きボリュームを保持したまま依存コンテナとComposeネットワークを削除するには `docker compose --env-file docker/.env -f docker/docker-compose-base.yml down` を実行します。 詳細は[ソースコードからサービスを起動](./docs/develop/launch_ragflow_from_source.md)を参照してください。 ## 📚 ドキュメンテーション - [Quickstart](https://ragflow.io/docs/dev/) - [Configuration](https://ragflow.io/docs/dev/configurations) - [Release notes](https://ragflow.io/docs/dev/release_notes) - [User guides](https://ragflow.io/docs/category/user-guides) - [Developer guides](https://ragflow.io/docs/category/developer-guides) - [References](https://ragflow.io/docs/dev/category/references) - [FAQs](https://ragflow.io/docs/dev/faq) ## 📜 ロードマップ [RAGFlow ロードマップ 2026](https://github.com/infiniflow/ragflow/issues/12241) を参照 ## 🏄 コミュニティ - [Discord](https://discord.gg/NjYzJD3GM3) - [X](https://x.com/infiniflowai) - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions) ## 🙌 コントリビュート RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず [コントリビューションガイド](https://ragflow.io/docs/dev/contributing)をご覧ください。