目录
[1. What is Docker?](#1. What is Docker?)
[1.1 Download and install Docker.](#1.1 Download and install Docker.)
[2. What is Ragflow?](#2. What is Ragflow?)
[3. Docker how to start ragflow?](#3. Docker how to start ragflow?)
[4 版本不兼容问题分析](#4 版本不兼容问题分析)
[4.1 检查error logs](#4.1 检查error logs)
[4.2 Docker 中有old version ragflow残留](#4.2 Docker 中有old version ragflow残留)
[4.3 error: cp: cannot stat'etc/nginx/conf.d/ragflow.conf.python': No such file or directory.](#4.3 error: cp: cannot stat'etc/nginx/conf.d/ragflow.conf.python': No such file or directory.)
[5. Setting Ragflow UI config](#5. Setting Ragflow UI config)
From the WWW26 paper: Effective and Unsupervised Social Event Detection and Evolution via RAG and Structural Entropy
1. What is Docker?
虽然它balabala说一大堆contianer什么的,but
本质: Docker app is like linux虚拟机.
1.1 Download and install Docker.
test Docker install successful:
docker --version
docker compose version
2. What is Ragflow?
本质:Ragflow is like Anaconda的 RAG集成运行程序。
2.1 Download and install Ragflow.
github link: https://github.com/infiniflow/ragflow
- download: git clone ...(ragflow_version_link)
千万要特别注意ragflow version!!!!
几乎所有的问题都来自Docker和Ragflow版本不兼容!!!!
3. Docker how to start ragflow?
启动Docker app
在Ragflow/docker文件路径下:docker compose up -d # 启动ragflow service
检查是否启动成功:
- docker ps # 检查docker ragflow 版本和状态,cpu status: healthy.
或
浏览器确认ragflow UI启动成功, http://127.0.0.1
terminal: curl http://127.0.0.1
Ragflow UI是 docker中 ragflow镜像的可视化。
4 版本不兼容问题分析
4.1 检查error logs
docker logs docker-ragflow-cpu-1 --tail
4.2 Docker 中有old version ragflow残留
原因:本地ragflow在启动时需要伪上传到Docker linux虚拟机里面一个copy镜像!也就是说,ragflow有两个版本:一个本地local version,另一个Docker伪上传的镜像version。
因为Docker允许多个ragflow version存在,具体running version 需要看docker ps,所以当Docker ragflow镜像和local ragflow version不一样时,就会发生兼容error!
Then how to clear Docker容器中的old ragflow version残留:
docker compose down -v # 一键彻底清空docker = stop + rm + del data.
docker compose rm -f # 只del stopped docker
或
docker compose up -d --force-recreate
或者单独删除某一个ragflow version:docker ps -a # confirm whether ragflow_version is running.
if yes, first stop docker
docker stop <container_id>
docker rm <container_id>
docker rmi infiniflow/ragflow:v0.24.0 # delete ragflow_mirror.
4.3 error: cp: cannot stat'etc/nginx/conf.d/ragflow.conf.python': No such file or directory.
基本是版本不兼容/冲突问题:ragflow与docker version incompatible; local ragflow与docker ragflow镜像冲突。
最好是重新下载old and 兼容 ragflow version。
否则:只能进行版本对齐
step1: 先确认本地源码是不是干净的。
cd c:/users/.../ragflow
git status
git rev-parse --abbrev-ref HEAD
git describe --tags --exact-match
step2: force 切换到和镜像一致的git tag
git fetch --tags
git checkout v0.24.0
step3: 把old container和卷清理掉,再重新pull and align files。
cd c:/users/.../ragflow/docker
docker compose down -v # 一键彻底clear docker = stop+rm+del data.
docker compose pull
docker compose up -d # restart.
5. Setting Ragflow UI config
First: Settings -> API -> RagFlow API: create new key. 这是python程序访问ragflow 库的通信密钥
Second: 设置modle providers: llm chat, llm embedding model.
-
这是两个model,我用了qwen for chat and nomic embedding for model.