现在本地部署的大模型,有可能有一个问题,就是经常是“真空中的模型”,不具备当前环境的“感知”,很难用于回答与本机或当下相关的问题。 针对这个情况,几个月前写了一个小工具ModelSensor[1],可以在本地收集日期、时间、位置(可选)、系统与运行环境等上下文,以结构化格式注入到提示词中,帮助 LLM 更好地理解当前环境并给出更贴近实际的回答,就算是一定程度地让大语言模型(LLM)“感知世界”了。
问题现状
即便是在线的,如果LLM 模型无法感知当前环境,那也会难以解决时效相关问题,比如有时候问他日期,他就会很呆呆了。

Ollama下直接调用gpt-oss:20b,得到了一次正确的日期,但是星期不对。

千问官方群的群友说这可能是“oss在系统提示词之上还有更高级别的openai prompt”,大概就是ollama调用的时候传递了基本信息。这其实和我之前的思路类似,可以获取系统信息并传递给ollama之类的模型。
思路设计
ModelSensor[1] 的思路挺简单的,基本流程如下:
1) 采集:从本地获取系统时间、时区、硬件、资源使用、网络与(可选)位置等上下文 2) 组织:将数据整理为 JSON 或字典(简版 brief / 全量 full) 3) 注入:将上下文作为“系统上下文”插入到提示词中一并发送给 LLM 4) 受控:通过参数控制采集范围、格式与隐私(如是否启用位置)
具体获取的信息包括:
•时间与时区:当前时间、UTC、星期、格式化时间戳 •系统与运行环境:OS、平台、Python 版本、工作目录、虚拟环境 •资源状态:CPU 使用率、内存、磁盘 •网络信息:网卡、默认网关、连接状态 •位置(可选):基于 IP 的国家/城市/经纬度(默认关闭,需显式开启)
注意哈,上面除了网络位置之外,其余的信息都是本地获取,所有采集均在本地完成;除非启用位置解析,否则不会进行外部传输。
安装运行
安装很简单,直接pip即可安装:
pip install modelsensor
Python下可以通过以下方式获取系统时间、时区、位置等信息,然后通过 to_json 方法将数据转换为 JSON 格式:
from modelsensor import ModelSensorsensor = ModelSensor()data = sensor.collect_all_data(include_location=False) # 位置默认关闭print(sensor.to_json(indent=2, mode="brief"))
得到的输出是类似下面这样:
{ "time": { "date": "2025-08-18", "time": "11:32:01" }}
还有更简单的to_dict()方法:
from modelsensor import ModelSensorsensor = ModelSensor()data = sensor.collect_all_data(include_location=False) # 位置默认关闭print(sensor.to_dict(mode="brief"))```
得到的输出是类似下面这样:```bash{'time': {'date': '2025-08-18', 'time': '11:37:06'}}
与 Ollama 集成也很简单,只需要在调用 Ollama 的时候传递 system_context 参数即可,如下:
import ollamafrom modelsensor import ModelSensor# Get system informationsensor = ModelSensor()system_context = sensor.to_json(include_location=True)# Create enhanced promptprompt = f"""System Context:{system_context} ...:User Question: 今天几号?"""# Send to Ollamaresponse = ollama.chat(model='qwen3:0.6b', messages=[ {'role': 'user', 'content': prompt}])print(response['message']['content'])
得到的输出是类似下面这样:
<think>好的,用户问“今天几号?”,我需要根据系统提供的上下文来回答。系统里的时间是2025年8月18日,11:33:18,所以今天应该是2025年8月18日。不过要确认一下用户问的是当前日期,还是系统设定的日期。不过根据提供的上下文,时间是明确的,所以应该直接回答今天是2025年8月18日。另外,用户可能想知道今天的日期,所以需要简洁明了地回复,不需要多余的解释。确保回答准确无误,符合系统提供的信息。</think>
今天是2025年8月18日。
References
[1] ModelSensor: https://github.com/cycleuser/ModelSensor
预览时标签不可点
Close
更多
Name cleared
微信扫一扫赞赏作者
Like the AuthorOther Amount
赞赏后展示我的头像
作品
暂无作品
Like the Author
Other Amount
¥
最低赞赏 ¥0
OK
Back
Other Amount
更多
赞赏金额
¥
最低赞赏 ¥0
1
2
3
4
5
6
7
8
9
0
.
大语言模型 · 目录
大语言模型
上一篇本地大模型谁更强?gpt-oss:20b还是qwen3:30?借助OllamaModelTester进行批量测试!下一篇真正的生产力-本地大模型编排工具n8n调用局域网上的Ollama模型
Close
更多
搜索「」网络结果
Close
调整当前正文文字大小
更多
100%