英語 | 简体中文 | 日本語 | 한국어
?ラグフローとは何ですか?
?デモ
?最新のアップデート
?主な特長
?システムアーキテクチャ
?始めましょう
?構成
?モデルを埋め込まずに Docker イメージを構築する
?埋め込みモデルを含む Docker イメージを構築する
?開発用にソースからサービスを起動する
?ドキュメント
?ロードマップ
?コミュニティ
?貢献する
RAGFlow は、ドキュメントの深い理解に基づいたオープンソースの RAG (検索拡張生成) エンジンです。あらゆる規模の企業に合理化された RAG ワークフローを提供し、LLM (大規模言語モデル) を組み合わせて、さまざまな複雑な形式のデータからの十分に根拠のある引用に裏付けられた真実の質問応答機能を提供します。
https://demo.ragflow.io でデモをお試しください。
2024-11-04 deepdoc の DLA (Document Layout Analyze) モデルをアップグレードします。
2024-11-01 検索の精度を向上させるために、解析されたチャンクにキーワード抽出と関連質問の生成を追加しました。
2024-09-13 ナレッジベース Q&A の検索モードを追加しました。
2024-09-09 医療コンサルタント エージェント テンプレートを追加します。
2024-08-22 RAG を介した SQL ステートメントへのテキストのサポート。
2024-08-02 グラフラグとマインドマップからインスピレーションを得たGraphRAGをサポートしました。
⭐️ 私たちのリポジトリにスターを付けて、エキサイティングな新機能や改善点を常に最新の状態に保ってください!新しいリリースの通知をすぐに受け取れます! ?
複雑な形式の非構造化データから、文書の深い理解に基づいた知識を抽出します。
文字通り無制限のトークンの「データの干し草の山の中の針」を見つけます。
知的で説明しやすい。
豊富なテンプレートオプションから選択できます。
人間の介入を可能にするテキストのチャンク化の視覚化。
根拠のある回答をサポートするための主要な参考文献と追跡可能な引用を簡単に表示します。
Word、スライド、Excel、txt、画像、スキャンしたコピー、構造化データ、Web ページなどをサポートします。
合理化された RAG オーケストレーションは、個人企業と大企業の両方に対応します。
構成可能な LLM と埋め込みモデル。
複数のリコールと融合再ランキングを組み合わせたもの。
ビジネスとのシームレスな統合のための直感的な API。
CPU >= 4コア
RAM >= 16 GB
ディスク >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1
ローカル マシン (Windows、Mac、または Linux) に Docker をインストールしていない場合は、「Docker エンジンのインストール」を参照してください。
vm.max_map_count
>= 262144 であることを確認します。
vm.max_map_count
の値を確認するには:$ sysctl vm.max_map_countそうでない場合は、
vm.max_map_count
少なくとも 262144 の値にリセットします。# この場合、262144:$ sudo sysctl -w vm.max_map_count=262144 に設定します。この変更はシステムの再起動後にリセットされます。変更を永続的に保つには、 /etc/sysctl.confの
vm.max_map_count
値をそれに応じて追加または更新します。vm.max_map_count=262144
リポジトリのクローンを作成します。
$ git clone https://github.com/infiniflow/ragflow.git
事前に構築された Docker イメージを構築し、サーバーを起動します。
以下のコマンドは、RAGFlow スリム (
dev-slim
) の開発バージョンの Docker イメージをダウンロードします。 RAGFlow スリム Docker イメージには埋め込みモデルや Python ライブラリが含まれていないため、サイズが約 1GB であることに注意してください。
$ cd ラグフロー/ドッカー $ docker compose -f docker-compose.yml up -d
注:埋め込みモデルと Python ライブラリを含む RAGFlow Docker イメージのサイズは約 9 GB で、ロードにかなり長い時間がかかる場合があります。
特定のバージョンの RAGFlow スリム Docker イメージをダウンロードするには、* docker/.env * のRAGFlow_IMAGE
変数を目的のバージョンに更新します。たとえば、 RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
。この変更を行った後、上記のコマンドを再実行してダウンロードを開始します。
埋め込みモデルと Python ライブラリを含むRAGFlow Docker イメージの開発バージョンをダウンロードするには、 docker/.envのRAGFlow_IMAGE
変数をRAGFLOW_IMAGE=infiniflow/ragflow:dev
に更新します。この変更を加えた後、上記のコマンドを再実行してダウンロードを開始します。
埋め込みモデルや Python ライブラリを含むRAGFlow Docker イメージの特定のバージョンをダウンロードするには、 docker/.envのRAGFlow_IMAGE
変数を目的のバージョンに更新します。たとえば、 RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
。この変更を加えた後、上記のコマンドを再実行してダウンロードを開始します。
サーバーを起動して実行した後、サーバーのステータスを確認します。
$ docker logs -f ragflow-server
次の出力は、システムが正常に起動したことを確認します。
__________ / __ / | /___//___///____ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |// /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * すべてのアドレス (0.0.0.0) で実行 * http://127.0.0.1:9380 で実行 * http://xxxx:9380 で実行 情報:werkzeug:CTRL+C を押して終了します
この確認手順をスキップして RAGFlow に直接ログインすると、その時点で RAGFlow が完全に初期化されていない可能性があるため、ブラウザで
network abnormal
エラーが表示されることがあります。
Web ブラウザにサーバーの IP アドレスを入力し、RAGFlow にログインします。
デフォルト設定を使用する場合、デフォルトの HTTP サービス ポート
80
省略できるため、http://IP_OF_YOUR_MACHINE
(ポート番号なし) を入力するだけで済みます。
service_conf.yaml で、 user_default_llm
内の目的の LLM ファクトリを選択し、対応する API キーでAPI_KEY
フィールドを更新します。
詳細については、「llm_api_key_setup」を参照してください。
ショーが始まります!
システム構成に関しては、次のファイルを管理する必要があります。
.env: SVR_HTTP_PORT
、 MYSQL_PASSWORD
、およびMINIO_PASSWORD
などのシステムの基本的な設定を保持します。
service_conf.yaml: バックエンド サービスを構成します。
docker-compose.yml: システムは docker-compose.yml に依存して起動します。
.env ファイルへの変更が、service_conf.yaml ファイルの内容と一致していることを確認する必要があります。
./docker/README ファイルには、環境設定とサービス構成の詳細な説明が記載されており、./docker/README ファイルにリストされているすべての環境設定が、service_conf.yaml ファイル内の対応する構成と一致していることを確認する必要があります。 。
デフォルトの HTTP サービング ポート (80) を更新するには、 docker-compose.yml に移動し、 80:80
<YOUR_SERVING_PORT>:80
に変更します。
上記の構成の更新を有効にするには、すべてのコンテナを再起動する必要があります。
$ docker compose -f docker/docker-compose.yml up -d
このイメージのサイズは約 1 GB で、外部 LLM および埋め込みサービスに依存しています。
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 インストール ハギングフェイスハブ nltk python3 ダウンロード_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim 。
このイメージのサイズは約 9 GB です。埋め込みモデルが含まれているため、外部 LLM サービスのみに依存します。
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 インストール ハギングフェイスハブ nltk python3 ダウンロード_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev 。
Poetry をインストールするか、すでにインストールされている場合はこの手順をスキップします。
カール -sSL https://install.python-poetry.org | Python3 -
ソース コードのクローンを作成し、Python の依存関係をインストールします。
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --sync --no-root # RAGFlow 依存の Python モジュールをインストール
Docker Compose を使用して依存サービス (MinIO、Elasticsearch、Redis、および MySQL) を起動します。
docker compose -f docker/docker-compose-base.yml up -d
次の行を/etc/hosts
に追加して、 docker/service_conf.yamlで指定されたすべてのホストを127.0.0.1
に解決します。
127.0.0.1 es01 mysql minio redis
docker/service_conf.yamlで、 docker/.envで指定されているように、 mysql ポートを5455
に、es ポートを1200
に更新します。
HuggingFace にアクセスできない場合は、ミラー サイトを使用するようにHF_ENDPOINT
環境変数を設定します。
エクスポート HF_ENDPOINT=https://hf-mirror.com
バックエンド サービスを起動します。
ソース .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
フロントエンドの依存関係をインストールします。
CDウェブ npm install --force
.umirc.tsのproxy.target
http://127.0.0.1:9380
に更新するようにフロントエンドを構成します。
フロントエンドサービスを起動します。
npm 実行開発
次の出力は、システムが正常に起動したことを確認します。
クイックスタート
ユーザーガイド
参考文献
よくある質問
2024 年の RAGFlow ロードマップを参照
不和
ツイッター
GitHub ディスカッション
RAGFlow はオープンソース コラボレーションを通じて繁栄します。この精神に基づき、私たちはコミュニティからのさまざまな貢献を受け入れます。参加したい場合は、まず投稿ガイドラインを確認してください。