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 模型私有化部署的应用场景领取方式我会放在下面希望领取了的朋友不要忘了下方名片放心添加

相关新闻

Weasis医学影像查看器:开源DICOM软件的完整使用指南

Weasis医学影像查看器:开源DICOM软件的完整使用指南

Weasis医学影像查看器:开源DICOM软件的完整使用指南 【免费下载链接】Weasis Weasis is a web-based DICOM viewer for advanced medical imaging and seamless PACS integration. 项目地址: https://gitcode.com/gh_mirrors/we/Weasis 想要零成本获得专业级…

2026/10/28 22:21:20 阅读更多 →
Spring Boot REST Example完全指南:从零开始构建高效微服务

Spring Boot REST Example完全指南:从零开始构建高效微服务

Spring Boot REST Example完全指南:从零开始构建高效微服务 【免费下载链接】spring-boot-rest-example REST APIs implemented using Spring Boot, in-memory database, embedded Tomcat, Swagger 2, JsonPath, Hamcrest and MockMVC 项目地址: https://gitcode.…

2026/10/28 22:21:20 阅读更多 →
我花了 3 个月搭建了 AI 安全防御系统:多层拦截、自我进化、实时响应

我花了 3 个月搭建了 AI 安全防御系统:多层拦截、自我进化、实时响应

# 我花了 3 个月搭建了 AI 安全防御系统:多层拦截、自我进化、实时响应 > 当攻击者开始用 AI 写攻击脚本的时候,你还在靠人工配 WAF 规则——这已经不是代差,是降维打击。 --- ## 2026 年,攻击变了 去年底挖矿木马还流行把 C2 …

2026/10/28 22:21:21 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 16:58:40 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →