RAGFlow は、深い文書理解に基づいたオープンソースの RAG (Retrieval-Augmented Generation) エンジンである。LLM(大規模言語モデル)を組み合わせることで、様々な複雑なフォーマットのデータから根拠のある引用に裏打ちされた、信頼できる質問応答機能を実現し、あらゆる規模のビジネスに適した RAG ワークフローを提供します。
デモをお試しください:https://demo.ragflow.io。
vm.max_map_count >= 262144 であることを確認する:
vm.max_map_countの値をチェックするには:> $ 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
   $ cd ragflow/docker
   $ chmod +x ./entrypoint.sh
   $ docker compose up -d
上記のコマンドを実行すると、RAGFlowの開発版dockerイメージが自動的にダウンロードされます。 特定のバージョンのDockerイメージをダウンロードして実行したい場合は、docker/.envファイルのRAGFLOW_VERSION変数を見つけて、対応するバージョンに変更してください。 例えば、RAGFLOW_VERSION=v0.11.0として、上記のコマンドを実行してください。
コアイメージのサイズは約 9 GB で、ロードに時間がかかる場合があります。
   $ docker logs -f ragflow-server
以下の出力は、システムが正常に起動したことを確認するものです:
       ____                 ______ __
      / __ \ ____ _ ____ _ / ____// /____  _      __
     / /_/ // __ `// __ `// /_   / // __ \| | /| / /
    / _, _// /_/ // /_/ // __/  / // /_/ /| |/ |/ /
   /_/ |_| \__,_/ \__, //_/    /_/ \____/ |__/|__/
                 /____/
    * Running on all addresses (0.0.0.0)
    * Running on http://127.0.0.1:9380
    * Running on http://x.x.x.x:9380
    INFO:werkzeug:Press CTRL+C to quit
もし確認ステップをスキップして直接 RAGFlow にログインした場合、その時点で RAGFlow が完全に初期化されていない可能性があるため、ブラウザーがネットワーク異常エラーを表示するかもしれません。
80 は省略できるので、与えられたシナリオでは、http://IP_OF_YOUR_MACHINE(ポート番号は省略)だけを入力すればよい。user_default_llm で希望の LLM ファクトリを選択し、API_KEY フィールドを対応する API キーで更新する。詳しくは llm_api_key_setup を参照してください。
これで初期設定完了!ショーの開幕です!
システムコンフィグに関しては、以下のファイルを管理する必要がある:
SVR_HTTP_PORT、MYSQL_PASSWORD、MINIO_PASSWORD などのシステムの基本設定を保持する。.env ファイルの変更が service_conf.yaml ファイルの内容と一致していることを確認する必要があります。
./docker/README ファイルは環境設定とサービスコンフィグの詳細な説明を提供し、./docker/README ファイルに記載されている全ての環境設定が service_conf.yaml ファイルの対応するコンフィグと一致していることを確認することが義務付けられています。
デフォルトの HTTP サービングポート(80)を更新するには、docker-compose.yml にアクセスして、80:80 を <YOUR_SERVING_PORT>:80 に変更します。
すべてのシステム設定のアップデートを有効にするには、システムの再起動が必要です:
> $ docker-compose up -d > ``` ## 🛠️ ソースからビルドする ソースからDockerイメージをビルドするには: ```bash $ git clone https://github.com/infiniflow/ragflow.git $ cd ragflow/ $ docker build -t infiniflow/ragflow:v0.11.0 . $ cd ragflow/docker $ chmod +x ./entrypoint.sh $ docker compose up -d
ソースコードからサービスを起動する場合は、以下の手順に従ってください:
リポジトリをクローンします
$ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/
仮想環境を作成します(AnacondaまたはMinicondaがインストールされていることを確認してください)
$ conda create -n ragflow python=3.11.0
$ conda activate ragflow
$ pip install -r requirements.txt
CUDAのバージョンが12.0以上の場合、以下の追加コマンドを実行してください:
$ pip uninstall -y onnxruntime-gpu
$ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
エントリースクリプトをコピーし、環境変数を設定します
$ cp docker/entrypoint.sh .
$ vi entrypoint.sh
以下のコマンドで Python のパスとragflowプロジェクトのパスを取得します:
$ which python
$ pwd
which python の出力を PY の値として、pwd の出力を PYTHONPATH の値として設定します。
LD_LIBRARY_PATH が既に設定されている場合は、コメントアウトできます。
# 実際の状況に応じて設定を調整してください。以下の二つの export は新たに追加された設定です
PY=${PY}
export PYTHONPATH=${PYTHONPATH}
# オプション:Hugging Face ミラーを追加
export HF_ENDPOINT=https://hf-mirror.com
基本サービスを起動します
$ cd docker
$ docker compose -f docker-compose-base.yml up -d 
設定ファイルを確認します docker/.env 内の設定がconf/service_conf.yaml内の設定と一致していることを確認してください。service_conf.yaml内の関連サービスのIPアドレスとポートは、ローカルマシンのIPアドレスとコンテナが公開するポートに変更する必要があります。
サービスを起動します
$ chmod +x ./entrypoint.sh
$ bash ./entrypoint.sh
RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず コントリビューションガイドをご覧ください。