RAG 实践: Ollama+RagFlow 部署本地知识库

发布时间:2026/7/19 13:21:11
RAG 实践: Ollama+RagFlow 部署本地知识库 前言本文我们介绍另一种实现方式利用 OllamaRagFlow 来实现其中 Ollama 中使用的模型仍然是Qwen2我们再来回顾一下 RAG 常见的应用架构RagFlow的安装和部署前置条件CPU 4 核RAM 16 GBDisk 50 GBDocker 24.0.0 Docker Compose v2.26.1安装克隆仓库$ git clone https://github.com/infiniflow/ragflow.git进入docker文件夹利用提前编译好的 Docker 镜像启动服务器$ cd ragflow/docker $ chmod x ./entrypoint.sh $ docker compose -f docker-compose-CN.yml up -d这一步注意docker 下载的镜像比较大要留有足够的存储空间我这边观察下载了约 10 个 G 左右。服务器启动成功后再次确认服务器状态:$ docker logs -f ragflow-server这里注意安装完成后并不是要进入 下面两个地址http://127.0.0.1:9380http://172.18.0.6:9380而是要进入http://localhost:80 先注册账号是下面这个页面注册登录在上图的界面中注册然后登录就来到下面这个页面了配置 Ollama 连接大模型如下图我们先配置模型点击右上角头像再点击模型提供商这里我是想连接我本地已经安装部署好的 Ollama 通过 Ollama 我安装了 Qwen2 大模型具体的安装步骤在之前的那篇文章里有需要的可以移步到那里看。打开Ollama 后 我是通过服务器模式启动的大模型ollama serve当然你也可以选择其他平台和其他模型需要提供 API keyAPI key 的获取就去你所选模型的网站现在有很多模型的 API 是有免费额度的。接着我们在 RagFlow 中配置模型注意由于 RagFlow 我是在 docker 中安装的所以请求本地部署的 Ollama 地址要用 host.docker.internal:11434创建知识库接下来我们就可以创建知识库了注意这里的文件类型没有markdown,但我实测markdown是可以的。其他的选项根据你的情况自行设置就好很简单。接下来就是上传你的文件了也比较简单但我发现上传后文件处理的比较慢应该是我电脑配置的原因文件上传并处理完成后可以通过检索测试看一下文件有没有被正确检索。至此如果你上传完成全部的文件知识库就算创建完毕了。聊天接着就到了展示成果的时候了我们可以根据自己的知识库与模型进行自然语言交互了。首先注意在聊天配置中要把 token 设置的大一些不然回复的内容会很少我这里把它拉到最大值了。展示一下成果我觉得还算满意。但是由于我笔记本配置一般也没有显卡支持所以跑的很慢真的很慢。但如果部署在有 GPU 的服务器上企业私有化部署供内部使用应该会比较快的。思考我这里的例子是用个人笔记本电脑上的资料做的个人知识库对于文档的提问无论是围绕着摘要总结来做还是围绕着全文检索答案看起来还行也基本能用。但是这是面向个人的或者说面向 C 端 如果面向 B 端面向企业单靠向量检索就力不从心了一来无法对精确信息召回二来无法与企业内部信息系统集成大量结构化数据。所以必须在检索阶段引入多路召回和重排序保证数据查询的准确度。企业内部的数据包含各种格式更复杂的还包含各类图表等如果在没有理解这些语义的基础之上直接提供 RAG 方案例如简单的根据文字空白就来切分段落就会导致语义丢失从而让最终查询的结果也是混乱不堪。如果解决这个问题呢除了之前说的多路召回多跳和重排序这种方案目前业界还有其他思路比如infiniFlow提出的 Infinity AI原生数据库github.com/infiniflow/…从上图可以看到AI原生数据库不仅涵盖非结构化的内容如文档和图片也包括结构化的信息系统。对这些信息进行有效整合并在此基础上实现多路召回机制和最终的融合排序解决方案。此外很多AI 产品的上下文现在是越来越长可能有人会说现在上下文都这么长了还用得着 RAG 吗我认为RAG在知识库问答场景依然是非常必要的。LLM 的长上下文能力对于 RAG 来说应该是很大的促进。用 OpenAI 联创 Andrej Karpathy 的一张图做个类比他把 LLM 比喻为一台计算机的 CPU 把上下文类比为计算机的内存那么以向量为代表的数据库就可以看作是这台计算机的硬盘显然你不可能买一台只有内存的电脑。内存可以很大但也意味着很贵并且短时间内替代不了硬盘的作用。最后是准确性问题关于这个问题一般有两个方向的解决思路一种是从 RAG 下手比如做 Embedding 模型的微调。一种是从 LLM 下手做 LLM 微调。虽然两种我都没真正做过但从研读的资料上得知RAG系统在实时性和成本方面相较于LLM微调具有优势因此更受青睐。这点跟我的直觉一致。如何系统的去学习大模型LLM 大模型时代火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业”“谁的饭碗又将不保了”等问题热议不断。事实上抢你饭碗的不是AI而是会利用AI的人。继科大讯飞、阿里、华为等巨头公司发布AI产品后很多中小企业也陆续进场超高年薪挖掘AI大模型人才如今大厂老板们也更倾向于会AI的人普通程序员还有应对的机会吗与其焦虑……不如成为「掌握AI工具的技术人」毕竟AI时代谁先尝试谁就能占得先机但是LLM相关的内容很多现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学学习成本和门槛很高。针对所有自学遇到困难的同学们我帮大家系统梳理大模型学习脉络将这份LLM大模型资料分享出来包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等一、LLM大模型经典书籍AI大模型已经成为了当今科技领域的一大热点那以下这些大模型书籍就是非常不错的学习资源。二、640套LLM大模型报告合集这套包含640份报告的合集涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)三、LLM大模型系列视频教程四、LLM大模型开源教程LLaLA/Meta/chatglm/chatgptLLM大模型学习路线↓阶段1AI大模型时代的基础理解目标了解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应用案例阶段2AI大模型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 总结与展望阶段3AI大模型应用架构实践目标深入理解AI大模型的应用架构并能够进行私有化部署。内容L3.1 Agent模型框架L3.2 MetaGPTL3.3 ChatGLML3.4 LLAMAL3.5 其他大模型介绍阶段4AI大模型私有化部署目标掌握多种AI大模型的私有化部署包括多模态和特定领域模型。内容L4.1 模型私有化部署概述L4.2 模型私有化部署的关键技术L4.3 模型私有化部署的实施步骤L4.4 模型私有化部署的应用场景领取方式我会放在下面希望领取了的朋友不要忘了下方名片放心添加