【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

将开源的大语言预训练模型部署到用户设备上进行推理应用,特别是结合用户专业领域知识库构建AI应用,让AI在回答时更具有专业性,目前已经有很多成熟的应用方案。其中,支持大模型本地化部署的平台及工具很多,比较出名的有ollama、vLLM、LangChain、Ray Serve等,大大简化了模型的部署工作,并提供模型全生命周期管理。对应地,需要知识库构建的相应工具,能处理各种格式(doc/pdf/txt/xls等)的各种文档,能够直接读取文档并处理大量信息资源,包括文档上传、自动抓取在线文档,然后进行文本的自动分割、向量化处理,来实现本地检索增强生成(RAG)等功能。这类工具主要有RAGFlow、MaxKB、AnythingLLM、FastGPT、Dify 、Open WebUI 等。本文将采用ollama + RAGFlow方式进行搭建,系统架构如下:

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

1 安装ollama

ollama是一个开源的大型语言模型服务工具,旨在帮助用户在本地环境中部署和运行大型语言模型,其核心功能是提供一个简单、灵活的方式,将这些复杂的AI模型从云端迁移到本地机器上,简化大型语言模型在本地环境中的运行和管理。它不仅为开发者提供了一个强大的平台来部署和定制AI模型,而且也让终端用户能够更加私密和安全地与这些智能系统进行交互。

(1)执行如下命令安装

curl -fsSL https://ollama.com/install.sh | sh

在安装过程中,ollama会识别相应的GPU加速卡,若未识别相应设备,则使用CPU模式

GPU模式“NVIDIA GPU installed”

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

CPU模式“No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode”

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

(2)安装后查看ollama状态

sudo systemctl status ollama
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

(3)设置ollama环境变量

sudo vi /etc/systemd/system/ollama.service

增加Environment=”OLLAMA_HOST=0.0.0.0:11434”,否则后面在RAGFlow容器环境下配置连接时,无法连接ollama.

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体
#  修改并重启服务``sudo systemctl daemon-reload``sudo systemctl restart ollama.service``sudo systemctl status ollama.service
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

2 部署千问大模型

(1) 模型下载

与docker类似,可以通过ollama pull 命令进行预训练模型下载,目前ollama已支持许多大模型,可以通过访问https://ollama.com/library获取相关信息。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

这里使用ollama run qwen2.5:7b,当本地没有qwen2.5:7b预训练模型时,ollama将先下载模型到本地,然后运行该模型。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

测试运行正常,可进行问答测试。基于ollama的千问7b大模型部署完毕。

3 安装RAGFlow

RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。RAGFlow部署采用的是docker容器化部署,因组件较多使用了多个容器,需要通过docker compose进行多容器部署方式。

(1)执行如下命令克隆RAGFlow仓库

#参考官方手册https://ragflow.io/docs/dev/进行操作即可:` `git clone https://github.com/infiniflow/ragflow.git` `cd ragflow`   `git checkout -f v0.14.1
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

(2)修改docker子目录下的.env文件,进行初始化配置

这里特别要注意的是,在初始化环境变量里RAGFLOW_IMAGE环境变量指向的是标签为v0.14.1-slim镜像文件,该镜像未打包embedding models,我这里修改为v0.14.1。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

其他变量参数包括相关组件的端口,应用的用户初始化密码、镜像下载地址等,按需进行调整和设置。

vi docker/.env

注释掉84行,使用第87行。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

(3)进入ragflow目录,使用docker compose启动应用

进入 docker 文件夹,利用编译好的 Docker 镜像启动服务器,将开始将镜像下载到本地并完成启动:

cd ragflow``docker compose -f docker/docker-compose.yml up -d
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

(4)查看ragflow相关组件及启动情况

docker images``docker compose images``docker logs -f ragflow-server
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

4 配置RAGFlow-接入本地大模型

In your web browser, enter the IP address of your server and log in to RAGFlow.With the default settings, you only need to enter http://IP_OF_YOUR_MACHINE (sans port number) as the default HTTP serving port 80 can be omitted when using the default configurations.

在这里输入本机地址,因没更改默认端口即80,进入如下界面,第一次需要进行注册并登录。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

完成注册登录后,进入如下页面,将页面调整为中文。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

点击图像进入如下界面,配置模型提供商,这里默认为各种在线大模型供应商模型接入,但需要你去相应的模型供应商申请API key填入。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

这里,我们配置接入本地部署的ollama管理的大模型

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

添加成功后,显示如下:

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

5 配置RAGFlow-创建知识库

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

进行初始化配置后,点击保存。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

上传个人相关知识文档等,由系统进行解析处理。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

点击新增文件,上传相关文档。可以当前选择,也可以拖拽文件夹

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体
www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

点击解析,系统将对上传文档进行文本识别(图片类文档)、分割、向量化处理。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

由于个人笔记本性能问题,这里只做简单测试,不做大规模文档入库。解析完成后,进行检索测试。这里从王国维的东山杂记里,尝试检索柳如是的信息。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

可以看到,向量化后的资料库里已经有了柳如是的信息,但切片不完整。由此可见,在进行资料入库时需要有针对性的辅助切片标注等。另外,也可能跟文言文有关系。

6 智能体应用测试

建立一个特定专业的智能体(Agent),相当于你的一个数字健身,赋于它一个角色(role),制定提示词(Prompt),设置自由度,温度等。

(1)新建助理

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

角色设定及提示词

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

设置使用本地千问大模型并结合知识库内容进行回答,设定自由度为“精确”

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

下面开始问题测试:先只用本地千问大模型进行问答测试,我问他灶神是谁,千问没有正面回答我的问题。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

尝试追问灶神具体是谁?我让千问从王国维的《东山杂记》里找答案,AI开始胡说八道了,大模型幻觉病发作。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

再通过本地千问大模型结合本地知识库进行问答测试,该智能助理很快从本地知识库中找到了准确的答案。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

可以看到,在专业知识库下回答的问题更有特定性。但总的来看,人工智能对文言文的理解还是较白话文差一些。通过RAGFlow可以建立不同领域的个人知识库及智能体,本文演示了如何结合AI大模型和知识库进行RAG。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

www.zeeklog.com  - 【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

Read more

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.