Update version and format (#1878)

### What problem does this PR solve?

1. Update the change line to Unix style
2. Update version info.

### Type of change

- [x] Documentation Update

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai 2024-08-08 23:59:26 +08:00 committed by GitHub
parent 193aa3ba88
commit 33e78cf638
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 639 additions and 639 deletions

696
README.md
View File

@ -1,348 +1,348 @@
<div align="center"> <div align="center">
<a href="https://demo.ragflow.io/"> <a href="https://demo.ragflow.io/">
<img src="web/src/assets/logo-with-text.png" width="520" alt="ragflow logo"> <img src="web/src/assets/logo-with-text.png" width="520" alt="ragflow logo">
</a> </a>
</div> </div>
<p align="center"> <p align="center">
<a href="./README.md">English</a> | <a href="./README.md">English</a> |
<a href="./README_zh.md">简体中文</a> | <a href="./README_zh.md">简体中文</a> |
<a href="./README_ja.md">日本語</a> <a href="./README_ja.md">日本語</a>
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/infiniflow/ragflow/releases/latest"> <a href="https://github.com/infiniflow/ragflow/releases/latest">
<img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release"> <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
</a> </a>
<a href="https://demo.ragflow.io" target="_blank"> <a href="https://demo.ragflow.io" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a> <img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a>
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank"> <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
<img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen" alt="docker pull infiniflow/ragflow:v0.9.0"></a> <img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen" alt="docker pull infiniflow/ragflow:v0.9.0"></a>
<a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE"> <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
<img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license"> <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
</a> </a>
</p> </p>
<h4 align="center"> <h4 align="center">
<a href="https://ragflow.io/docs/dev/">Document</a> | <a href="https://ragflow.io/docs/dev/">Document</a> |
<a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> | <a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> |
<a href="https://twitter.com/infiniflowai">Twitter</a> | <a href="https://twitter.com/infiniflowai">Twitter</a> |
<a href="https://discord.gg/4XxujFgUN7">Discord</a> | <a href="https://discord.gg/4XxujFgUN7">Discord</a> |
<a href="https://demo.ragflow.io">Demo</a> <a href="https://demo.ragflow.io">Demo</a>
</h4> </h4>
<details open> <details open>
<summary></b>📕 Table of Contents</b></summary> <summary></b>📕 Table of Contents</b></summary>
- 💡 [What is RAGFlow?](#-what-is-ragflow) - 💡 [What is RAGFlow?](#-what-is-ragflow)
- 🎮 [Demo](#-demo) - 🎮 [Demo](#-demo)
- 📌 [Latest Updates](#-latest-updates) - 📌 [Latest Updates](#-latest-updates)
- 🌟 [Key Features](#-key-features) - 🌟 [Key Features](#-key-features)
- 🔎 [System Architecture](#-system-architecture) - 🔎 [System Architecture](#-system-architecture)
- 🎬 [Get Started](#-get-started) - 🎬 [Get Started](#-get-started)
- 🔧 [Configurations](#-configurations) - 🔧 [Configurations](#-configurations)
- 🛠️ [Build from source](#-build-from-source) - 🛠️ [Build from source](#-build-from-source)
- 🛠️ [Launch service from source](#-launch-service-from-source) - 🛠️ [Launch service from source](#-launch-service-from-source)
- 📚 [Documentation](#-documentation) - 📚 [Documentation](#-documentation)
- 📜 [Roadmap](#-roadmap) - 📜 [Roadmap](#-roadmap)
- 🏄 [Community](#-community) - 🏄 [Community](#-community)
- 🙌 [Contributing](#-contributing) - 🙌 [Contributing](#-contributing)
</details> </details>
## 💡 What is RAGFlow? ## 💡 What is RAGFlow?
[RAGFlow](https://ragflow.io/) is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. It offers a streamlined RAG workflow for businesses of any scale, combining LLM (Large Language Models) to provide truthful question-answering capabilities, backed by well-founded citations from various complex formatted data. [RAGFlow](https://ragflow.io/) is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. It offers a streamlined RAG workflow for businesses of any scale, combining LLM (Large Language Models) to provide truthful question-answering capabilities, backed by well-founded citations from various complex formatted data.
## 🎮 Demo ## 🎮 Demo
Try our demo at [https://demo.ragflow.io](https://demo.ragflow.io). Try our demo at [https://demo.ragflow.io](https://demo.ragflow.io).
<div align="center" style="margin-top:20px;margin-bottom:20px;"> <div align="center" style="margin-top:20px;margin-bottom:20px;">
<img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/> <img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
<img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/> <img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/>
</div> </div>
## 🔥 Latest Updates ## 🔥 Latest Updates
- 2024-08-02 Supports GraphRAG inspired by [graphrag](https://github.com/microsoft/graphrag) , and mind map. - 2024-08-02 Supports GraphRAG inspired by [graphrag](https://github.com/microsoft/graphrag) , and mind map.
- 2024-07-23 Supports audio file parsing. - 2024-07-23 Supports audio file parsing.
- 2024-07-21 Supports more LLMs (LocalAI, OpenRouter, StepFun, and Nvidia). - 2024-07-21 Supports more LLMs (LocalAI, OpenRouter, StepFun, and Nvidia).
- 2024-07-18 Adds more components (Wikipedia, PubMed, Baidu, and Duckduckgo) to the graph. - 2024-07-18 Adds more components (Wikipedia, PubMed, Baidu, and Duckduckgo) to the graph.
- 2024-07-08 Supports workflow based on [Graph](./graph/README.md). - 2024-07-08 Supports workflow based on [Graph](./graph/README.md).
- 2024-06-27 Supports Markdown and Docx in the Q&A parsing method. - 2024-06-27 Supports Markdown and Docx in the Q&A parsing method.
- 2024-06-27 Supports extracting images from Docx files. - 2024-06-27 Supports extracting images from Docx files.
- 2024-06-27 Supports extracting tables from Markdown files. - 2024-06-27 Supports extracting tables from Markdown files.
- 2024-06-06 Supports [Self-RAG](https://huggingface.co/papers/2310.11511), which is enabled by default in dialog settings. - 2024-06-06 Supports [Self-RAG](https://huggingface.co/papers/2310.11511), which is enabled by default in dialog settings.
- 2024-05-30 Integrates [BCE](https://github.com/netease-youdao/BCEmbedding) and [BGE](https://github.com/FlagOpen/FlagEmbedding) reranker models. - 2024-05-30 Integrates [BCE](https://github.com/netease-youdao/BCEmbedding) and [BGE](https://github.com/FlagOpen/FlagEmbedding) reranker models.
- 2024-05-23 Supports [RAPTOR](https://arxiv.org/html/2401.18059v1) for better text retrieval. - 2024-05-23 Supports [RAPTOR](https://arxiv.org/html/2401.18059v1) for better text retrieval.
- 2024-05-15 Integrates OpenAI GPT-4o. - 2024-05-15 Integrates OpenAI GPT-4o.
## 🌟 Key Features ## 🌟 Key Features
### 🍭 **"Quality in, quality out"** ### 🍭 **"Quality in, quality out"**
- [Deep document understanding](./deepdoc/README.md)-based knowledge extraction from unstructured data with complicated formats. - [Deep document understanding](./deepdoc/README.md)-based knowledge extraction from unstructured data with complicated formats.
- Finds "needle in a data haystack" of literally unlimited tokens. - Finds "needle in a data haystack" of literally unlimited tokens.
### 🍱 **Template-based chunking** ### 🍱 **Template-based chunking**
- Intelligent and explainable. - Intelligent and explainable.
- Plenty of template options to choose from. - Plenty of template options to choose from.
### 🌱 **Grounded citations with reduced hallucinations** ### 🌱 **Grounded citations with reduced hallucinations**
- Visualization of text chunking to allow human intervention. - Visualization of text chunking to allow human intervention.
- Quick view of the key references and traceable citations to support grounded answers. - Quick view of the key references and traceable citations to support grounded answers.
### 🍔 **Compatibility with heterogeneous data sources** ### 🍔 **Compatibility with heterogeneous data sources**
- Supports Word, slides, excel, txt, images, scanned copies, structured data, web pages, and more. - Supports Word, slides, excel, txt, images, scanned copies, structured data, web pages, and more.
### 🛀 **Automated and effortless RAG workflow** ### 🛀 **Automated and effortless RAG workflow**
- Streamlined RAG orchestration catered to both personal and large businesses. - Streamlined RAG orchestration catered to both personal and large businesses.
- Configurable LLMs as well as embedding models. - Configurable LLMs as well as embedding models.
- Multiple recall paired with fused re-ranking. - Multiple recall paired with fused re-ranking.
- Intuitive APIs for seamless integration with business. - Intuitive APIs for seamless integration with business.
## 🔎 System Architecture ## 🔎 System Architecture
<div align="center" style="margin-top:20px;margin-bottom:20px;"> <div align="center" style="margin-top:20px;margin-bottom:20px;">
<img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/> <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
</div> </div>
## 🎬 Get Started ## 🎬 Get Started
### 📝 Prerequisites ### 📝 Prerequisites
- CPU >= 4 cores - CPU >= 4 cores
- RAM >= 16 GB - RAM >= 16 GB
- Disk >= 50 GB - Disk >= 50 GB
- Docker >= 24.0.0 & Docker Compose >= v2.26.1 - Docker >= 24.0.0 & Docker Compose >= v2.26.1
> If you have not installed Docker on your local machine (Windows, Mac, or Linux), see [Install Docker Engine](https://docs.docker.com/engine/install/). > If you have not installed Docker on your local machine (Windows, Mac, or Linux), see [Install Docker Engine](https://docs.docker.com/engine/install/).
### 🚀 Start up the server ### 🚀 Start up the server
1. Ensure `vm.max_map_count` >= 262144: 1. Ensure `vm.max_map_count` >= 262144:
> To check the value of `vm.max_map_count`: > To check the value of `vm.max_map_count`:
> >
> ```bash > ```bash
> $ sysctl vm.max_map_count > $ sysctl vm.max_map_count
> ``` > ```
> >
> Reset `vm.max_map_count` to a value at least 262144 if it is not. > Reset `vm.max_map_count` to a value at least 262144 if it is not.
> >
> ```bash > ```bash
> # In this case, we set it to 262144: > # In this case, we set it to 262144:
> $ sudo sysctl -w vm.max_map_count=262144 > $ sudo sysctl -w vm.max_map_count=262144
> ``` > ```
> >
> This change will be reset after a system reboot. To ensure your change remains permanent, add or update the `vm.max_map_count` value in **/etc/sysctl.conf** accordingly: > This change will be reset after a system reboot. To ensure your change remains permanent, add or update the `vm.max_map_count` value in **/etc/sysctl.conf** accordingly:
> >
> ```bash > ```bash
> vm.max_map_count=262144 > vm.max_map_count=262144
> ``` > ```
2. Clone the repo: 2. Clone the repo:
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git $ git clone https://github.com/infiniflow/ragflow.git
``` ```
3. Build the pre-built Docker images and start up the server: 3. Build the pre-built Docker images and start up the server:
> Running the following commands automatically downloads the *dev* version RAGFlow Docker image. To download and run a specified Docker version, update `RAGFLOW_VERSION` in **docker/.env** to the intended version, for example `RAGFLOW_VERSION=v0.8.0`, before running the following commands. > Running the following commands automatically downloads the *dev* version RAGFlow Docker image. To download and run a specified Docker version, update `RAGFLOW_VERSION` in **docker/.env** to the intended version, for example `RAGFLOW_VERSION=v0.9.0`, before running the following commands.
```bash ```bash
$ cd ragflow/docker $ cd ragflow/docker
$ chmod +x ./entrypoint.sh $ chmod +x ./entrypoint.sh
$ docker compose up -d $ docker compose up -d
``` ```
> The core image is about 9 GB in size and may take a while to load. > The core image is about 9 GB in size and may take a while to load.
4. Check the server status after having the server up and running: 4. Check the server status after having the server up and running:
```bash ```bash
$ docker logs -f ragflow-server $ docker logs -f ragflow-server
``` ```
_The following output confirms a successful launch of the system:_ _The following output confirms a successful launch of the system:_
```bash ```bash
____ ______ __ ____ ______ __
/ __ \ ____ _ ____ _ / ____// /____ _ __ / __ \ ____ _ ____ _ / ____// /____ _ __
/ /_/ // __ `// __ `// /_ / // __ \| | /| / / / /_/ // __ `// __ `// /_ / // __ \| | /| / /
/ _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ / / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/ /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
/____/ /____/
* Running on all addresses (0.0.0.0) * Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380 * Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380 * Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit INFO:werkzeug:Press CTRL+C to quit
``` ```
> If you skip this confirmation step and directly log in to RAGFlow, your browser may prompt a `network anomaly` error because, at that moment, your RAGFlow may not be fully initialized. > If you skip this confirmation step and directly log in to RAGFlow, your browser may prompt a `network anomaly` error because, at that moment, your RAGFlow may not be fully initialized.
5. In your web browser, enter the IP address of your server and log in to RAGFlow. 5. In your web browser, enter the IP address of your server and log in to RAGFlow.
> With the default settings, you only need to enter `http://IP_OF_YOUR_MACHINE` (**sans** port number) as the default HTTP serving port `80` can be omitted when using the default configurations. > With the default settings, you only need to enter `http://IP_OF_YOUR_MACHINE` (**sans** port number) as the default HTTP serving port `80` can be omitted when using the default configurations.
6. In [service_conf.yaml](./docker/service_conf.yaml), select the desired LLM factory in `user_default_llm` and update the `API_KEY` field with the corresponding API key. 6. In [service_conf.yaml](./docker/service_conf.yaml), select the desired LLM factory in `user_default_llm` and update the `API_KEY` field with the corresponding API key.
> See [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) for more information. > See [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) for more information.
_The show is now on!_ _The show is now on!_
## 🔧 Configurations ## 🔧 Configurations
When it comes to system configurations, you will need to manage the following files: When it comes to system configurations, you will need to manage the following files:
- [.env](./docker/.env): Keeps the fundamental setups for the system, such as `SVR_HTTP_PORT`, `MYSQL_PASSWORD`, and `MINIO_PASSWORD`. - [.env](./docker/.env): Keeps the fundamental setups for the system, such as `SVR_HTTP_PORT`, `MYSQL_PASSWORD`, and `MINIO_PASSWORD`.
- [service_conf.yaml](./docker/service_conf.yaml): Configures the back-end services. - [service_conf.yaml](./docker/service_conf.yaml): Configures the back-end services.
- [docker-compose.yml](./docker/docker-compose.yml): The system relies on [docker-compose.yml](./docker/docker-compose.yml) to start up. - [docker-compose.yml](./docker/docker-compose.yml): The system relies on [docker-compose.yml](./docker/docker-compose.yml) to start up.
You must ensure that changes to the [.env](./docker/.env) file are in line with what are in the [service_conf.yaml](./docker/service_conf.yaml) file. You must ensure that changes to the [.env](./docker/.env) file are in line with what are in the [service_conf.yaml](./docker/service_conf.yaml) file.
> The [./docker/README](./docker/README.md) file provides a detailed description of the environment settings and service configurations, and you are REQUIRED to ensure that all environment settings listed in the [./docker/README](./docker/README.md) file are aligned with the corresponding configurations in the [service_conf.yaml](./docker/service_conf.yaml) file. > The [./docker/README](./docker/README.md) file provides a detailed description of the environment settings and service configurations, and you are REQUIRED to ensure that all environment settings listed in the [./docker/README](./docker/README.md) file are aligned with the corresponding configurations in the [service_conf.yaml](./docker/service_conf.yaml) file.
To update the default HTTP serving port (80), go to [docker-compose.yml](./docker/docker-compose.yml) and change `80:80` to `<YOUR_SERVING_PORT>:80`. To update the default HTTP serving port (80), go to [docker-compose.yml](./docker/docker-compose.yml) and change `80:80` to `<YOUR_SERVING_PORT>:80`.
> Updates to all system configurations require a system reboot to take effect: > Updates to all system configurations require a system reboot to take effect:
> >
> ```bash > ```bash
> $ docker-compose up -d > $ docker-compose up -d
> ``` > ```
## 🛠️ Build from source ## 🛠️ Build from source
To build the Docker images from source: To build the Docker images from source:
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git $ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/ $ cd ragflow/
$ docker build -t infiniflow/ragflow:dev . $ docker build -t infiniflow/ragflow:dev .
$ cd ragflow/docker $ cd ragflow/docker
$ chmod +x ./entrypoint.sh $ chmod +x ./entrypoint.sh
$ docker compose up -d $ docker compose up -d
``` ```
## 🛠️ Launch service from source ## 🛠️ Launch service from source
To launch the service from source: To launch the service from source:
1. Clone the repository: 1. Clone the repository:
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git $ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/ $ cd ragflow/
``` ```
2. Create a virtual environment, ensuring that Anaconda or Miniconda is installed: 2. Create a virtual environment, ensuring that Anaconda or Miniconda is installed:
```bash ```bash
$ conda create -n ragflow python=3.11.0 $ conda create -n ragflow python=3.11.0
$ conda activate ragflow $ conda activate ragflow
$ pip install -r requirements.txt $ pip install -r requirements.txt
``` ```
```bash ```bash
# If your CUDA version is higher than 12.0, run the following additional commands: # If your CUDA version is higher than 12.0, run the following additional commands:
$ pip uninstall -y onnxruntime-gpu $ pip uninstall -y onnxruntime-gpu
$ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ $ 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: 3. Copy the entry script and configure environment variables:
```bash ```bash
# Get the Python path: # Get the Python path:
$ which python $ which python
# Get the ragflow project path: # Get the ragflow project path:
$ pwd $ pwd
``` ```
```bash ```bash
$ cp docker/entrypoint.sh . $ cp docker/entrypoint.sh .
$ vi entrypoint.sh $ vi entrypoint.sh
``` ```
```bash ```bash
# Adjust configurations according to your actual situation (the following two export commands are newly added): # Adjust configurations according to your actual situation (the following two export commands are newly added):
# - Assign the result of `which python` to `PY`. # - Assign the result of `which python` to `PY`.
# - Assign the result of `pwd` to `PYTHONPATH`. # - Assign the result of `pwd` to `PYTHONPATH`.
# - Comment out `LD_LIBRARY_PATH`, if it is configured. # - Comment out `LD_LIBRARY_PATH`, if it is configured.
# - Optional: Add Hugging Face mirror. # - Optional: Add Hugging Face mirror.
PY=${PY} PY=${PY}
export PYTHONPATH=${PYTHONPATH} export PYTHONPATH=${PYTHONPATH}
export HF_ENDPOINT=https://hf-mirror.com export HF_ENDPOINT=https://hf-mirror.com
``` ```
4. Launch the third-party services (MinIO, Elasticsearch, Redis, and MySQL): 4. Launch the third-party services (MinIO, Elasticsearch, Redis, and MySQL):
```bash ```bash
$ cd docker $ cd docker
$ docker compose -f docker-compose-base.yml up -d $ docker compose -f docker-compose-base.yml up -d
``` ```
5. Check the configuration files, ensuring that: 5. Check the configuration files, ensuring that:
- The settings in **docker/.env** match those in **conf/service_conf.yaml**. - The settings in **docker/.env** match those in **conf/service_conf.yaml**.
- The IP addresses and ports for related services in **service_conf.yaml** match the local machine IP and ports exposed by the container. - The IP addresses and ports for related services in **service_conf.yaml** match the local machine IP and ports exposed by the container.
6. Launch the RAGFlow backend service: 6. Launch the RAGFlow backend service:
```bash ```bash
$ chmod +x ./entrypoint.sh $ chmod +x ./entrypoint.sh
$ bash ./entrypoint.sh $ bash ./entrypoint.sh
``` ```
7. Launch the frontend service: 7. Launch the frontend service:
```bash ```bash
$ cd web $ cd web
$ npm install --registry=https://registry.npmmirror.com --force $ npm install --registry=https://registry.npmmirror.com --force
$ vim .umirc.ts $ vim .umirc.ts
# Update proxy.target to http://127.0.0.1:9380 # Update proxy.target to http://127.0.0.1:9380
$ npm run dev $ npm run dev
``` ```
8. Deploy the frontend service: 8. Deploy the frontend service:
```bash ```bash
$ cd web $ cd web
$ npm install --registry=https://registry.npmmirror.com --force $ npm install --registry=https://registry.npmmirror.com --force
$ umi build $ umi build
$ mkdir -p /ragflow/web $ mkdir -p /ragflow/web
$ cp -r dist /ragflow/web $ cp -r dist /ragflow/web
$ apt install nginx -y $ apt install nginx -y
$ cp ../docker/nginx/proxy.conf /etc/nginx $ cp ../docker/nginx/proxy.conf /etc/nginx
$ cp ../docker/nginx/nginx.conf /etc/nginx $ cp ../docker/nginx/nginx.conf /etc/nginx
$ cp ../docker/nginx/ragflow.conf /etc/nginx/conf.d $ cp ../docker/nginx/ragflow.conf /etc/nginx/conf.d
$ systemctl start nginx $ systemctl start nginx
``` ```
## 📚 Documentation ## 📚 Documentation
- [Quickstart](https://ragflow.io/docs/dev/) - [Quickstart](https://ragflow.io/docs/dev/)
- [User guide](https://ragflow.io/docs/dev/category/user-guides) - [User guide](https://ragflow.io/docs/dev/category/user-guides)
- [References](https://ragflow.io/docs/dev/category/references) - [References](https://ragflow.io/docs/dev/category/references)
- [FAQ](https://ragflow.io/docs/dev/faq) - [FAQ](https://ragflow.io/docs/dev/faq)
## 📜 Roadmap ## 📜 Roadmap
See the [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162) See the [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
## 🏄 Community ## 🏄 Community
- [Discord](https://discord.gg/4XxujFgUN7) - [Discord](https://discord.gg/4XxujFgUN7)
- [Twitter](https://twitter.com/infiniflowai) - [Twitter](https://twitter.com/infiniflowai)
- [GitHub Discussions](https://github.com/orgs/infiniflow/discussions) - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions)
## 🙌 Contributing ## 🙌 Contributing
RAGFlow flourishes via open-source collaboration. In this spirit, we embrace diverse contributions from the community. If you would like to be a part, review our [Contribution Guidelines](./docs/references/CONTRIBUTING.md) first. RAGFlow flourishes via open-source collaboration. In this spirit, we embrace diverse contributions from the community. If you would like to be a part, review our [Contribution Guidelines](./docs/references/CONTRIBUTING.md) first.

View File

@ -1,291 +1,291 @@
<div align="center"> <div align="center">
<a href="https://demo.ragflow.io/"> <a href="https://demo.ragflow.io/">
<img src="web/src/assets/logo-with-text.png" width="350" alt="ragflow logo"> <img src="web/src/assets/logo-with-text.png" width="350" alt="ragflow logo">
</a> </a>
</div> </div>
<p align="center"> <p align="center">
<a href="./README.md">English</a> | <a href="./README.md">English</a> |
<a href="./README_zh.md">简体中文</a> | <a href="./README_zh.md">简体中文</a> |
<a href="./README_ja.md">日本語</a> <a href="./README_ja.md">日本語</a>
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/infiniflow/ragflow/releases/latest"> <a href="https://github.com/infiniflow/ragflow/releases/latest">
<img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release"> <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
</a> </a>
<a href="https://demo.ragflow.io" target="_blank"> <a href="https://demo.ragflow.io" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a> <img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a>
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank"> <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
<img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen" <img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen"
alt="docker pull infiniflow/ragflow:v0.9.0"></a> alt="docker pull infiniflow/ragflow:v0.9.0"></a>
<a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE"> <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
<img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license"> <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
</a> </a>
</p> </p>
<h4 align="center"> <h4 align="center">
<a href="https://ragflow.io/docs/dev/">Document</a> | <a href="https://ragflow.io/docs/dev/">Document</a> |
<a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> | <a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> |
<a href="https://twitter.com/infiniflowai">Twitter</a> | <a href="https://twitter.com/infiniflowai">Twitter</a> |
<a href="https://discord.gg/4XxujFgUN7">Discord</a> | <a href="https://discord.gg/4XxujFgUN7">Discord</a> |
<a href="https://demo.ragflow.io">Demo</a> <a href="https://demo.ragflow.io">Demo</a>
</h4> </h4>
## 💡 RAGFlow とは? ## 💡 RAGFlow とは?
[RAGFlow](https://ragflow.io/) は、深い文書理解に基づいたオープンソースの RAG (Retrieval-Augmented Generation) エンジンである。LLM大規模言語モデルを組み合わせることで、様々な複雑なフォーマットのデータから根拠のある引用に裏打ちされた、信頼できる質問応答機能を実現し、あらゆる規模のビジネスに適した RAG ワークフローを提供します。 [RAGFlow](https://ragflow.io/) は、深い文書理解に基づいたオープンソースの RAG (Retrieval-Augmented Generation) エンジンである。LLM大規模言語モデルを組み合わせることで、様々な複雑なフォーマットのデータから根拠のある引用に裏打ちされた、信頼できる質問応答機能を実現し、あらゆる規模のビジネスに適した RAG ワークフローを提供します。
## 🎮 Demo ## 🎮 Demo
デモをお試しください:[https://demo.ragflow.io](https://demo.ragflow.io)。 デモをお試しください:[https://demo.ragflow.io](https://demo.ragflow.io)。
<div align="center" style="margin-top:20px;margin-bottom:20px;"> <div align="center" style="margin-top:20px;margin-bottom:20px;">
<img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/> <img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
<img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/> <img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/>
</div> </div>
## 🔥 最新情報 ## 🔥 最新情報
- 2024-08-02 [graphrag](https://github.com/microsoft/graphrag) からインスピレーションを得た GraphRAG とマインド マップをサポートします。 - 2024-08-02 [graphrag](https://github.com/microsoft/graphrag) からインスピレーションを得た GraphRAG とマインド マップをサポートします。
- 2024-07-23 音声ファイルの解析をサポートしました。 - 2024-07-23 音声ファイルの解析をサポートしました。
- 2024-07-21 より多くの LLM サプライヤー (LocalAI/OpenRouter/StepFun/Nvidia) をサポートします。 - 2024-07-21 より多くの LLM サプライヤー (LocalAI/OpenRouter/StepFun/Nvidia) をサポートします。
- 2024-07-18 グラフにコンポーネント(Wikipedia/PubMed/Baidu/Duckduckgo)を追加しました。 - 2024-07-18 グラフにコンポーネント(Wikipedia/PubMed/Baidu/Duckduckgo)を追加しました。
- 2024-07-08 [Graph](./graph/README.md) ベースのワークフローをサポート - 2024-07-08 [Graph](./graph/README.md) ベースのワークフローをサポート
- 2024-06-27 Q&A解析方式はMarkdownファイルとDocxファイルをサポートしています。 - 2024-06-27 Q&A解析方式はMarkdownファイルとDocxファイルをサポートしています。
- 2024-06-27 Docxファイルからの画像の抽出をサポートします。 - 2024-06-27 Docxファイルからの画像の抽出をサポートします。
- 2024-06-27 Markdownファイルからテーブルを抽出することをサポートします。 - 2024-06-27 Markdownファイルからテーブルを抽出することをサポートします。
- 2024-06-06 会話設定でデフォルトでチェックされている [Self-RAG](https://huggingface.co/papers/2310.11511) をサポートします。 - 2024-06-06 会話設定でデフォルトでチェックされている [Self-RAG](https://huggingface.co/papers/2310.11511) をサポートします。
- 2024-05-30 [BCE](https://github.com/netease-youdao/BCEmbedding) 、[BGE](https://github.com/FlagOpen/FlagEmbedding) reranker を統合。 - 2024-05-30 [BCE](https://github.com/netease-youdao/BCEmbedding) 、[BGE](https://github.com/FlagOpen/FlagEmbedding) reranker を統合。
- 2024-05-23 より良いテキスト検索のために [RAPTOR](https://arxiv.org/html/2401.18059v1) をサポート。 - 2024-05-23 より良いテキスト検索のために [RAPTOR](https://arxiv.org/html/2401.18059v1) をサポート。
- 2024-05-15 OpenAI GPT-4oを統合しました。 - 2024-05-15 OpenAI GPT-4oを統合しました。
## 🌟 主な特徴 ## 🌟 主な特徴
### 🍭 **"Quality in, quality out"** ### 🍭 **"Quality in, quality out"**
- 複雑な形式の非構造化データからの[深い文書理解](./deepdoc/README.md)ベースの知識抽出。 - 複雑な形式の非構造化データからの[深い文書理解](./deepdoc/README.md)ベースの知識抽出。
- 無限のトークンから"干し草の山の中の針"を見つける。 - 無限のトークンから"干し草の山の中の針"を見つける。
### 🍱 **テンプレートベースのチャンク化** ### 🍱 **テンプレートベースのチャンク化**
- 知的で解釈しやすい。 - 知的で解釈しやすい。
- テンプレートオプションが豊富。 - テンプレートオプションが豊富。
### 🌱 **ハルシネーションが軽減された根拠のある引用** ### 🌱 **ハルシネーションが軽減された根拠のある引用**
- 可視化されたテキストチャンキングtext chunkingで人間の介入を可能にする。 - 可視化されたテキストチャンキングtext chunkingで人間の介入を可能にする。
- 重要な参考文献のクイックビューと、追跡可能な引用によって根拠ある答えをサポートする。 - 重要な参考文献のクイックビューと、追跡可能な引用によって根拠ある答えをサポートする。
### 🍔 **多様なデータソースとの互換性** ### 🍔 **多様なデータソースとの互換性**
- Word、スライド、Excel、txt、画像、スキャンコピー、構造化データ、Web ページなどをサポート。 - Word、スライド、Excel、txt、画像、スキャンコピー、構造化データ、Web ページなどをサポート。
### 🛀 **自動化された楽な RAG ワークフロー** ### 🛀 **自動化された楽な RAG ワークフロー**
- 個人から大企業まで対応できる RAG オーケストレーションorchestration - 個人から大企業まで対応できる RAG オーケストレーションorchestration
- カスタマイズ可能な LLM とエンベッディングモデル。 - カスタマイズ可能な LLM とエンベッディングモデル。
- 複数の想起と融合された再ランク付け。 - 複数の想起と融合された再ランク付け。
- 直感的な API によってビジネスとの統合がシームレスに。 - 直感的な API によってビジネスとの統合がシームレスに。
## 🔎 システム構成 ## 🔎 システム構成
<div align="center" style="margin-top:20px;margin-bottom:20px;"> <div align="center" style="margin-top:20px;margin-bottom:20px;">
<img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/> <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
</div> </div>
## 🎬 初期設定 ## 🎬 初期設定
### 📝 必要条件 ### 📝 必要条件
- CPU >= 4 cores - CPU >= 4 cores
- RAM >= 16 GB - RAM >= 16 GB
- Disk >= 50 GB - Disk >= 50 GB
- Docker >= 24.0.0 & Docker Compose >= v2.26.1 - Docker >= 24.0.0 & Docker Compose >= v2.26.1
> ローカルマシンWindows、Mac、または Linuxに Docker をインストールしていない場合は、[Docker Engine のインストール](https://docs.docker.com/engine/install/) を参照してください。 > ローカルマシンWindows、Mac、または Linuxに Docker をインストールしていない場合は、[Docker Engine のインストール](https://docs.docker.com/engine/install/) を参照してください。
### 🚀 サーバーを起動 ### 🚀 サーバーを起動
1. `vm.max_map_count` >= 262144 であることを確認する: 1. `vm.max_map_count` >= 262144 であることを確認する:
> `vm.max_map_count` の値をチェックするには: > `vm.max_map_count` の値をチェックするには:
> >
> ```bash > ```bash
> $ sysctl vm.max_map_count > $ sysctl vm.max_map_count
> ``` > ```
> >
> `vm.max_map_count` が 262144 より大きい値でなければリセットする。 > `vm.max_map_count` が 262144 より大きい値でなければリセットする。
> >
> ```bash > ```bash
> # In this case, we set it to 262144: > # In this case, we set it to 262144:
> $ sudo sysctl -w vm.max_map_count=262144 > $ sudo sysctl -w vm.max_map_count=262144
> ``` > ```
> >
> この変更はシステム再起動後にリセットされる。変更を恒久的なものにするには、**/etc/sysctl.conf** の `vm.max_map_count` 値を適宜追加または更新する: > この変更はシステム再起動後にリセットされる。変更を恒久的なものにするには、**/etc/sysctl.conf** の `vm.max_map_count` 値を適宜追加または更新する:
> >
> ```bash > ```bash
> vm.max_map_count=262144 > vm.max_map_count=262144
> ``` > ```
2. リポジトリをクローンする: 2. リポジトリをクローンする:
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git $ git clone https://github.com/infiniflow/ragflow.git
``` ```
3. ビルド済みの Docker イメージをビルドし、サーバーを起動する: 3. ビルド済みの Docker イメージをビルドし、サーバーを起動する:
```bash ```bash
$ cd ragflow/docker $ cd ragflow/docker
$ chmod +x ./entrypoint.sh $ chmod +x ./entrypoint.sh
$ docker compose up -d $ docker compose up -d
``` ```
> 上記のコマンドを実行すると、RAGFlowの開発版dockerイメージが自動的にダウンロードされます。 特定のバージョンのDockerイメージをダウンロードして実行したい場合は、docker/.envファイルのRAGFLOW_VERSION変数を見つけて、対応するバージョンに変更してください。 例えば、RAGFLOW_VERSION=v0.9.0として、上記のコマンドを実行してください。 > 上記のコマンドを実行すると、RAGFlowの開発版dockerイメージが自動的にダウンロードされます。 特定のバージョンのDockerイメージをダウンロードして実行したい場合は、docker/.envファイルのRAGFLOW_VERSION変数を見つけて、対応するバージョンに変更してください。 例えば、RAGFLOW_VERSION=v0.9.0として、上記のコマンドを実行してください。
> コアイメージのサイズは約 9 GB で、ロードに時間がかかる場合があります。 > コアイメージのサイズは約 9 GB で、ロードに時間がかかる場合があります。
4. サーバーを立ち上げた後、サーバーの状態を確認する: 4. サーバーを立ち上げた後、サーバーの状態を確認する:
```bash ```bash
$ docker logs -f ragflow-server $ docker logs -f ragflow-server
``` ```
_以下の出力は、システムが正常に起動したことを確認するものです:_ _以下の出力は、システムが正常に起動したことを確認するものです:_
```bash ```bash
____ ______ __ ____ ______ __
/ __ \ ____ _ ____ _ / ____// /____ _ __ / __ \ ____ _ ____ _ / ____// /____ _ __
/ /_/ // __ `// __ `// /_ / // __ \| | /| / / / /_/ // __ `// __ `// /_ / // __ \| | /| / /
/ _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ / / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/ /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
/____/ /____/
* Running on all addresses (0.0.0.0) * Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380 * Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380 * Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit INFO:werkzeug:Press CTRL+C to quit
``` ```
> もし確認ステップをスキップして直接 RAGFlow にログインした場合、その時点で RAGFlow が完全に初期化されていない可能性があるため、ブラウザーがネットワーク異常エラーを表示するかもしれません。 > もし確認ステップをスキップして直接 RAGFlow にログインした場合、その時点で RAGFlow が完全に初期化されていない可能性があるため、ブラウザーがネットワーク異常エラーを表示するかもしれません。
5. ウェブブラウザで、プロンプトに従ってサーバーの IP アドレスを入力し、RAGFlow にログインします。 5. ウェブブラウザで、プロンプトに従ってサーバーの IP アドレスを入力し、RAGFlow にログインします。
> デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。 > デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。
6. [service_conf.yaml](./docker/service_conf.yaml) で、`user_default_llm` で希望の LLM ファクトリを選択し、`API_KEY` フィールドを対応する API キーで更新する。 6. [service_conf.yaml](./docker/service_conf.yaml) で、`user_default_llm` で希望の LLM ファクトリを選択し、`API_KEY` フィールドを対応する API キーで更新する。
> 詳しくは [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) を参照してください。 > 詳しくは [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) を参照してください。
_これで初期設定完了ショーの開幕です_ _これで初期設定完了ショーの開幕です_
## 🔧 コンフィグ ## 🔧 コンフィグ
システムコンフィグに関しては、以下のファイルを管理する必要がある: システムコンフィグに関しては、以下のファイルを管理する必要がある:
- [.env](./docker/.env): `SVR_HTTP_PORT``MYSQL_PASSWORD``MINIO_PASSWORD` などのシステムの基本設定を保持する。 - [.env](./docker/.env): `SVR_HTTP_PORT``MYSQL_PASSWORD``MINIO_PASSWORD` などのシステムの基本設定を保持する。
- [service_conf.yaml](./docker/service_conf.yaml): バックエンドのサービスを設定します。 - [service_conf.yaml](./docker/service_conf.yaml): バックエンドのサービスを設定します。
- [docker-compose.yml](./docker/docker-compose.yml): システムの起動は [docker-compose.yml](./docker/docker-compose.yml) に依存している。 - [docker-compose.yml](./docker/docker-compose.yml): システムの起動は [docker-compose.yml](./docker/docker-compose.yml) に依存している。
[.env](./docker/.env) ファイルの変更が [service_conf.yaml](./docker/service_conf.yaml) ファイルの内容と一致していることを確認する必要があります。 [.env](./docker/.env) ファイルの変更が [service_conf.yaml](./docker/service_conf.yaml) ファイルの内容と一致していることを確認する必要があります。
> [./docker/README](./docker/README.md) ファイルは環境設定とサービスコンフィグの詳細な説明を提供し、[./docker/README](./docker/README.md) ファイルに記載されている全ての環境設定が [service_conf.yaml](./docker/service_conf.yaml) ファイルの対応するコンフィグと一致していることを確認することが義務付けられています。 > [./docker/README](./docker/README.md) ファイルは環境設定とサービスコンフィグの詳細な説明を提供し、[./docker/README](./docker/README.md) ファイルに記載されている全ての環境設定が [service_conf.yaml](./docker/service_conf.yaml) ファイルの対応するコンフィグと一致していることを確認することが義務付けられています。
デフォルトの HTTP サービングポート(80)を更新するには、[docker-compose.yml](./docker/docker-compose.yml) にアクセスして、`80:80``<YOUR_SERVING_PORT>:80` に変更します。 デフォルトの HTTP サービングポート(80)を更新するには、[docker-compose.yml](./docker/docker-compose.yml) にアクセスして、`80:80``<YOUR_SERVING_PORT>:80` に変更します。
> すべてのシステム設定のアップデートを有効にするには、システムの再起動が必要です: > すべてのシステム設定のアップデートを有効にするには、システムの再起動が必要です:
> >
> ```bash > ```bash
> $ docker-compose up -d > $ docker-compose up -d
> ``` > ```
## 🛠️ ソースからビルドする ## 🛠️ ソースからビルドする
ソースからDockerイメージをビルドするには: ソースからDockerイメージをビルドするには:
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git $ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/ $ cd ragflow/
$ docker build -t infiniflow/ragflow:v0.8.0 . $ docker build -t infiniflow/ragflow:v0.9.0 .
$ cd ragflow/docker $ cd ragflow/docker
$ chmod +x ./entrypoint.sh $ chmod +x ./entrypoint.sh
$ docker compose up -d $ docker compose up -d
``` ```
## 🛠️ ソースコードからサービスを起動する方法 ## 🛠️ ソースコードからサービスを起動する方法
ソースコードからサービスを起動する場合は、以下の手順に従ってください: ソースコードからサービスを起動する場合は、以下の手順に従ってください:
1. リポジトリをクローンします 1. リポジトリをクローンします
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git $ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/ $ cd ragflow/
``` ```
2. 仮想環境を作成しますAnacondaまたはMinicondaがインストールされていることを確認してください 2. 仮想環境を作成しますAnacondaまたはMinicondaがインストールされていることを確認してください
```bash ```bash
$ conda create -n ragflow python=3.11.0 $ conda create -n ragflow python=3.11.0
$ conda activate ragflow $ conda activate ragflow
$ pip install -r requirements.txt $ pip install -r requirements.txt
``` ```
CUDAのバージョンが12.0以上の場合、以下の追加コマンドを実行してください: CUDAのバージョンが12.0以上の場合、以下の追加コマンドを実行してください:
```bash ```bash
$ pip uninstall -y onnxruntime-gpu $ pip uninstall -y onnxruntime-gpu
$ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ $ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
``` ```
3. エントリースクリプトをコピーし、環境変数を設定します 3. エントリースクリプトをコピーし、環境変数を設定します
```bash ```bash
$ cp docker/entrypoint.sh . $ cp docker/entrypoint.sh .
$ vi entrypoint.sh $ vi entrypoint.sh
``` ```
以下のコマンドでPythonのパスとragflowプロジェクトのパスを取得します 以下のコマンドでPythonのパスとragflowプロジェクトのパスを取得します
```bash ```bash
$ which python $ which python
$ pwd $ pwd
``` ```
`which python`の出力を`PY`の値として、`pwd`の出力を`PYTHONPATH`の値として設定します。 `which python`の出力を`PY`の値として、`pwd`の出力を`PYTHONPATH`の値として設定します。
`LD_LIBRARY_PATH`が既に設定されている場合は、コメントアウトできます。 `LD_LIBRARY_PATH`が既に設定されている場合は、コメントアウトできます。
```bash ```bash
# 実際の状況に応じて設定を調整してください。以下の二つのexportは新たに追加された設定です # 実際の状況に応じて設定を調整してください。以下の二つのexportは新たに追加された設定です
PY=${PY} PY=${PY}
export PYTHONPATH=${PYTHONPATH} export PYTHONPATH=${PYTHONPATH}
# オプションHugging Faceミラーを追加 # オプションHugging Faceミラーを追加
export HF_ENDPOINT=https://hf-mirror.com export HF_ENDPOINT=https://hf-mirror.com
``` ```
4. 基本サービスを起動します 4. 基本サービスを起動します
```bash ```bash
$ cd docker $ cd docker
$ docker compose -f docker-compose-base.yml up -d $ docker compose -f docker-compose-base.yml up -d
``` ```
5. 設定ファイルを確認します 5. 設定ファイルを確認します
**docker/.env**内の設定が**conf/service_conf.yaml**内の設定と一致していることを確認してください。**service_conf.yaml**内の関連サービスのIPアドレスとポートは、ローカルマシンのIPアドレスとコンテナが公開するポートに変更する必要があります。 **docker/.env**内の設定が**conf/service_conf.yaml**内の設定と一致していることを確認してください。**service_conf.yaml**内の関連サービスのIPアドレスとポートは、ローカルマシンのIPアドレスとコンテナが公開するポートに変更する必要があります。
6. サービスを起動します 6. サービスを起動します
```bash ```bash
$ chmod +x ./entrypoint.sh $ chmod +x ./entrypoint.sh
$ bash ./entrypoint.sh $ bash ./entrypoint.sh
``` ```
## 📚 ドキュメンテーション ## 📚 ドキュメンテーション
- [Quickstart](https://ragflow.io/docs/dev/) - [Quickstart](https://ragflow.io/docs/dev/)
- [User guide](https://ragflow.io/docs/dev/category/user-guides) - [User guide](https://ragflow.io/docs/dev/category/user-guides)
- [References](https://ragflow.io/docs/dev/category/references) - [References](https://ragflow.io/docs/dev/category/references)
- [FAQ](https://ragflow.io/docs/dev/faq) - [FAQ](https://ragflow.io/docs/dev/faq)
## 📜 ロードマップ ## 📜 ロードマップ
[RAGFlow ロードマップ 2024](https://github.com/infiniflow/ragflow/issues/162) を参照 [RAGFlow ロードマップ 2024](https://github.com/infiniflow/ragflow/issues/162) を参照
## 🏄 コミュニティ ## 🏄 コミュニティ
- [Discord](https://discord.gg/4XxujFgUN7) - [Discord](https://discord.gg/4XxujFgUN7)
- [Twitter](https://twitter.com/infiniflowai) - [Twitter](https://twitter.com/infiniflowai)
- [GitHub Discussions](https://github.com/orgs/infiniflow/discussions) - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions)
## 🙌 コントリビュート ## 🙌 コントリビュート
RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず[コントリビューションガイド](./docs/references/CONTRIBUTING.md)をご覧ください。 RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず[コントリビューションガイド](./docs/references/CONTRIBUTING.md)をご覧ください。