RagSEDE复现: Docker and Ragflow 关系
目录
1.1 Download and install Docker.
3. Docker how to start 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.
5.2 set AI chat and embedding model
5.3 需要在Model Provider 选择default chat and embedding model
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 images # 查看本地ragflow版本
- 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. 设置 Ragflow UI config
5.1 generate ragflow 通信密钥
First: Settings -> API -> RagFlow API: create new key. 这是python程序访问ragflow 库的通信密钥
5.2 set AI chat and embedding model
Second: 设置 model providers: llm chat, llm embedding model.
- 这是两个model,我用了qwen for chat and nomic embedding model.
- 本地API config: http://host.docker.internal:11434
Third: 测试本地api,可以成功连接到local embedding model.
- curl http://localhost:11434/api/tags
5.3 需要在Model Provider 选择default chat and embedding model
使用ragflow中的RAG database的前提
更多推荐




所有评论(0)