背景

随着AI技术的火热发展,企业和个人用户需要搭建知识库的需求越来越迫切。如果自己动手搭建一个功能强大的知识库对于非专业技术人员来说可能面临挑战,更别说那些非专业人士了。我在网上看了大量相关的教程,大多数都是搬砖,偶尔看到一些非搬砖大佬写的教程,总会省略一些细节,导致很多人就算面对教程也是各种踩坑,折腾很久最后也都放弃了。

本文主要内容是利用RagFlow开源框架来搭建企业级知识库。

初衷是考虑到大多数,非技术人员也能搭建,所以我从构建镜像到安装整个过程,为大家提供傻瓜式的教程。

还在苦恼DeepSeek不知道怎么使用使用而苦恼吗,不用着急,寒暄为大家精心总结30个比较全面的DeepSeek提示词模板,按照这个模版写提示词,让工作效率翻倍。

硬件最低要求

  • CPU ≥ 4 核心

  • 运行内存 ≥ 16 GB

  • 磁盘空间 ≥ 50 GB

  • Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1

安装 RagFlow(通用)

1. RAGFlow 是什么?

RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

2. docker安装

在开始安装RagFlow之前要首先安装docker

2.1 Linux 系统
  • **CentOS:**https://blog.csdn.net/baidu_35160588/article/details/137079725

  • **Ubuntu:**https://www.51cto.com/article/715086.html

  • **Debian:**https://blog.51cto.com/YangPC/12409273

  • **Deepin:**https://bbs.deepin.org/zh/post/274253

2.2 Windows 系统 和 MacOS 系统

去官网下载对应的安装包:https://www.docker.com/

选择自己对应系统架构的安装包下载安装即可。

⚠️这里windows 系统要特别注意,可能需要专业版的系统才支持docker desktop的安装。

3. vm.max_map_count 参数设置

此值设置进程可以拥有的最大内存映射区域数。其默认值为 65530。虽然大多数应用程序需要的映射数少于一千个,但降低此值可能会导致异常行为,并且当进程达到限制时,系统将抛出内存不足错误。

RAGFlow v0.17.0 使用 ElasticsearchInfinity进行多次召回。正确设置vm.max_map_count的值对于 Elasticsearch 组件的正常运行至关重要。

⚠️ 确保此参数 ≥ 262144

3.1 Linux

3.1.1 检查vm.max_map_count的值:

$ sysctl vm.max_map_count   

3.1.2 如果不是,则将vm.max_map_count重置为至少 262144 的值。

$ sudo sysctl -w vm.max_map_count=262144   

⚠️此更改将在系统重启后重置。如果您在下次启动服务器时忘记更新该值,您可能会收到Can't connect to ES cluster异常。

3.1.3 为确保您的更改永久生效,请在/etc/sysctl.conf中相应地添加或更新vm.max_map_count值:

vm.max_map_count=262144   
3.2 MacOs系统

如果你使用的是装有 Docker DesktopmacOS,请运行以下命令来更新vm.max_map_count

docker run --rm --privileged --pid=host alpine sysctl -w vm.max_map_count=262144   

⚠️此更改将在系统重启后重置。如果您在下次启动服务器时忘记更新该值,您可能会收到Can't connect to ES cluster异常

3.3 Windows

3.3.1 如果您在装有 Docker DesktopWindows 上,则必须使用 docker-machine 来设置vm.max_map_count

$ docker-machine ssh   $ sudo sysctl -w vm.max_map_count=262144   

3.3.2 如果你在带有 Docker Desktop WSL 2 后端的 Windows 上,则使用 docker-desktop 设置vm.max_map_count

$ wsl -d docker-desktop -u root   $ sysctl -w vm.max_map_count=262144   

详细设置请参考官网文档:https://ragflow.io/docs/v0.17.0/

4.克隆源代码并切换分支

$ git clone https://github.com/infiniflow/ragflow.git   $ cd ragflow/docker   $ git checkout -f v0.17.0   

5.使用Docker镜像启动服务器

以下命令拉取 RAGFlow Docker 镜像的v0.17.0-slim版本。请参阅下表了解不同 RAGFlow 版本的描述。要下载不同于v0.17.0-slim RAGFlow 版本,请在使用docker compose启动服务器之前在docker/.env中相应地更新RAGFLOW_IMAGE变量。

例如:为完整版本v0.17.0设置 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0

$ docker compose -f docker-compose.yml up -d   

.env文件:如果使用AMD64(比如大部分windows系统和大部分Linux系统和Inter芯片的MacOS系统)架构并且使用docker安装的情况下,最好不要修改这个环境配置文件。

