rag学习部署笔记

目录

ragflow

Ragflow-Plus

ragflow-upload

[docker 构建](#docker 构建)

[取消 / 停止compose 的方法:](#取消 / 停止compose 的方法:)

配置模型:

[查看 compose是否成功:](#查看 compose是否成功:)

[端口报错 1200:](#端口报错 1200:)

启动docker


ragflow

https://github.com/infiniflow/ragflow?tab=readme-ov-file

Ragflow-Plus

Ragflow-Plus 是一个基于 Ragflow 的二次开发项目,目的是解决实际应用中的一些问题,主要有以下特点:

管理模式

额外搭建后台管理系统,支持管理员执行用户管理、团队管理、配置管理、文件管理、知识库管理等功能

权限回收

前台系统对用户权限进行收缩,进一步简化界面

解析增强

使用MinerU替代DeepDoc算法,使文件解析效果更好,并支持图片解析

图文输出

支持模型在回答时,输出引用文本块关联的相关图片

文档撰写模式

支持全新的文档模式交互体验

https://github.com/zstar1003/ragflow-plus

ragflow-upload

https://github.com/Samge0/ragflow-upload

为了简化这一过程,我编写了一个脚本,该脚本可以遍历指定目录,自动逐个将文档上传至 RagFlow 知识库,并立即启动解析。当一个文档解析完成后,脚本将自动上传并解析下一个文档。特别是在需要上传大量文件时,这显著减少了人工干预,避免了手动分批上传和解析的等待时间。

docker 构建

bash 复制代码
$ cd ragflow/docker
# Use CPU for embedding and DeepDoc tasks:
# docker compose -f docker-compose.yml up -d

# To use GPU to accelerate embedding and DeepDoc tasks:
docker compose -f docker-compose-gpu.yml up -d

取消 / 停止compose 的方法:

你可以运行下面这条命令来停止并移除所有相关容器、网络等资源

docker compose -f docker-compose.yml down

配置模型:

set RAGFLOW_IMAGE=infiniflow/ragflow:v0.19.1

查看 compose是否成功:

bash 复制代码
docker compose -f docker-compose.yml ps

👉 正常的输出应是空的,表示没有服务在运行:

Name Command State Ports


✅ 方法二:使用 docker ps 查看所有运行中的容器

docker ps

端口报错 1200:

Error response from daemon: ports are not available: exposing port TCP 0.0.0.0:1200 -> 127.0.0.1:0: listen tcp 0.0.0.0:1200: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 怎么解决

解决方法 OK:

1.停止Windows NAT 驱动程序

net stop winnat

2.启动容器

docker start ...

启动docker

bash 复制代码
docker logs -f ragflow-server

设置agent报错:

"Switch doc engine from Elasticsearch to Infinity"

docker编译

git clone https://github.com/infiniflow/ragflow.git

cd ragflow/

docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly .