README_ja.md
</a>
<a href="https://cloud.ragflow.io" target="_blank">
</a>
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
</a>
<a href="https://github.com/infiniflow/ragflow/releases/latest">
</a>
<a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
</a>
<a href="https://deepwiki.com/infiniflow/ragflow">
</a>
RAGFlow ã¯ãå é²çãªRAGïŒRetrieval-Augmented GenerationïŒæè¡ãš Agent æ©èœãèåããå€§èŠæš¡èšèªã¢ãã«ïŒLLMïŒã«åªããã³ã³ããã¹ãå±€ãæ§ç¯ããæå 端ã®ãªãŒãã³ãœãŒã¹ RAG ãšã³ãžã³ã§ããããããèŠæš¡ã®äŒæ¥ã«å¯Ÿå¿å¯èœãªåçåããã RAG ã¯ãŒã¯ãããŒãæäŸããçµ±ååã³ã³ããã¹ããšã³ãžã³ãšäºåæ§ç¯ãããAgentãã³ãã¬ãŒãã«ãããéçºè ãè€éãªããŒã¿ãé©ç°çãªå¹çæ§ãšç²ŸåºŠã§é«ç²Ÿçްãªãããã¯ã·ã§ã³ã¬ãã£AIã·ã¹ãã ãžå€æããããšãå¯èœã«ããŸãã
ãã¢ãã詊ããã ããïŒhttps://cloud.ragflow.ioã
<div align="center" style="margin-top:20px;margin-bottom:20px;"> </div>âïž ãªããžããªãã¹ã¿ãŒç»é²ããŠããšããµã€ãã£ã³ã°ãªæ°æ©èœãã¢ããããŒããææ°ã®ç¶æ ã«ä¿ã¡ãŸãããïŒãã¹ãŠã®æ°ãããªãªãŒã¹ã«é¢ãã峿éç¥ãåãåããŸãïŒ ð
<div align="center" style="margin-top:20px;margin-bottom:20px;"> </div>[!TIP] ããŒã«ã«ãã·ã³ïŒWindowsãMacããŸã㯠LinuxïŒã« Docker ãã€ã³ã¹ããŒã«ããŠããªãå Žåã¯ãDocker Engine ã®ã€ã³ã¹ããŒã« ãåç §ããŠãã ããã
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å€ãé©å®è¿œå ãŸãã¯æŽæ°ãã:bashvm.max_map_count=262144
ãªããžããªãã¯ããŒã³ãã:
$ git clone https://github.com/infiniflow/ragflow.git
ãã«ãæžã¿ã® Docker ã€ã¡ãŒãžããã«ããããµãŒããŒãèµ·åãã:
[!CAUTION] çŸåšãå ¬åŒã«æäŸãããŠãããã¹ãŠã® Docker ã€ã¡ãŒãžã¯ x86 ã¢ãŒããã¯ãã£åãã«ãã«ããããŠãããARM64 çšã® Docker ã€ã¡ãŒãžã¯æäŸãããŠããŸããã ARM64 ã¢ãŒããã¯ãã£ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã䜿çšããŠããå Žåã¯ããã®ããã¥ã¡ã³ããåç §ã㊠Docker ã€ã¡ãŒãžãèªåã§ãã«ãããŠãã ããã
以äžã®ã³ãã³ãã¯ãRAGFlow Docker ã€ã¡ãŒãžã® v0.25.1 ãšãã£ã·ã§ã³ãããŠã³ããŒãããŸããç°ãªã RAGFlow ãšãã£ã·ã§ã³ã®èª¬æã«ã€ããŠã¯ã以äžã®è¡šãåç §ããŠãã ãããv0.25.1 ãšã¯ç°ãªããšãã£ã·ã§ã³ãããŠã³ããŒãããã«ã¯ãdocker/.env ãã¡ã€ã«ã® RAGFLOW_IMAGE 倿°ãé©å®æŽæ°ããdocker compose ã䜿çšããŠãµãŒããŒãèµ·åããŠãã ããã
$ cd ragflow/docker
# git checkout v0.25.1
# ä»»æ: å®å®çã¿ã°ãå©çš (äžèЧ: https://github.com/infiniflow/ragflow/releases)
# ãã®æé ã¯ãã³ãŒãå
ã® entrypoint.sh ãã¡ã€ã«ã Docker ã€ã¡ãŒãžã®ããŒãžã§ã³ãšäžèŽããŠããããšã確èªããŸãã
# Use CPU for DeepDoc tasks:
$ docker compose -f docker-compose.yml up -d
# To use GPU to accelerate DeepDoc tasks:
# sed -i '1i DEVICE=gpu' .env
# docker compose -f docker-compose.yml up -d
泚æïŒ
v0.22.0ããåã®ããŒãžã§ã³ã§ã¯ãembedding ã¢ãã«ãå«ãã€ã¡ãŒãžãšãembedding ã¢ãã«ãå«ãŸãªã slim ã€ã¡ãŒãžã®äž¡æ¹ãæäŸããŠããŸããã詳现ã¯ä»¥äžã®éãã§ãïŒ
| RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? |
|---|---|---|---|
| v0.21.1 | â9 | âïž | Stable release |
| v0.21.1-slim | â2 | â | Stable release |
v0.22.0以éãåœãããžã§ã¯ãã§ã¯ slim ãšãã£ã·ã§ã³ã®ã¿ãæäŸããã€ã¡ãŒãžã¿ã°ã« -slim ãµãã£ãã¯ã¹ãä»ããªããªããŸããã
$ docker logs -f docker-ragflow-cpu-1
以äžã®åºåã¯ãã·ã¹ãã ãæ£åžžã«èµ·åããããšã確èªãããã®ã§ã:
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
ãã確èªã¹ããããã¹ãããããŠçŽæ¥ RAGFlow ã«ãã°ã€ã³ããå Žåããã®æç¹ã§ RAGFlow ãå®å šã«åæåãããŠããªãå¯èœæ§ãããããããã©ãŠã¶ãŒããããã¯ãŒã¯ç°åžžãšã©ãŒã衚瀺ãããããããŸããã
ãŠã§ããã©ãŠã¶ã§ãããã³ããã«åŸã£ãŠãµãŒããŒã® IP ã¢ãã¬ã¹ãå ¥åããRAGFlow ã«ãã°ã€ã³ããŸãã
ããã©ã«ãã®èšå®ã䜿çšããå Žåãããã©ã«ãã® HTTP ãµãŒãã³ã°ããŒã
80ã¯çç¥ã§ããã®ã§ãäžããããã·ããªãªã§ã¯ãhttp://IP_OF_YOUR_MACHINEïŒããŒãçªå·ã¯çç¥ïŒã ããå ¥åããã°ããã
service_conf.yaml.template ã§ãuser_default_llm ã§åžæã® LLM ãã¡ã¯ããªãéžæããAPI_KEY ãã£ãŒã«ãã察å¿ãã API ããŒã§æŽæ°ããã
詳ãã㯠llm_api_key_setup ãåç §ããŠãã ããã
ããã§åæèšå®å®äºïŒã·ã§ãŒã®éå¹ã§ãïŒ
ã·ã¹ãã ã³ã³ãã£ã°ã«é¢ããŠã¯ã以äžã®ãã¡ã€ã«ã管çããå¿ èŠããã:
SVR_HTTP_PORTãMYSQL_PASSWORDãMINIO_PASSWORD ãªã©ã®ã·ã¹ãã ã®åºæ¬èšå®ãä¿æããã.env ãã¡ã€ã«ã®å€æŽã service_conf.yaml.template ãã¡ã€ã«ã®å 容ãšäžèŽããŠããããšã確èªããå¿ èŠããããŸãã
./docker/README ãã¡ã€ã« ./docker/README ã«ã¯ãservice_conf.yaml.template ãã¡ã€ã«ã§ ${ENV_VARS} ãšããŠäœ¿çšã§ããç°å¢èšå®ãšãµãŒãã¹æ§æã®è©³çްãªèª¬æãå«ãŸããŠããŸãã
ããã©ã«ãã® HTTP ãµãŒãã³ã°ããŒã(80)ãæŽæ°ããã«ã¯ãdocker-compose.yml ã«ã¢ã¯ã»ã¹ããŠã80:80 ã <YOUR_SERVING_PORT>:80 ã«å€æŽããŸãã
ãã¹ãŠã®ã·ã¹ãã èšå®ã®ã¢ããããŒããæå¹ã«ããã«ã¯ãã·ã¹ãã ã®åèµ·åãå¿ èŠã§ã:
bash$ docker compose -f docker-compose.yml up -d
RAGFlow ã¯ããã©ã«ãã§ Elasticsearch ã䜿çšããŠå šæãšãã¯ãã«ãä¿åããŸããInfinityã«åãæ¿ãïŒhttps://github.com/infiniflow/infinity/)ãæ¬¡ã®æé ã«åŸããŸãã
å®è¡äžã®ãã¹ãŠã®ã³ã³ããã忢ããã«ã¯ïŒ
$ docker compose -f docker/docker-compose.yml down -v
Note: -v 㯠docker ã³ã³ããã®ããªã¥ãŒã ãåé€ããæ¢åã®ããŒã¿ãã¯ãªã¢ããŸãã
docker/.env ã®ãDOC _ ENGINEãããinfinityãã«èšå®ããŸãã
èµ·åã³ã³ããïŒ
$ docker compose -f docker-compose.yml up -d
[!WARNING] Linux/arm64 ãã·ã³ã§ã® Infinity ãžã®åãæ¿ãã¯æ£åŒã«ãµããŒããããŠããŸããã
ãã® Docker ã€ã¡ãŒãžã®ãµã€ãºã¯çŽ 1GB ã§ãå€éšã®å€§ã¢ãã«ãšåã蟌ã¿ãµãŒãã¹ã«äŸåããŠããŸãã
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly .
ãããã·ç°å¢äžã«ããå Žåã¯ããããã·åŒæ°ãæå®ã§ããŸãïŒ
docker build --platform linux/amd64 \
--build-arg http_proxy=http://YOUR_PROXY:PORT \
--build-arg https_proxy=http://YOUR_PROXY:PORT \
-f Dockerfile -t infiniflow/ragflow:nightly .
uv ãš pre-commit ãã€ã³ã¹ããŒã«ããããã§ã«ã€ã³ã¹ããŒã«ãããŠããå Žåã¯ããã®ã¹ããããã¹ãããããŠãã ãã:
pipx install uv pre-commit
ãœãŒã¹ã³ãŒããã¯ããŒã³ããPython ã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãã:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv sync --python 3.12 # install RAGFlow dependent python modules
uv run python3 download_deps.py
pre-commit install
Docker Compose ã䜿çšããŠäŸåãµãŒãã¹ïŒMinIOãElasticsearchãRedisãMySQLïŒãèµ·åãã:
docker compose -f docker/docker-compose-base.yml up -d
/etc/hosts ã«ä»¥äžã®è¡ã远å ããŠãconf/service_conf.yaml ã«æå®ããããã¹ãŠã®ãã¹ãã 127.0.0.1 ã«è§£æ±ºããŸã:
127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager
HuggingFace ã«ã¢ã¯ã»ã¹ã§ããªãå Žåã¯ãHF_ENDPOINT ç°å¢å€æ°ãèšå®ããŠãã©ãŒãµã€ãã䜿çšããŠãã ãã:
export HF_ENDPOINT=https://hf-mirror.com
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«jemallocããªãå Žåã¯ã次ã®ããã«ã€ã³ã¹ããŒã«ããŸã:
# ubuntu
sudo apt-get install libjemalloc-dev
# centos
sudo yum install jemalloc
# mac
sudo brew install jemalloc
ããã¯ãšã³ããµãŒãã¹ãèµ·åãã:
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
ããã³ããšã³ãã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãã:
cd web
npm install
ããã³ããšã³ããµãŒãã¹ãèµ·åãã:
npm run dev
以äžã®ç»é¢ã§ãã·ã¹ãã ãæ£åžžã«èµ·åããããšã瀺ããŸã:
éçºãå®äºããããRAGFlow ã®ããã³ããšã³ã ãµãŒãã¹ãšããã¯ãšã³ã ãµãŒãã¹ã忢ããŸã:
pkill -f "ragflow_server.py|task_executor.py"
RAGFlow ããŒãããã 2026 ãåç §
RAGFlow ã¯ãªãŒãã³ãœãŒã¹ã®ã³ã©ãã¬ãŒã·ã§ã³ã«ãã£ãŠçºå±ããŠããŸããããã®ç²Ÿç¥ã«åºã¥ããç§ãã¡ã¯ã³ãã¥ããã£ããã®å€æ§ãªã³ã³ããªãã¥ãŒããåãå ¥ããŠããŸãã åå ãåžæãããæ¹ã¯ããŸã ã³ã³ããªãã¥ãŒã·ã§ã³ã¬ã€ããã芧ãã ããã