|
镜像版本

|

镜像大小

|

是否嵌入模型和Python包

|

是否稳定

|
| — | — | — | — |
|

v0.17.0

|

≈9

|

✔️

|

|
|

v0.17.0-slim

|

≈2

|

|

|
|

nightly

|

≈9

|

✔️

|

|
|

nightly-slim

|

≈2

|

|

|

6. 检查服务器状态

$ docker logs -f ragflow-server   

如果有以下输出可以确认系统启动成功:

     `____   ___    ______ ______ __       / __ \ /   |  / ____// ____// /____  _      __      / /_/ // /| | / / __ / /_   / // __ \| | /| / /     / _, _// ___ |/ /_/ // __/  / // /_/ /| |/ |/ /    /_/ |_|/_/  |_|\____//_/    /_/ \____/ |__/|__/       * Running on all addresses (0.0.0.0)`

7. 如何访问?

在您的 Web 浏览器中,输入服务器的 IP 地址并登录 RAGFlow

如果出现以下页面,恭喜你,已经成功搭建RAGFlow

ARM 怎么安装 RAGFlow?

如果我们需要在ARM64(比如M芯片的MacOS系统)平台安装RAGFlow。但是RAGFlow官方不维护 ARMRAGFlow Docker 镜像。不过,我们也可以在linux/arm64darwin/arm64主机上自行构建镜像。

对于 ARM64 平台,请将pyproject.toml中的xgboost版本升级到1.6.0并确保unixODBC正确安装。

构建 Docker 映像

1. 克隆代码
git clone https://github.com/infiniflow/ragflow.git   

⚠️注意:如果出现超时无法克隆的情况,需要把代理路径修改成本地代理就可以了。

git config --global http.proxy http://127.0.0.1:7890   
2. 下载一系列依赖项,包括文件、自然语言处理(NLP)数据包以及 Hugging Face 上的模型仓库
cd ragflow/   uv run download_deps.py   
3. 构建 infiniflow/ragflow_deps Docker镜像
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .   
4. 拉取ubuntu:22.04 docker 基础镜像

因为之后构建infiniflow/ragflow:nightly-slim镜像需要使用到这个基础镜像,由于国内网络环境原因,这个镜像没法使用魔法拉取,只能使用代理服务器进行拉取。

4.1 代理拉取镜像
docker pull dockerproxy.net/library/ubuntu:22.04   
4.2 重命名镜像
docker tag dockerproxy.net/library/ubuntu:22.04 ubuntu:22.04   
4.3 删除代理镜像
docker rmi dockerproxy.net/library/ubuntu:22.04   
5.构建 infiniflow/ragflow:nightly-slim镜像
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .   

⚠️注意:这个过程相当漫长,寒暄在这一步可是等了一个多小时。

启动 RAGFlow 服务

构建 infiniflow/ragflow:nightly-slim 映像后,您就可以启动具有所有必需组件(如 Elasticsearch、MySQL、MinIO、Redis 等)的功能齐全的 RAGFlow 服务。

1.例如:在 Apple M3 Max 启动服务
1.1 编辑 Docker Compose 配置

打开 docker/docker-compose-base.yml 文件。找到infinity.image设置并将图像引用从 infiniflow/infinity:v0.6.0-dev3 更改为 infiniflow/ragflow:nightly-slim 以使用预建图像。

infinity:     container_name: ragflow-infinity     image: infiniflow/ragflow:nightly-slim # here     volumes:       - ...       - ...     ...   

1.2 启动服务
cd docker   $ docker compose -f docker-compose-macos.yml up -d   

⚠️注意:这个过程可能会比较久,跟网络环境机器配置都有关系。

1.3 访问 RAGFlow 服务

启动完成之后,打开你的网络浏览器并导航到http://127.0.0.1或你的服务器的;(默认端口是= 80)。您将被引导至RAGFlow 欢迎页面。尽情享受吧!🍻

究极方案

如果以上方法没办法构建ARM镜像,寒暄为大家已经编译好了离线镜像包,下载离线镜像包导入到docker 直接运行就可以了。

如何使用离线镜像包?

1. 下载离线镜像包并上传到docker 宿主机(你安装docker的主机)

2. docker导入镜像包

  • 在如图所示的文件夹打开终端

    执行以下命令

    docker load -i docker-ragflow.tar.gz   
    

3. 启动服务器

  • 在如图所示的文件夹下打开终端

    执行以下命令

    docker compose -f docker-compose-macos.yml up -d   
    

    看到容器成功启动就可以尽情的玩耍RAGFlow

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