文章总结: 本文详细介绍了使用Ollama搭建本地大模型并结合OpenWebUI构建RAG信安知识库的全过程。核心步骤包括安装Ollama、下载量化模型如Gemma4:26b、部署OpenWebUI界面、配置Embedding模型nomic-embed-text以及创建知识库。文章强调量化技术降低了本地部署门槛,并指出RTX5080可流畅运行26B模型但31B会卡顿。可操作建议包括使用国内镜像加速下载、禁止将11434端口暴露公网以防安全风险。 综合评分: 88 文章分类: 安全建设,安全工具,解决方案,技术标准,安全意识
使用Ollama搭建本地大模型+ RAG信安知识库的全过程
Z2O安全攻防
2026年8月17日 21:01 北京
在小说阅读器读本章
去阅读
以下文章来源于希潭实验室 ,作者abc123info
希潭实验室 .
ABC_123,2008年入行网络安全,希潭实验室创始人,某工业大学客座教授,某部委授课讲师、省级专家裁判,省评标专家。专注于安全咨询、网络安全培训、APT技战法分析、代码审计、渗透测试。
Part1 前言
最近换了一个华硕神枪9笔记本,搭载独立显卡5080,处理视频图片等任务终于不卡顿了,也终于有条件使用ollama搭建本地大模型了;接着安装了Open WebUI,实现了与chatgpt类似的聊天页面,顺手实现了本地知识库的搭建,今天把搭建过程发出来记录一下,分享给大家。
注:受限于模型规模,当前阶段本地跑的 20 亿、40 亿参数的小模型在复杂推理、编程、长文本理解方面,确实比不上云端大模型(参数量可以理解为模型的”脑容量”,越大越聪明,但也越吃硬件)。如果你需要最强的 AI 能力,该用云端服务还是得用;但从趋势来看,当前算力紧张的情况还会持续,而且比较贵,未来一定是本地模型和云端 API 的组合。
Part2 技术研究过程
- CUDA技术讲解
CUDA(Compute Unified Device Architecture,统一计算设备架构)是 NVIDIA 推出的 GPU 通用计算平台和编程模型,可以理解为 Ollama 调用 RTX 5080 等 NVIDIA 显卡进行 AI 推理加速的计算基础,使模型能够充分利用 GPU 的并行计算能力。Ollama 已经封装好了大部分底层实现,用户通常无需手动配置复杂的 CUDA 环境。“CUDA 版本地狱”主要指 NVIDIA GPU 加速环境中,显卡驱动版本、CUDA Toolkit 以及深度学习框架之间可能存在的兼容性问题。在本地运行大语言模型时,Ollama 会自动检测 NVIDIA GPU,选择对应的 GPU 加速后端,并负责模型加载、GGUF 格式解析、显存管理等底层工作。
- 模型量化的概念
通过 Ollama 下载的大部分大语言模型,通常已经是经过量化(Quantization)处理、适合本地推理的版本,而不是模型厂商发布的原始 FP16/BF16 权重。所谓量化,就是降低模型参数的数值精度,以较小的模型体积和显存占用换取少量精度损失。例如执行 ollama pull gemma4:26b 后,可以通过 ollama show gemma4:26b 查看模型信息,如果显示 parameters: 26.5B、quantization: Q4_K_M,其中 Q4_K_M 就是该模型采用的量化格式:Q4 表示以约 4-bit 为主体进行量化,K 表示 llama.cpp 体系中的 K-Quant 分组量化方案,M 表示 Medium 配置。
一般来说,Q4_K_M 是模型质量、运行速度和显存占用之间较均衡的选择;显存比较充裕时可以考虑 Q5_K_M,以获得更好的模型精度;显存紧张时可以考虑 Q3_K_M,但继续降低量化位数通常会带来更明显的能力损失。以一个约 260 亿参数的模型为例,如果原始权重采用 FP16,每个参数需要 16 bit,仅权重理论体积就约为 52GB(十进制);经过 4-bit 量化后,理论最低权重体积可下降到约 13GB,实际 GGUF 文件还会因为量化元数据、部分张量采用更高精度等因素而更大。因此,量化是 Ollama 能够让几十亿乃至数百亿参数模型在消费级 GPU 上运行的关键技术之一。对于只有 16GB 显存的显卡,原始 Google 官方发布的 Gemma4-26B FP16 的 26B 级模型通常无法完整装入显存,而 Q4 量化版本则大幅降低了本地部署门槛。
- ## 安装Ollama软件
使用Proxifier挂上代理,Windows、Linux命令行输入如下命令即可一键安装完成。
irm https://ollama.com/install.ps1 | iexcurl -fsSL https://ollama.com/install.sh | sh
Ollama 安装完成后,系统会自动启动本地推理服务。通过执行 ollama –version 命令返回版本信息,即可确认 Ollama 环境部署成功。默认情况下,Ollama 服务监听本机 11434 端口,访问地址为 http://localhost:11434,所有模型管理操作及 API 调用均基于该服务接口完成。
- ## 下载多个大模型
国内下载大模型,如果直接用官方的镜像地址,速度非常缓慢,可以挂代理或者用中文镜像来下载:Ollama 中文网镜像:https://github.com/ollamacn;官方国内镜像:https://mirror.ollama.com;也可添加操作系统的环境变量更改为国内镜像:OLLAMA_REGISTRY_MIRROR:https://mirror.ollama.com/ollama/;临时加速可使用如下命令行:
export OLLAMA_REGISTRY_MIRROR=”https://mirror.ollama.com/ollama/”ollama pull qwen2.5:7b
打开如下网址,里面有ollama提供的量化模型,其中 MLX(Machine Learning eXtensions) 是苹果开源的机器学习框架。经过实测:对于5080的16G显卡,可以选择gemma4:26b或者 gemma4:31b,26b运行非常流畅,31b会偶尔卡顿。
执行如下命令,拉取大模型。
ollama pull gemma4:26bollama pull gemma4:31b
输入ollama list,发现本地已经有大模型了,同时另起一个命令行运行nvidia-smi 观察GPU输出;同时打开另一个命令行窗口运行 nvidia-smi,用于实时监控 GPU 状态。在本地部署大语言模型过程中,nvidia-smi 是最常用的 GPU 监控工具之一,可以查看显卡型号、显存使用量、GPU 利用率、运行进程等关键指标,方便确认模型加载情况以及分析推理过程中的显存消耗。
如下命令可以下载千问多模态大模型qwen3.6,多模态模型可以上传图片让 AI 分析。
ollama run hf.co/llmFan46/Qwen3.6-35B-A3B-uncensored-heretic-GGUF:Q4_K_M
查看模型的默认配置。
ollama show gemma4:26b
查看正在运行模型的参数。
ollama ps
#
- ## 安装可视化Open WebUI网页界面
Open WebUI 是一款开源的本地 AI 模型 Web 管理界面,支持与 Ollama 等大模型推理服务结合,提供类似 ChatGPT 的交互体验。它支持多模型管理、多轮对话、文件上传分析、RAG 知识库检索、联网搜索、图像生成等功能。Open WebUI 部署方式灵活,可通过 Docker 快速搭建,所有数据均可保存在本地,适用于隐私敏感场景下的离线 AI 应用。结合 Ollama 后,可快速构建“本地大模型 + Web 界面 + 私有知识库”的智能应用平台。
docker run -d -p 3000:8080 \ -e OLLAMA_BASE_URL=http://192.168.237.111:11434 \ -v open-webui:/app/backend/data \ --restart always \ ghcr.io/open-webui/open-webui:main
对于pip安装Open WebUI 的方法会有一个大坑:python版本必须是3.11.x的,其它的3.12.x、3.13.x、3.14.x 安装都会报错。此外,Open WebUI 依赖较多,安装过程中会自动下载大量 Python 第三方库,整个过程耗时较长,需要保持网络稳定。
pip install open-webui然后执行如下命令:open-webui serve --host 0.0.0.0 --port 3000 ,默认监听端口是8080
启动 Open WebUI 时,建议配置全局代理,否则可能因模型下载失败导致启动异常。原因是 Open WebUI 不仅提供基础聊天功能,还集成了知识库和 RAG(检索增强生成)能力,启动过程中会自动下载 sentence-transformers/all-MiniLM-L6-v2 文本向量化模型。该模型并非用于聊天生成,而是用于 Embedding,将文档内容转换为向量数据。当用户上传 PDF 等文件时,系统会先对文档进行切分和向量化,通过检索相关内容后再交由大模型分析。如果不使用 Embedding,而是直接将整个 PDF 输入大模型,不仅会大量占用上下文窗口,还可能降低模型理解和回答效果。因此,Embedding 模型是 Open WebUI 实现本地知识库和高效文档问答的重要组件。
httpx.ConnectTimeout: [WinError 10060]连接方在一段时间后没有正确答复
https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
Embedding 模型的作用是将文本转换为包含语义信息的向量(语义向量),让计算机能够理解文本之间的含义关系。在 RAG 系统中,用户上传文档后,系统会先将文档切片,再通过 Embedding 模型将每个文本片段转换为多维语义向量,例如“CVE-2023-21554 存在远程代码执行漏洞”会转换为 [0.234, -0.128, 0.556 ...] 这样的向量,并存储到向量数据库中。当用户输入“微软消息队列远程执行漏洞”时,系统会将问题转换为语义向量,并与数据库中的向量进行相似度匹配,即使文字表达不同,也能够找到相关内容,如“CVE-2023-21554、MSMQ RCE”等资料。随后将检索结果交给 DeepSeek、Gemma、Qwen 等大语言模型进行分析总结。因此,Embedding 模型负责通过语义向量实现知识检索,大语言模型负责理解和生成答案,两者结合可以构建智能知识库问答系统。
浏览器打开Open WebUI 页面,会出现一个类似于chatgpt的聊天界面。
如下图所示,可以看到很多后台有很多功能可以配置。
#
- ## 搭建本地私有知识库RAG
RAG(Retrieval-Augmented Generation,检索增强生成)是一种让大语言模型结合外部知识库进行智能问答的技术,通过 Embedding 模型、向量数据库和大语言模型协同实现。简单来说,传统大模型主要依赖训练阶段学习的知识进行回答,而 RAG 可以在用户提问后,先从用户提供的资料中(如漏洞报告、CVE 数据库、代码审计文档、企业知识库等)检索相关内容,再将检索结果作为上下文交给大语言模型进行分析和生成,从而让模型基于真实数据进行回答,提高结果的准确性、时效性和可靠性,同时有效减少大模型产生幻觉的问题。
nomic-embed-text 是由 Nomic AI 开源的一款文本 Embedding 模型,主要用于将文本内容转换为具有语义信息的向量表示(Semantic Vector),广泛应用于 RAG(检索增强生成)场景。在 Ollama 环境中,nomic-embed-text 可以完全本地化运行,无需依赖外部 API,同时具备较强的文本语义理解和相似度检索能力,能够帮助系统快速从知识库中匹配相关内容,为大语言模型提供更加准确的上下文信息。
首先在“管理模型”对话框的“下载模型”输入框中,输入 nomic-embed-text,然后点击右侧的“下载”按钮,系统会自动从 Ollama 模型仓库拉取该 Embedding 模型。
然后切换到“文档”菜单,在“嵌入模型引擎”选项中选择 Ollama,并在“嵌入模型”输入框中填写 nomic-embed-text。开启“混合搜索”功能,其余配置保持默认设置即可。完成后点击“保存”按钮,使配置生效。
接下来创建知识库,依次点击工作空间、知识库,然后点击创建知识库,填入相应的内容。
接下来向知识库导入pdf技术文档。
最后我们依次点击 “左下角用户名-管理员面板-设置-模型”,回到 “模型” 列表,打开 “gemma4:26b” 的配置页,点击 “选择知识” 按钮,将需要投喂的知识库添加进来,如”SQL注入漏洞知识库”,然后勾选 “联网搜索”、“图像生成”、“代码解释器”,点击 “保存并更新” 按钮。 润色解决去重问题。
如果不希望每次对话都自动调用知识库,可以在模型配置页面中移除已绑定的知识库,在聊天窗口中手动选择“引用知识库”功能,让模型按需检索和读取相关知识库内容。
#
Part3 总结
1. RTX 5080 笔记本运行 Gemma 26B 模型非常流畅,但 Gemma 31B 虽然可以运行,因模型规模更大,对显存和计算资源要求更高,导致输出速度明显下降。因此,有条件的话建议选择 RTX 5090 等大显存显卡,显存越大,运行更大参数规模模型时体验越好,尤其适合本地大模型、RAG 和代码分析等场景。
2. 禁止将 11434 端口暴露到公网。Ollama 默认未启用访问鉴权,公网开放可能导致被恶意调用,造成 GPU 资源占用、计算资源消耗等安全风险。如需提供外网访问,应结合 Nginx 反向代理并配置身份认证、访问控制等安全措施。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Z2O安全攻防 《使用Ollama搭建本地大模型+ RAG信安知识库的全过程》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论