在 Ubuntu 24.04 LTS 一台机子上同时部署Dify 1.3.1 和 RAGflow 0.18.0

一、RAGflow 0.18.0 简介

        有关 Dify 的简介,可以查看我之前分享的 《在 Ubuntu24.04 LTS 上 Docker Compose 部署 Dify 社区版 1.0.1》文章。RAGFlow是一款基于深度文档理解(deepdoc)构建的开源 RAG引擎。其中,深度文档理解,是 RAGFlow 对文档解析的一个解决方案,它包含两个组成部分:视觉处理和解析器。其中视觉处理是通过OCR,布局识别,表结构识别来完成图像,PDF,表格的识别的。针对PDF、DOCX、EXCEL和PPT四种文档格式,都有相应的解析器。能够从各类复杂格式的非结构化数据中提取信息,文本切片过程可视化,还支持手动调整。支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据、网页等。更重要的是,他还集成了各种嵌入模型,rerank模型,提供易用的 API,可以轻松集成到各类企业系统。

        RAGflow 官网地址:https://ragflow.io/

        RAGflow 0.18.0 官方文档地址:​https://ragflow.io/docs/v0.18.0/​

        RAGflow 系统架构:

        RAGflow 主要功能:
        (1) "Quality in, quality out"
        基于深度文档理解,能够从各类复杂格式的非结构化数据中提取真知灼见。
        真正在无限下文(token)的场景下快速完成大海捞针测试。
        (2)基于模板的文本切片
        不仅仅是智能,更重要的是可控可解释。
        多种文本模板可供选择
        (3)有理有据、最大程度降低幻觉(hallucination)
        文本切片过程可视化,支持手动调整。
        有理有据:答案提供关键引用的快照并支持追根溯源。
        (4)兼容各类异构数据源
        支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据、网页等。
        (5)全程无忧、自动化的 RAG 工作流
        全面优化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。
        大语言模型 LLM 以及向量模型均支持配置。
        基于多路召回、融合重排序。
        提供易用的 API,可以轻松集成到各类企业系统。

        RAGflow 0.18.0 升级内容说明:
        新功能
        MCP服务器: 允许通过MCP访问RAGFlow的知识库。
        DeepDoc支持在文档布局识别过程中采用VLM模型作为处理管道,从而可以对pdf中的图像进行深入分析。
        代理版本控制: 所有更新都将持续记录,并且可以通过导出回滚到以前的版本。
        团队协作: 可以与团队成员共享座席。
        与OpenAI兼容的api: 可以通过与OpenAI兼容的api调用代理。
        用户注册控制: 管理员可以通过环境变量启用或禁用用户注册。
        改进
        增强的答案引用: 提高了生成的响应中的引用准确性。
        增强的问答体验: 用户现在可以在对话期间手动停止流式输出。
        其他详见RAGflow的release的tag说明( https://github.com/infiniflow/ragflow/releases/tag/v0.18.0 ),如下:

二、RAGflow 安装软硬件条件检查

        (1)官方支持x86 CPU和Nvidia GPU 硬件,其他 ARM 等硬件官方截至目前尚未暂不作为正式支持硬件。
        (2)Linux 操作系统内核不建议低于6.0 的 LTS 版本;Windows 操作系统不建议低于 Win10 专业版 22H2 或 Window Server 2025 最新稳定版。
        (3)CPU 大于等于 8核(x86);一会有杠精要抬杠说官方是不少于4核,亲咱们是Dify和RAGflow安装同一台机子。
        (4)RAM 大于等于 32 GB 。
        (5)磁盘 大于等于 512 GB 。
        (6)Docker 大于等于 28.1.1 ,并且 Docker Compose 大于等于 2.35.1 。
        (7)Git 大于等于 2.43.0 。

三、在 Ubuntu 24.04 LTS  部署 RAGflow 0.18.0

3.1 控制进程可以拥有的内存映射区域(Memory Mapped Regions)的最大数优化

        vm.max_map_count。该值设置进程可能具有的存储器映射区域的最大数量。其默认值为65530。虽然大多数应用程序需要少于一千个映射,但减少此值可能会导致异常行为,并且当进程达到限制时,系统将抛出内存不足错误。RAGFlow v0.18.0使用Elasticsearch或无穷大多次召回。设置vm.max_map_count的值为正确地对Elasticsearch组件的正常运行至关重要。以下命令操作需要高级权限(root或sudo等):

# 检查的值vm.max_map_count
sysctl vm.max_map_count

# 重置vm.max_map_count设置为大于等于262144的值 (如果不是);本机(八张A100的8U机架人工智能一体机)内存2TB , 所以设置100万负载
sysctl -w vm.max_map_count=1048576

在 /etc/sysctl.conf 文件里把 vm.max_map_count 的值再相应更新一遍:

vm.max_map_count=1048576

sysctl -p

# 验证限制是否生效
cat /proc/sys/vm/max_map_count


3.2 下载 RAGflow 社区版源代码

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

cd ragflow/docker

git checkout -f v0.18.0

3.3 修改 .env 配置文件里 RAGFlow 版本

        把  docker/.env  配置文件里,RAGFLOW_IMAGE=infiniflow/ragflow:v0.18.0-slim 修改为 RAGFLOW_IMAGE=infiniflow/ragflow:v0.18.0 ;然后保存。

3.4 修改 RAGflow 对外暴露映射端口(80端口已经分配给 Dify 使用)

(1)修改 docker-compose.yml 默认的端口 80 和 443 


(2)修改 docker-compose-gpu.yml 默认端口 80 和 443

3.5 进行构建

# 进入docker目录
cd ragflow/docker

# 使用CPU执行嵌入和DeepDoc任务使用下面命令
docker compose -f docker-compose.yml -p ragflow up -d

# 使用GPU加速嵌入和DeepDoc任务 (这个命令和上面的命令二选一,或者,把docker-compose-gpu.yml里配置英伟达GPU加速的复制到docker-compose.yml 里也可以)
docker compose -f docker-compose-gpu.yml -p ragflow up -d

3.6 docker-compose.yml 和 docker-compose-gpu.yml 的主要区别

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

3.7 打开浏览器访问 RAGflow 配置账号

        由于前面,我们把web端口设置为了38080端口,docker镜像拉取后,等待容器启动完成,在浏览器输入:  http://127.0.0.1:38080 即可访问。

四、在 Ubuntu 24.04 LTS  部署 Dify 1.3.1 

4.1 克隆 Dify 源代码至本地环境

git clone https://github.com/langgenius/dify.git --branch 1.3.1


4.2 启动 Dify

# 进入 Dify 源代码的 Docker 目录
cd dify/docker

# 复制环境配置文件
cp .env.example .env

# 修改 .env 配置文件配置,规避插件安装异常

将 FORCE_VERIFYING_SIGNATURE=true 修改为 FORCE_VERIFYING_SIGNATURE=false 


# 启动 Docker 容器
cd dify/docker
docker compose -f docker-compose.yaml -p dify down
git pull origin main
docker compose pull
docker compose -f docker-compose.yaml -p dify up -d


4.3 前往管理员初始化页面设置设置管理员账户

# 本地环境(Dify使用的是默认的80端口,所以访问地址可以省略)
http://localhost/install

# 服务器环境
http://your_server_ip/install


4.4 访问 Dify 主页面

# 本地环境(Dify使用的是默认的80端口,所以访问地址可以省略)
http://localhost

# 服务器环境
http://your_server_ip

五、Dify 外部知识库对接 RAGflow

        为什么要 RAGflow 和 Dify 结合呢?是因为 RAGflow 可以解决 Dify 在RAG 和 知识库解析和检索短板。

5.1 创建 RAGflow 知识库


        输入网址:http://localhost:38080 打开ragflow界面,填入注册的账号和密码登录。然后创建供Dify调用的知识库。

5.2 Dify与ragflow联通

        同样的我们在浏览器地址栏输入:http://localhost:80 即可打开Dify 。

        点击知识库,配置外部知识库。

        图中Name填写对应RAGflow即将被调用的知识库名字。
        图中API Endpoint填写RAGflow地址,http://RAGflow的IP:38080/api/v1/dify
        图中API Key填写RAGflow 的 api key 密钥。

        然后,连接外部知识库。

        在Dify里进行召回测试,看是否查询RAGflow知识库内容。

--------------------------------------

没有自由的秩序和没有秩序的自由,同样具有破坏性。

### 安装LAMMPS于Ubuntu 24.04 LTS指南 #### 准备阶段 为了确保系统的最新状态以及必要的开发工具已安装,执行更新操作基础软件包的安装至关重要。这可以通过运行以下命令来完成: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install gcc g++ cmake make build-essential libopenmpi-dev -y ``` 上述指令不仅会更新现有的软件包列表至最新的版本,还会安装一系列对于编译LAMMPS至关重要的依赖项[^1]。 #### 创建工作空间与获取源码 建立专门的工作目录用于存放LAMMPS的相关文件有助于保持项目的整洁有序。通过创建`work/lammps`这样的路径结构,并切换到该目录下准备下一步的操作: ```bash mkdir -p work/lammps && cd work/lammps ``` 接着,可以从官方网站下载稳定版的LAMMPS压缩包。考虑到网络速度可能影响下载效率,提供了两种不同的方法以适应不同需求用户的偏好: ```bash wget https://download.lammps.org/tars/lammps-stable.tar.gz tar -xf lammps-stable.tar.gz cd lammps* ``` 或是采用Git克隆的方式快速同步仓库中的最新代码库: ```bash git clone https://github.com/lammps/lammps.git . ``` 这两种途径均能有效地获得所需的源代码资源[^2]。 #### 编译配置 进入解压后的源码根目录后,利用CMake进行构建前的准备工作显得尤为必要。这里推荐使用独立的构建目录来进行这一过程,从而避免污染原始源码树: ```bash mkdir build && cd build cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DENABLE_MPI=ON \ -DPKG_GPU=ON \ -DLAMMPS_EXCEPTIONS=ON ``` 此设置启用了MPI支持以便实现多核并行计算能力的同时也激活了GPU加速功能,这对于提高性能尤其重要当处理大规模模拟任务时[^3]。 #### 构建与安装 一旦完成了所有的预设步骤,则可着手实际的编译流程。鉴于Ubuntu 24.04 LTS的具体情况,建议采取如下方式进行最终的产品化部署: ```bash make -j$(nproc) sudo make install ``` 以上命令能够充分利用当前机器上的所有可用CPU核心加快编译进度;而安装环节则负责将生成的目标程序安置到指定位置(/usr/local/bin),使得可以在任何地方便捷调用`lmp_serial`或`lmp_mpi`等入口脚本[^4]。 #### 后续优化 为了让新安装的应用更加易于访问,考虑将其加入全局PATH环境变量之中不失为一种明智的选择。编辑个人shell初始化文件(如`.bashrc`)添加相应路径即可达成目的: ```bash echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc source ~/.bashrc ``` 至此,整个基于Ubuntu 24.04 LTS平台下的LAMMPS安装教程宣告完毕。希望这份指导材料可以帮助读者顺利完成软件搭建工作,进而投入到高效的科研活动中去[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值