用完全本地的模型运行 Nowledge Mem
通过 LM Studio、Ollama 或其他本地端点,让记忆处理、Agent、向量化与已启用的增强能力都留在自己的设备上
Nowledge Mem 可以把知识数据和处理这些知识的模型请求都留在自己的设备上。LM Studio、Ollama 之类的本地推理服务会提供一个回环地址,Mem 把请求发给这个地址,而不是云端模型提供商。
这篇文档给出一条可以实际完成、可以验证的配置路径,也说明在什么条件下,整条工作流才能称为“完全本地”。
这里的“完全本地”是什么意思
你启用的内容处理,包括记忆整理、Agent 回答、向量化,以及可选的视觉或 OCR,只能调用内置模型或同一台设备上的本地端点。内容不发送给云端模型;本地模型失败时,也不能静默切到远程提供商。
只把“记忆整理模型”换成本地模型,还不足以证明整条链路完全本地。
0.10 之后,本地 AI 不只在 Mac 上运行
从 0.10 开始,Nowledge Mem 的无 Python 本地运行时覆盖桌面端与 Linux headless 部署。官方 Docker 镜像提供 CPU 版,以及按需选择的 CUDA、Vulkan 版。你可以在个人电脑上运行,也可以放在自己的 Linux 服务器上。
内置 Gemma 4 模型具备多模态能力。目前已经接入产品的是视觉:Library 会用它处理扫描 PDF、图片文字和其他需要视觉理解的文档。底层模型也为音频留下了能力基础,但生产环境的音频路由、PII 过滤和音频会议处理仍是后续方向,不要把它们当作当前页面已经交付的功能。
除了 App 内置模型,Nowledge Mem 也把 Lemonade、Ollama 和 LM Studio 作为一等本地模型提供商支持。特别感谢社区贡献者和资深用户 abn,他为 Lemonade 集成做了大量工作。
开始之前
你需要准备:
Lemonade 默认的 OpenAI 兼容地址是 http://127.0.0.1:13305/v1,LM Studio 是 http://127.0.0.1:1234/v1,Ollama 是 http://127.0.0.1:11434/v1。如果 Mem 和模型服务运行在不同容器或不同设备上,请改用 Mem 能访问的地址;在容器里,127.0.0.1 只指向当前容器。
启动本地模型服务
在 Lemonade、LM Studio 或 Ollama 中加载模型并启动本地服务,然后确认 OpenAI 兼容的 /v1 地址已经运行。
用下面的命令确认服务能返回至少一个模型:
# Lemonade
curl http://127.0.0.1:13305/v1/models
# LM Studio
curl http://127.0.0.1:1234/v1/models
# Ollama
curl http://127.0.0.1:11434/v1/models返回结果里的模型 ID,才是应该填进 Mem 的值。不要根据模型的显示名称猜测。
在 Mem 里添加提供商
- 打开 设置 → Providers。
- 添加 Lemonade、LM Studio 或 Ollama。
- 填入回环地址,以及本地服务返回的准确模型 ID。
- 除非本地服务要求鉴权,否则 API Key 留空。
- 测试连接,然后保存。
如果你使用其他本地运行时,可以添加 OpenAI 兼容自定义端点。端点必须实现 Chat Completions,或者你所选择的 Responses API 格式。
检查每一种模型用途
“添加提供商”和“把任务路由给它”是两件事。请在 Providers 页面逐项检查:
| 用途 | 完全本地时的选择 | 影响范围 |
|---|---|---|
| Default | 你的本地提供商 | 其他选择“Same as default”的用途会继承它 |
| Agents | 你的本地提供商;如果 Default 已经是本地,也可以选“Same as default” | Background Intelligence、AI Now、Timeline、浏览器扩展 Agent 和其他 Agent 工作流 |
| Embedding | Built-in local | 搜索索引与向量检索 |
| Vision / OCR | 内置本地视觉模型,或本地视觉模型提供商;如果都没有,就不要启用相关工作流 | Library 中需要模型参与的图片理解与 OCR |
最简单的做法,是让 Embedding 继续使用 Built-in local。如果你换成了不同的 embedding 模型或维度,请先完成界面要求的重新索引,再判断搜索效果。
文本模型不等于视觉模型
如果外接的本地模型不能处理图片,不要把它分配给 Vision 或 OCR 后就认为这部分也已经本地化。请改用内置本地视觉模型、另一个支持视觉的本地模型,或者暂时不使用图片工作流。以后每启用一种新的增强能力,都要重新检查它的路由。
验证整条链路
用一个小而且可观察的测试收尾:
- 在 设置 → Providers 中断开或停用所有云端提供商。
- 保持本地推理服务的请求日志可见。
- 新建一条测试记忆,里面同时放一个长期偏好和一条临时噪声。
- 运行相关的 Background Intelligence 动作,再让 AI Now 找回长期偏好。
- 确认请求只出现在本地服务日志里,而且 Mem 正常保存或返回了结果。
- 停止本地模型服务,再重复一次。此时任务应该明确失败,而不是通过云端 fallback 继续成功。
本地服务收到请求、Mem 得到预期结果、没有远程提供商参与,三项同时满足才算通过。
一组 Apple Silicon 实测
社区用户 Versun 在一台 M4 Pro、64 GB 统一内存的 Mac mini 上测试了三个 4-bit 模型。三个模型都连续三次通过同一组受控记忆整理任务;差距主要出现在延迟和内存,而不是通用智能高低。
| 模型 | 冷加载 | 常驻后的记忆整理 | 长文首字 | LM Studio 总 RSS 峰值 |
|---|---|---|---|---|
| Gemma 4 12B GGUF | 3.82 秒 | 7.38 秒 | 36.79 秒 | 10.65 GiB |
| Gemma 4 26B-A4B MLX | 8.17 秒 | 2.68 秒 | 13.83 秒 | 17.69 GiB |
| Qwen3.6 35B-A3B MLX | 11.55 秒 | 2.64 秒 | 9.87 秒 | 17.72 GiB |
原作者给出的实际选择是:
- 内存小于 32 GB:12B GGUF 给其他应用留出的空间更多。
- 32 GB 到 64 GB 之间:26B-A4B MLX 是更稳妥的平衡。
- 64 GB,而且模型常驻:35B-A3B MLX 在这组测试里的综合延迟最好。
- 经常加载和卸载模型:26B-A4B 的“加载 + 任务”总时间更短。
这只代表一台设备、一个运行时版本和一组固定提示词。进程间共享内存页还可能让 RSS 求和高于系统可用内存的精确减少量。请把表格当成选型起点,再用自己的真实任务复测。
你可以阅读 Versun 的 X 原文,或阅读 Nowledge Labs Blog 的排版转载。
还需要检查的隐私边界
本地模型端点能让推理留在本机,但产品的其他功能仍可能使用网络:
- Sync 与远程访问会把实现这些功能所需的数据发送到你配置的服务。
- 浏览器连接器与导入功能需要从来源服务获取内容。
- 更新、登录和外部链接可能访问各自的服务。
- 自定义端点如果位于另一台设备上,仍然是自托管,但已经不是“同一台设备”。
如果你的要求是离线设备,而不只是本地推理,请关闭同步和远程提供商,断开网络,然后重新运行上面的验证。
常见问题
Mem 读不到模型列表
先确认本地服务正在运行,而且地址以 /v1 结尾。请先用 curl 访问 /v1/models,再排查 Mem。
连接成功,但 Agent 任务失败
模型可能不支持该工作流需要的聊天格式或工具调用。换一个更强的指令模型,并确认 Agents 已经指向它。
第一次请求特别慢
这通常是冷加载。只要运行时和内存允许,可以让模型常驻。评测时要把冷加载和常驻后的请求分开记录。
切换 embedding 后搜索变了
不同模型或不同维度的向量不能混用。先完成重新索引,再测试搜索。
接下来可以阅读 LLM 提供商,了解各提供商和上下文窗口的详细设置。