随着国内大语言模型(LLM)的应用日益广泛,构建面向企业私有数据的模型已成为一个重要研究方向。基于检索增强生成(RAG)的知识库与大语言模型的混合编排,为这一过程提供了强大的加速器,使得私有化部署更加高效和便捷。
ragflow 是RAG领域中较为理想的开源解决方案,在企业私有数据集成管理和知识库构建方面展现出显著优势,其灵活的架构设计和高效的知识库构建能力,使得数据检索和信息生成更加精准和高效。
本文将分享ragflow的部署方法和使用心得,欢迎各位批评指正。
1 环境准备
类型 |
版本 |
GPU |
Tesla V100S / 32G x 8 |
CPU |
Intel(R) Xeon(R) Gold 5218 / 64c |
内存 |
376G |
硬盘 |
SATA 4T |
OS |
CentOS7 |
体系结构 |
x64 |
CUDA |
11.4 |
公网访问 |
代理 |
由于ragflow依赖的docker版本至少为24.0.9,而现有的GPU主机上还运行了其他低版本的docker容器,为了不影响这些存量应用容器,我们考虑二进制堆叠搭建一个新的docker运行环境,目标运行环境各组件的版本如下:
组件名称 |
版本 |
runc |
1.1.12 |
docker-proxy |
24.0.9 |
docker-init |
0.19.0 |
dockerd |
24.0.9 |
docker |
24.0.9 |
ctr |
1.7.13 |
containerd-shim-runc-v2 |
1.7.13 |
containerd |
1.7.13 |
docker-compose |
2.26.1 |
【注意】docker运行环境、docker-compose的二进制版本从此处下载:https://download.docker.com/linux/static/stable/x86_64/、https://github.com/docker/compose/releases?expanded=true&page=2&q=
1.1 containerd环境构建
1.1.1 containerd配置文件
将docker二进制文件解压至/data/labs/runtimes/docker-24/目录下,生成一个默认配置文件,并在此基础上修改。
./containerd config default > containerd-config.toml
【注意】文件完整内容如下,所有路径应考虑显式设置,尽量避免使用默认值,以防与已有docker运行环境产生冲突!
>>> containerd-config.toml <<<
disabled_plugins = []
imports = []
oom_score = 0
plugin_dir = "/data/labs/runtimes/docker-24/containerd-plugin"
required_plugins = []
root = "/data/labs/runtimes/docker-24/containerd-root"
state = "/data/labs/runtimes/docker-24/containerd-state"
temp = "/data/labs/runtimes/docker-24/containerd-temp"
version = 2
[cgroup]
path = "/data/labs/runtimes/docker-24/sys-fs-cgroup/containerd"
[debug]
address = "/data/labs/runtimes/docker-24/containerd-debug.sock"
format = ""
gid = 0
level = ""
uid = 0
[grpc]
address = "/data/labs/runtimes/docker-24/containerd-grpc.sock"
gid = 0
max_recv_message_size = 16777216
max_send_message_size = 16777216
tcp_address = "127.0.0.1:2375"
tcp_tls_ca = "/data/labs/runtimes/docker-24/ca.crt"
tcp_tls_cert = "/data/labs/runtimes/docker-24/tls.crt"
tcp_tls_key = "/data/labs/runtimes/docker-24/tls.key"
uid = 0
[metrics]
address = "127.0.0.1:1338"
grpc_histogram = false
[plugins]