大多数人工智能工具都要求你将提示语和文件发送到第三方服务器上。但如果你的数据包含私人日记、研究笔记或敏感的商业文件(如合同、董事会材料、人力资源档案、财务资料),那么这种方式就根本不可行。好消息是:你可以在本地设备上运行功能强大的大语言模型(无论是笔记本电脑还是自己的服务器),并且可以在不向云端传输任何数据的情况下查询这些文件。
在本教程中,你将学习如何在当地且私密的环境中运行大语言模型,这样你就可以在自己的机器上搜索和查看那些敏感的日记及商业文件了。我们会安装Ollama和OpenWebUI,选择适合你硬件配置的模型,利用nomic-embed-text功能实现敏感文件的私密查询,并创建一个本地的知识库,这样所有数据都会保存在本地磁盘上。
目录
先决条件
你需要一个终端窗口(所有操作系统——Windows、Mac、Linux都内置有终端,你可以通过简单搜索快速找到它),另外根据你选择的安装方式,还需要Python和pip或者Docker。
安装过程
你需要下载Ollama以及OpenWebUI。Ollama负责运行模型,
而OpenWebUI则提供了一个浏览器界面,让你能够像使用ChatGPT一样与本地的大语言模型进行交互。
步骤1:安装Ollama
从官方网站下载并安装Ollama。该软件为macOS、Linux和Windows系统提供了相应的安装程序。安装完成后,打开终端窗口执行以下命令来验证Ollama是否已经成功运行:
ollama list
如果Ollama正在运行,这个命令会返回当前可用的模型列表;如果没有模型运行,则会返回一个空列表。
步骤2:安装OpenWebUI
你可以使用Python的pip工具或Docker来安装OpenWebUI。这里我们以使用pip为例进行说明,不过关于使用Docker的安装方法,你可以在OpenWebUI官方文档中找到详细信息。
使用以下命令安装 OpenWebUI:
pip install open-webui
只要你的系统中安装了 Python 3.9 或更高版本,这个命令在 macOS、Linux 和 Windows 上都能正常使用。
接下来,启动服务器:
open-webui serve
然后打开浏览器,访问以下地址:
http://localhost:8080
步骤 3:安装模型
从 Ollama 模型列表 中选择一种模型,然后按照提供的命令将其下载到本地。

例如:
ollama pull gemma3:4b
如果你不确定自己的机器适合使用哪种模型,可以让 AI 根据你的硬件配置来推荐一个。对于笔记本电脑来说,较小规模的模型(1B–4B)更为适用。
我建议初次使用时选择 Gemma3(你可以下载多个模型,并轻松地在它们之间切换)。根据以下指南来选择模型末尾的 参数编号:“:4b”、“:1b” 等:
- 第一层级:内存小于或等于 8 GB,且没有 GPU → 选择 1B–2B 规模的模型。
- 第二层级:内存为 16 GB,但 GPU 功能较弱 → 选择 2B–4B 规模的模型。
- 第三层级:内存大于或等于 16 GB,且 VRAM 为 6–8 GB → 选择 4B–9B 规模的模型。
- 第四层级:内存大于或等于 32 GB,且 VRAM 为 12 GB 或更多 → 选择 12B+ 规模的模型。
安装完 Ollama 及所需的模型后,可以在终端中运行 ollama list 命令来确认它们是否已经成功安装并处于可用状态:

接下来运行 WebOpenUI 以启动浏览器界面:
open-webui serve
然后访问 http://localhost:8080/。现在你就可以开始在本地使用这个大型语言模型了!
注意:系统会要求你输入登录凭据,但如果你只是想在本地使用该工具,这些信息其实并不重要。

文档设置
现在,我们将配置所有必要的选项,以便能够与本地文档进行交互。首先,我们需要安装“nomic-embed-text”模型来处理我们的文档。请使用以下命令进行安装:
ollama pull nomic-embed-text
注意:如果你想知道为什么除了主模型之外,我们还需要另一个模型(nomic-embed-text),那么请看以下几点:
- 嵌入模型(
nomic-embed-text)会将文档中的每段文本转换为数值向量,这样当您提出问题时,OpenWebUI就能快速找到语义上相似的文本内容。 - 聊天模型(例如
gemma3:1b)会接收您的提问以及这些被检索出来的文本内容作为上下文信息,然后生成自然语言形式的回复。
接下来,如果您希望大语言模型能够记住您之前对话的上下文内容,那么请启用“记忆功能”。
您可以在这里下载适应性记忆功能插件。这些插件类似于普通的扩展程序。

现在,我们需要更新设置以启用这些功能。请点击左下角显示的您的名字,然后选择“设置”。

首先点击“设置”选项,然后进入“个性化设置”页面,启用“记忆功能”。

