目录

1. What is Docker?

1.1 Download and install Docker.

2. What is Ragflow?

3. Docker how to start ragflow?

4 版本不兼容问题分析

4.1 检查error logs

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. 设置 Ragflow UI config

5.1 generate ragflow 通信密钥

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的前提

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