Project NOMAD AI 思考模式详解:如何设置逐模型 thinking 开关与全局默认
【免费下载链接】project-nomadProject NOMAD is an offline-first knowledge and education server. Wikipedia, thousands of books, courses, maps, and optional local AI, all running on hardware you own with no internet required.项目地址: https://gitcode.com/GitHub_Trending/pr/project-nomad
Project NOMAD 是一款离线优先的本地知识与教育服务器,内置可选的本地 AI 聊天助手。本文详解 Project NOMAD 的AI 思考模式(thinking):如何为单个模型单独开关思考能力、如何用全局默认值统一控制,并讲清两者的优先级规则与生效原理,帮你快速玩转本地 AI 的"深度思考"能力。
什么是 AI 思考模式(Thinking)
思考模式让模型在给出答案前"先推理再作答"。开启后:
- ✅ 回答更严谨,适合数学题、逻辑推理、复杂代码问题
- ⏳ 生成速度变慢,思考过程会单独展示在聊天气泡中
- 🔒 完全本地运行,思考内容不会离开你的设备
💡 并非所有模型都支持思考。Project NOMAD 会在模型选择器旁自动判断,只有当前模型具备该能力时才显示Thinking开关。
逐模型 thinking 开关:在聊天窗口里单独控制
打开 AI 助手聊天界面,切换到某个支持思考的模型后,模型选择器右侧会出现一个Thinking开关:
- 打开聊天窗口,在下方的
Model:下拉框中选择模型 - 若该模型支持思考,旁边显示
Thinking:与开关 - 拨动开关即可为这一个模型单独开启/关闭思考
- 你的选择会被按模型记住(存储在浏览器 localStorage 中,键名为
nomad:thinking:模型名)——下次再切回该模型时设置依然生效
也就是说,你可以让"大模型默认思考、小模型关闭思考",互不影响。
全局默认:ai.autoThinking 设置
在 AI Assistant 设置页(Settings → AI)中,有一个开关:
- 文案:Use thinking automatically when a model supports it
- 对应设置项:
ai.autoThinking,默认关闭
它的作用是为所有"具备思考能力但你未单独设置过"的模型指定默认行为:
- 打开 → 新模型默认开启思考
- 关闭 → 新模型默认关闭思考
优先级规则:谁说了算?
每次发送消息时,系统按以下顺序决定最终是否思考:
| 优先级 | 来源 | 说明 |
|---|---|---|
| 1(最高) | 聊天窗口的逐模型开关 | 你为该模型手动拨动过的选择 |
| 2 | 全局默认ai.autoThinking | 未单独设置时回退到此值 |
| 3(兜底) | 默认关闭 | ai.autoThinking未配置时按 OFF 处理 |
用一句话概括:显式选择 > 全局默认 > 关闭。这正是聊天窗口提示语所描述的:"Your choice is remembered for this model; the default for other models is set in AI Assistant settings."
背后是怎么实现的?
- 能力探测:服务端调用 Ollama 的
/api/show接口,检查模型capabilities中是否包含thinking,结果按模型名缓存,避免重复查询(见admin/app/services/ollama_service.ts中的checkModelHasThinking)。 - 偏好解析:聊天控制器读取逐模型开关,未设置时回退到
ai.autoThinking,得出本次请求的最终思考偏好(见admin/app/controllers/ollama_controller.ts)。 - 参数下发:
- 普通支持思考的模型:开启时传
think: true;关闭时传reasoning_effort: 'none'显式抑制思考 gpt-oss系列:需要显式档位,统一使用reasoning_effort: 'medium'
- 普通支持思考的模型:开启时传
- 思考流分离:流式返回时,服务端从响应流中解析出
thinking片段(兼容 Ollama 原生字段与think标签包裹的内容),前端将其渲染为独立的"Thinking"气泡,并统计思考耗时(见admin/inertia/components/chat/ChatMessageBubble.tsx)。
实用建议
- 🚀 追求速度(日常问答、查离线知识库):全局关闭 + 小模型
- 🧠 追求质量(解题、写方案):只在需要时逐模型开启
- 📦 混合搭配:给 7B/8B 级模型关思考保速度,给推理型模型开思考保质量
相关文件速查
- 全局默认开关 UI:
admin/inertia/pages/settings/models.tsx - 逐模型开关 UI 与本地记忆:
admin/inertia/components/chat/index.tsx - 思考偏好解析与下发:
admin/app/controllers/ollama_controller.ts - 能力探测与流式解析:
admin/app/services/ollama_service.ts - 请求/响应类型定义:
admin/types/ollama.ts、admin/types/chat.ts - 官方说明文档:
admin/docs/(可查阅 getting-started 与 faq)
按以上方式配置,你就能在 Project NOMAD 中获得"该快则快、该深则深"的 AI 体验——全程离线,数据不出本地。
【免费下载链接】project-nomadProject NOMAD is an offline-first knowledge and education server. Wikipedia, thousands of books, courses, maps, and optional local AI, all running on hardware you own with no internet required.项目地址: https://gitcode.com/GitHub_Trending/pr/project-nomad
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考