
直接上可抄的实操步骤,全程不用买云服务API额度,本地就能跑,搭完能自动帮你梳理IoT设备的异常日志排查思路。
前置依赖安装操作
- 先安装Ollama客户端,官网直接下载对应操作系统的安装包,安装完成后打开终端执行命令拉取轻量模型:
,7B参数版本普通办公本无独显也能跑,不用特意配高性能机器。ollama pull qwen2:7b-instruct - 安装Python侧的依赖包,只需要两个,别乱装一堆冗余库:
pip install ollama pandas
日志预处理代码片段
- 先把IoT网关导出的CSV格式日志做初步筛选,减少大模型的处理量,代码直接抄就行:
import pandas as pd # 读取本地日志文件,按你导出的实际列名改字段就行 log_df = pd.read_csv("iot_device_running_log.csv", encoding="utf-8") # 只保留状态为异常的条目,筛掉正常运行的无意义日志 error_logs = log_df[log_df["device_status"] == "error"][["log_time","device_id","alarm_content"]].to_string(index=False) - 绝对不要把全量日志直接丢给大模型,一来响应速度会慢很多,二来容易触发上下文长度限制导致结果错乱,提前按时间、设备ID、异常状态做一轮过滤效率高很多。
大模型调用与结果输出
- 封装简单的调用函数,提示词不用反复调试,直接用下面写好的版本:
from ollama import Client # 连接本地Ollama服务,默认端口不需要修改 local_client = Client(host="http://localhost:11434") def get_fix_advice(error_log_text): prompt = f""" 你是物联网设备运维助手,下面是采集到的近期设备异常日志: {error_log_text} 请按设备ID分类给出可能的故障原因、排查优先级、第一步可执行的处理动作,不要输出空泛的套话。 """ resp = local_client.chat(model="qwen2:7b-instruct", messages=[{"role":"user","content":prompt}]) return resp["message"]["content"] # 测试运行 if __name__ == "__main__": fix_advice = get_fix_advice(error_logs) print(fix_advice) # 结果自动保存到本地文件 with open("设备故障排查参考.txt", "w", encoding="utf-8") as f: f.write(fix_advice) - 如果要把这个脚本跑在树莓派这类ARM架构的边缘网关设备上,记得把模型换成qwen2:1.8b-instruct,速度大概能满足日常需求,别硬上7B版本,卡到没法用。
小提示:全流程都在本地运行,不需要把设备日志传到公网,厂区、园区这类有数据合规要求的内网场景直接能用,不用走外发审批流程。
说白了这就是个帮你省重复劳动的小工具,要是觉得模型给的建议不够贴合你的实际场景,往提示词里加几条你平时处理故障的固定规则就行,慢慢调几次就顺手了。
评论一下?