接下来,我们需要访问另一个设置面板——“管理面板”。请再次点击左下角显示的您的名字,然后进入管理面板 → 设置 → 文档选项。

在这个页面(管理面板 → 设置 → 文档),找到“嵌入”选项,然后进入“嵌入模型引擎”,选择Ollama(可以在右侧看到可选择的选项)。将API密钥留空。
接下来,在“嵌入模型”下方输入nomic-embed-text。然后进入“检索”设置,启用“全上下文模式”。
分块设置
您还需要设置块大小和重叠比例。OpenWebUI会在对文档进行索引之前将其分割成较小的块,因为模型无法一次性处理过长的文本。
一个合适的默认值是每个块包含128–512个字符,重叠比例为10–20%。较大的块可以保留更多的上下文信息,但处理速度较慢且占用更多内存;而较小的块处理速度较快,但可能会丢失一些高层次的意义。设置适当的重叠比例有助于防止文本被分割时重要信息被遗漏。
下面是一个参考表格,但我建议您根据自己的具体使用场景和配置环境来确定合适的参数值。例如,您可以与ChatGPT或Claude等大语言模型分享您的硬件配置(如GPU型号、内存大小等),因为之后如果更改分块/重叠比例设置,就需要重新上传文档。
不同场景下的推荐分块/重叠比例
| 适用场景 | 典型硬件配置 | 块大小(字符数) | 重叠比例% | 备注 |
| 一级场景 – 资源有限 | ≤8 GB内存,无或性能较弱的GPU | 128–256 | 10–15 | 优先考虑速度和低内存占用。 |
| 二级场景 – 中等配置 | 16 GB内存,性能一般的GPU或较强的CPU | 256–384 | 15–20 | 在上下文保留与处理速度之间取得平衡。 |
| 三级场景 – 资源充足 | ≥16 GB内存,6–8 GB显存 | 384–512 | 15–20 | 每个块能包含更多语义信息,同时仍保持实用性。 |
| 技术性较强的PDF文档/法律文件 | 任何配置均可,尤其是二级或三级场景 | 384–512 | 15–20 | 这样能保证段落和论点的完整性。 |
| 简短的笔记、工单、电子邮件 | 任何配置均可 | 128–256 | 10–15 | |
| 非常长的查询内容,需要检索大量信息 | 任何具有较大上下文窗口的配置均可 | 256–384 | 10–15 |
如何上传您的文档
现在,是最后一步了:上传你的文档!请进入侧边栏中的“工作区”,然后选择“知识库”,创建一个新的集合(数据库)。你可以从这里开始上传文件。

接下来,在“工作区”中切换到“模型”标签页,创建一个新的自定义模型。创建自定义模型并将你的知识库关联起来后,OpenWebUI就会在你提问时自动搜索你的文档集合,并将最相关的内容作为上下文信息显示出来。

在这里,请确保选择你的模型(在我的例子中是“gemma3:1b”),并将你的知识库关联起来。

(可选)添加系统提示语
在工作区 → 模型中创建自定义模型时,您可以定义一个系统提示语,该提示语将在所有对话中作为背景信息被模型使用。
以下是一些您可能想要添加的信息示例:
- 关于您自己的介绍 (“我是一名20岁的生物工程专业的学生,对……感兴趣”)
- 您偏好的沟通方式 (“直截了当”,“分析性强”等)
- 有关您的数据结构的信息
示例系统提示语:
你是一位善于思考、具有分析能力的助手,会帮助我梳理个人笔记中的模式与见解。请直截了当地回答问题,避免猜测,并明确区分文档中的事实与个人解读。
这个提示语会自动应用于使用该自定义模型的所有聊天对话中,从而确保回复内容的一致性,并符合您的需求。
如何在本地运行大型语言模型
现在打开一个新的聊天窗口,请确保选择您自定义的模型:

现在,您就可以在私密的本地环境中与自己的文档进行交互了!
结论
现在,您已经搭建了一套私有的大型语言模型系统:使用Ollama作为模型引擎,OpenWebUI负责用户界面设计,nomic-embed-text用于生成嵌入数据,所有这些组件都连接到了您的本地知识库中。您的笔记和业务文档都保存在本地,没有任何信息会被发送给第三方。使用这套系统的主要步骤很简单:选择适合您硬件的模型,启用内存支持及全上下文检索功能,合理设置数据分块和处理重叠部分,在模型运行出现延迟时及时检查控制台日志即可。
<如果你需要更大的处理空间,可以在自己的服务器上部署相同的配置方案,从而继续享受隐私保护带来的便利。之后,你可以不断尝试不同的模型、数据分割方式以及提示语的设计;如果需要在长时间运行的任务中获得更详细的运行信息,也可以添加一些可选的功能。>