From 290e5d958d9d81cfa4231d2d1708c0369f80d5ab Mon Sep 17 00:00:00 2001 From: Moonlit Date: Tue, 30 Apr 2024 18:45:53 +0800 Subject: [PATCH] docs: Add instructions for launching service from source (#619) This commit includes detailed steps for setting up and launching the service directly from the source code. It covers cloning the repository, setting up a virtual environment, configuring environment variables, and starting the service using Docker. This update ensures that developers have clear guidance on how to get the service running in a development environment. ### What problem does this PR solve? _Briefly describe what this PR aims to solve. Include background context that will help reviewers understand the purpose of the PR._ ### Type of change - [x] Documentation Update --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README_ja.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README_zh.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 180 insertions(+) diff --git a/README.md b/README.md index 7c3186049..a050c44b3 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,66 @@ $ chmod +x ./entrypoint.sh $ docker compose up -d ``` +## 🛠️ Launch Service from Source + +To launch the service from source, please follow these steps: + +1. Clone the repository +```bash +$ git clone https://github.com/infiniflow/ragflow.git +$ cd ragflow/ +``` + +2. Create a virtual environment (ensure Anaconda or Miniconda is installed) +```bash +$ conda create -n ragflow python=3.11.0 +$ conda activate ragflow +$ pip install -r requirements.txt +``` +If CUDA version is greater than 12.0, execute the following additional commands: +```bash +$ pip uninstall -y onnxruntime-gpu +$ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ +``` + +3. Copy the entry script and configure environment variables +```bash +$ cp docker/entrypoint.sh . +$ vi entrypoint.sh +``` +Use the following commands to obtain the Python path and the ragflow project path: +```bash +$ which python +$ pwd +``` + +Set the output of `which python` as the value for `PY` and the output of `pwd` as the value for `PYTHONPATH`. + +If `LD_LIBRARY_PATH` is already configured, it can be commented out. + +```bash +# Adjust configurations according to your actual situation; the two export commands are newly added. +PY=${PY} +export PYTHONPATH=${PYTHONPATH} +# Optional: Add Hugging Face mirror +export HF_ENDPOINT=https://hf-mirror.com +``` + +4. Start the base services +```bash +$ cd docker +$ docker compose -f docker-compose-base.yml up -d +``` + +5. Check the configuration files +Ensure that the settings in **docker/.env** match those in **conf/service_conf.yaml**. The IP addresses and ports for related services in **service_conf.yaml** should be changed to the local machine IP and ports exposed by the container. + +6. Launch the service +```bash +$ chmod +x ./entrypoint.sh +$ bash ./entrypoint.sh +``` + ## 📚 Documentation - [FAQ](./docs/faq.md) diff --git a/README_ja.md b/README_ja.md index 2f0d2256c..1e69308e9 100644 --- a/README_ja.md +++ b/README_ja.md @@ -186,6 +186,66 @@ $ chmod +x ./entrypoint.sh $ docker compose up -d ``` +## 🛠️ ソースコードからサービスを起動する方法 + +ソースコードからサービスを起動する場合は、以下の手順に従ってください: + +1. リポジトリをクローンします +```bash +$ git clone https://github.com/infiniflow/ragflow.git +$ cd ragflow/ +``` + +2. 仮想環境を作成します(AnacondaまたはMinicondaがインストールされていることを確認してください) +```bash +$ conda create -n ragflow python=3.11.0 +$ conda activate ragflow +$ pip install -r requirements.txt +``` +CUDAのバージョンが12.0以上の場合、以下の追加コマンドを実行してください: +```bash +$ pip uninstall -y onnxruntime-gpu +$ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ +``` + +3. エントリースクリプトをコピーし、環境変数を設定します +```bash +$ cp docker/entrypoint.sh . +$ vi entrypoint.sh +``` +以下のコマンドでPythonのパスとragflowプロジェクトのパスを取得します: +```bash +$ which python +$ pwd +``` + +`which python`の出力を`PY`の値として、`pwd`の出力を`PYTHONPATH`の値として設定します。 + +`LD_LIBRARY_PATH`が既に設定されている場合は、コメントアウトできます。 + +```bash +# 実際の状況に応じて設定を調整してください。以下の二つのexportは新たに追加された設定です +PY=${PY} +export PYTHONPATH=${PYTHONPATH} +# オプション:Hugging Faceミラーを追加 +export HF_ENDPOINT=https://hf-mirror.com +``` + +4. 基本サービスを起動します +```bash +$ cd docker +$ docker compose -f docker-compose-base.yml up -d +``` + +5. 設定ファイルを確認します +**docker/.env**内の設定が**conf/service_conf.yaml**内の設定と一致していることを確認してください。**service_conf.yaml**内の関連サービスのIPアドレスとポートは、ローカルマシンのIPアドレスとコンテナが公開するポートに変更する必要があります。 + +6. サービスを起動します +```bash +$ chmod +x ./entrypoint.sh +$ bash ./entrypoint.sh +``` + ## 📚 ドキュメンテーション - [FAQ](./docs/faq.md) diff --git a/README_zh.md b/README_zh.md index 2ca5cb5c3..cec041fa3 100644 --- a/README_zh.md +++ b/README_zh.md @@ -186,6 +186,66 @@ $ chmod +x ./entrypoint.sh $ docker compose up -d ``` +## 🛠️ 源码启动服务 + +如需从源码启动服务,请参考以下步骤: + +1. 克隆仓库 +```bash +$ git clone https://github.com/infiniflow/ragflow.git +$ cd ragflow/ +``` + +2. 创建虚拟环境(确保已安装 Anaconda 或 Miniconda) +```bash +$ conda create -n ragflow python=3.11.0 +$ conda activate ragflow +$ pip install -r requirements.txt +``` +如果cuda > 12.0,需额外执行以下命令: +```bash +$ pip uninstall -y onnxruntime-gpu +$ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ +``` + +3. 拷贝入口脚本并配置环境变量 +```bash +$ cp docker/entrypoint.sh . +$ vi entrypoint.sh +``` +使用以下命令获取python路径及ragflow项目路径: +```bash +$ which python +$ pwd +``` + +将上述`which python`的输出作为`PY`的值,将`pwd`的输出作为`PYTHONPATH`的值。 + +`LD_LIBRARY_PATH`如果环境已经配置好,可以注释掉。 + +```bash +# 此处配置需要按照实际情况调整,两个export为新增配置 +PY=${PY} +export PYTHONPATH=${PYTHONPATH} +# 可选:添加Hugging Face镜像 +export HF_ENDPOINT=https://hf-mirror.com +``` + +4. 启动基础服务 +```bash +$ cd docker +$ docker compose -f docker-compose-base.yml up -d +``` + +5. 检查配置文件 +确保**docker/.env**中的配置与**conf/service_conf.yaml**中配置一致, **service_conf.yaml**中相关服务的IP地址与端口应该改成本机IP地址及容器映射出来的端口。 + +6. 启动服务 +```bash +$ chmod +x ./entrypoint.sh +$ bash ./entrypoint.sh +``` + ## 📚 技术文档 - [FAQ](./docs/faq.md)