资讯动态

TDengine TDgpt 时序数据分析智能体:架构、原理与扩展实践

发布时间:2026/9/12 22:38:50 来源:尧图企业网站定制
TDengine TDgpt 时序数据分析智能体架构、原理与扩展实践【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengineTDgpt 是 TDengine 面向时序数据分析推出的智能分析代理它将统计模型、机器学习/深度学习模型、时序基础模型与大语言模型统一封装为 SQL 可调用的分析服务。本文围绕 TDgpt 官方介绍文档 展开结合仓库内tools/tdgpt的源码实现系统讲解 TDgpt 的架构组成、分析能力、扩展机制与运维要点帮助读者理解并落地用 SQL 完成预测、异常检测与数据补齐的实践方案。一、背景数据库为什么需要 AI 分析能力时序数据的预测forecasting、异常检测anomaly detection、数据补齐imputation与分类classification领域已积累了海量算法但不同算法技术特性各异、适用场景不同。传统上这些算法被打包为 Python、R 等高级语言的分析工具库通过开源渠道分发帮助开发者把复杂算法集成进业务系统、大幅降低高级算法的使用门槛。数据库厂商也曾尝试把分析算法直接融入数据库——例如 Spark 的 MLlib 机器学习库用成熟的统计与机器学习技术增强数据库/分析引擎的高级分析能力。而大模型时代的到来给时序数据分析带来了新机遇也对数据库提出了新挑战如何高效地把 AI 能力接进数据查询本身。TDengine 的答案是 TDgpt一个时序分析智能体。借助 TDgpt用户可以直接通过 SQL 语句使用统计算法、机器学习模型、深度学习模型、时序基础模型乃至大语言模型通过新增的窗口与函数将这些能力作用于业务时序数据。二、TDgpt 技术特性总览无缝集成TDgpt 是运行在 TDengine 主进程 taosd 之外的外部智能体将时序分析服务直接嵌入 TDengine 的查询执行流程。无状态平台TDgpt 本身不持久化业务数据仅将日志写入本地磁盘。其内置了经典统计建模库 statsmodels以及 PyTorch、Keras 等机器学习/深度学习框架还可通过请求转发与适配直接调用 TDengine 自研时序基础模型 TDtsfm。模型即服务MaaS扩展方向作为分析智能体TDgpt 未来将支持对接第三方时序 MaaS 平台届时仅需修改一个algo参数即可接入前沿时序模型服务。开放可扩展用户可以自行添加预测、异常检测、补齐、分类等算法新增算法只需修改 SQL 中对应参数即可调用无需改动一行应用程序代码。三、系统架构与核心组件3.1 无状态分析节点 anodeTDgpt 由一个或多个无状态分析节点组成这些节点被称为AI 节点anode。根据算法对硬件的需求anode 可以按需部署在 TDengine 集群中合适的硬件环境上例如配备 GPU 的计算节点。TDgpt 为不同类型的分析算法提供统一接口与调用方式基于用户指定的参数调用高级算法包与分析工具再按预定义格式将结果返回给 TDengine 主进程 taosd。3.2 四大组成模块TDgpt 由四类组件构成组件说明内置分析库包含 statsmodels、pyculiarity、pmdarima 等库提供开箱即用的预测与异常检测模型内置机器学习库包含 PyTorch、Keras、Scikit-learn在 TDgpt 进程空间内运行预训练模型训练流程可通过 Merlion、Kats 等端到端开源 ML 框架管理训练好的模型上传至指定目录即可部署通用大语言模型请求适配器以 MaaS 方式将时序预测请求转换为提示词prompt交给 Llama 等通用 LLM注该能力未开源本地时序模型适配器直接调用 Time-MoE、TDtsfm 等专为时序数据设计的模型。相比通用 LLM这类模型无需提示词工程、更轻量、更易本地部署、硬件要求更低该适配器还可对接 TimeGPT 等云端时序 MaaS实现云端模型、本地分析3.3 查询执行流程从架构图与官方介绍可以看出Mnode 将 anode 注册进 TDengine 集群对应 SQL 中的CREATE ANODE查询执行时vnode 将涉及高级时序数据分析的元素直接转发给 anodeanode 完成分析后结果被组装并重新嵌入查询执行流程。从源码看anode 对外暴露的是一组基于 Flask 的 RESTful 接口定义在 tools/tdgpt/taosanalytics/app.pyGET /status返回{protocol: 1.0, status: ready}供 taosd 探活GET /list列出全部可用服务预测、异常检测、补齐、相关性、回归、分类GET /models列出已加载的模型文件POST /anomaly-detect、POST /forecast、POST /imputation、POST /correlation、POST /regression各分析类型的请求入口POST /deploy、POST /undeploy动态模型的部署与卸载。四、高级分析服务TDgpt 提供的服务可归纳为四类异常检测通过 TDengine 新增的anomaly window异常窗口提供。异常窗口是一种特殊的事件窗口由异常检测算法判定异常发生的时间窗口与普通事件窗口的区别在于窗口的开启与闭合由算法决定而非用户输入的表达式。异常窗口支持其他窗口支持的查询操作。典型用法如SELECT COUNT(*) FROM foo ANOMALY_WINDOW(col_name, algoname)。时序预测FORECAST函数调用指定或默认的预测算法基于输入的历史数据预测未来时序数据例如SELECT forecast(val, algotdtsfm_1) FROM forecast.electricity_demand;。数据补齐使用时序基础模型自动检测并填补缺失的时间戳与数值。时序分类当前版本暂不可用。从 tools/tdgpt/taosanalytics/base.py 的抽象基类可以看到各类服务统一的能力契约set_input_list()注入输入序列、set_params()注入算法参数、execute()执行算法。以预测为例AbstractForecastService定义了start_ts、time_step、rows预测行数、period周期、conf置信度默认 0.95、return_conf、precision等标准参数并校验rows 0、0 conf 1.0等合法性——这些参数最终都会出现在 SQL 的algoxxx参数字符串中。五、内置算法与模型5.1 内置算法清单anode 启动时会扫描内置算法目录并自动注册。结合 tools/tdgpt/taosanalytics/algo 目录内置算法按类型分布如下异常检测algo/ad/grubbsGrubbs 统计检验、ksigmak-sigma 统计方法、iqr四分位距法、lof局部离群因子密度型、shesd季节性 ESD等预测algo/fc/arima自回归移动平均、holtwinters指数平滑、prophet、theta、ets、ces复数指数平滑、timemoeTime-MoE、chronos、moirai、timesfm、gpt等补齐algo/imputat/基于时序基础模型的moment相关性分析algo/correl/dtw动态时间规整、tlcc时序滞后互相关。模型服务进程则位于 tools/tdgpt/taosanalytics/tsfmservice包含tdtsfm-server.py、timemoe-server.py、chronos-server.py、moirai-server.py、moment-server.py、timesfm-server.py等独立服务。5.2 算法注册机制服务注册逻辑集中在 tools/tdgpt/taosanalytics/service_registry.py 的register_all_services()中启动时依次扫描algo/ad、algo/fc、algo/imputat、algo/correl四个内置目录必选再扫描algo/custom/ad、algo/custom/fc自定义目录可选最后从动态模型目录加载 JSON 配置描述的动态模型。注册后的服务通过GET /list暴露taosd 侧执行SHOW ANODES FULL即可看到每个 anode 当前可用的算法列表。六、自定义算法三步扩展TDgpt 是可扩展平台扩展流程详见算法开发者指南按照 TDgpt 规范用 Python 开发分析算法将源码文件放入对应目录并重启 anode刷新算法缓存表集群侧执行UPDATE ALL ANODES或对单个 anode 执行UPDATE ANODE {anode_id}。此后即可在 SQL 中像使用内置算法一样调用新算法无需更新任何应用程序。自定义算法需遵循以下约束来自开发者指南与源码实现异常检测源码放入taosanalytics/algo/ad预测源码放入taosanalytics/algo/fc文件须以下划线_开头、以Service结尾如_KsigmaServiceanode 通过命名约定自动发现算法类异常检测算法须继承AbstractAnomalyDetectionService并实现execute()预测算法须继承AbstractForecastService并实现execute()对应 base.py 中的抽象基类类须初始化name小写算法标识将出现在SHOW输出中与desc算法描述。七、算法评估与模型管理算法评估TDengine 企业版提供算法评估工具可对 TDgpt 中任意算法或模型包括内置与自定义的预测、异常检测算法进行量化评估用指定数据集检验各算法的准确率与性能指标。模型管理PyTorch、TensorFlow、Keras 等框架训练好的模型必须放入 anode 的指定目录Linux 下为model_dir默认/usr/local/taos/taosanode/model/anode 会自动检测并加载该目录下的模型TDengine 企业版还提供与 Merlion、Kats 等端到端开源 ML 框架无缝集成的模型管理器。模型目录之外anode 还会扫描动态模型目录默认model/dynamic/下的 JSON 配置与 pkl 模型文件实现热加载当配置缺失时自动从内存移除对应服务并清理孤儿 pkl 文件具体逻辑见 service_registry.py 的sync_dynamic_services()。八、处理性能与硬件考量时序分析是 CPU 密集型工作负载更强劲的 CPU 或 GPU 能显著提升性能TDgpt 中的机器学习与深度学习模型经由 PyTorch 运行可采用常规性能优化手段例如把 TDgpt 部署在内存更大的机器上、使用支持 GPU 的 torch 模型可以在不同 anode 上部署不同算法与模型利用多节点实现并发处理推理与训练对硬件的要求不同纯推理场景最小配置为 8 核 CPU、16 GB 内存、200 GB SSDGPU 可选推荐 16 核 CPU、32 GB 内存、500 GB SSD、24 GB 显存的 NVIDIA GPU涉及训练/微调则建议 16 核 CPU、32 GB 内存起步。完整规格参考系统要求文档。九、部署、运维与版本要点9.1 部署方式TDgpt 支持 Docker、TDengine Cloud 与本地安装包三种方式详见安装文档Dockertdengine/tdgpt镜像内置 TDtsfm v1.0tdengine/tdgpt-full额外包含 Time-MoE。启动命令为docker run -d -p 6035:6035 -p 6061:6061 tdengine/tdgpt:latest。TDgpt 监听 TCP 6035 端口v3.3.7.5 之前为 60906061 为 TDtsfm 模型服务端口6062 为 Time-MoE 模型服务端口Chronos/Moirai/TimesFM/Moment 默认占用 6063-60666067-6070 预留。本地安装要求 Linux 机器、Python 3.10 或 3.113.12 因依赖冲突暂不支持、TDengine v3.3.6.0 及以上解压 tar 包后执行./install.shanode 会部署在/var/lib/taos/taosanode/venv/虚拟环境中。Windows 从 v3.4.1.0 起提供标准安装包。TDengine Cloud可在 DB Mart 中启用时序预测分析数据集并直接执行select forecast(val, algotdtsfm_1) from forecast.electricity_demand;体验。9.2 节点管理安装 anode 后会自动创建taosanoded服务可用 systemd 管理时序基础模型资源开销大、不会自动启动需手动执行start-model tdtsfm/start-model timemoe启动stop-model停止。在 TDengine CLI 中执行节点管理CREATE ANODE {node_url} -- 注册 anodenode_url 为 IP:端口 SHOW ANODES; -- 查看节点 FQDN 与状态 SHOW ANODES FULL; -- 查看各节点可用算法 UPDATE ANODE {anode_id} -- 刷新单个节点算法缓存 UPDATE ALL ANODES -- 刷新全部节点算法缓存 DROP ANODE {anode_id} -- 从集群注销节点DROP ANODE仅从集群移除注册信息停止服务用 systemctl彻底卸载用rmtaosanode。9.3 目录与配置anode 的关键目录与配置见节点管理文档目录/文件说明/usr/local/taos/taosanode/bin可执行文件/usr/local/taos/taosanode/resource资源文件软链至 /var/lib/taos/taosanode/resource//usr/local/taos/taosanode/lib库文件/usr/local/taos/taosanode/model模型目录软链至 /var/lib/taos/taosanode/model/var/log/taos/taosanode/日志目录/etc/taos/taosanode.config.py配置文件自 v3.4.1.0 起Linux anode 使用 Gunicorn早期版本用 uWSGI配置为 Python 文件bind 0.0.0.0:6035定义监听地址workers/threads控制并发timeout 1200适配长时模型推理model_dir指定模型目录tdtsfm_1、timemoe_fc等键配置基础模型服务地址。Windows 端使用 Waitress配置文件位于C:\TDengine\taosanode\cfg\taosanode.config.py。源码中 conf.py 展示了同样的默认值逻辑日志目录、模型目录、0.0.0.0:6035绑定等并通过TDGPT_CONF环境变量或-c参数指定配置文件路径。9.4 运维注意TDengine 开源版不提供 TDgpt 的权限与资源管理自 v3.4.1.0 起Linux 使用 Gunicorn、Windows 使用 Waitress早期版本为 uWSGI监控方式为端口探活与日志查看应用日志app_log、访问日志与错误日志log_level支持DEBUG/INFO/CRITICAL/ERROR/WARN默认DEBUG。十、总结TDgpt 的定位不是把算法库硬塞进数据库而是以外部无状态分析节点 统一 SQL 接口的方式让 TDengine 的查询引擎具备调用统计模型、机器学习/深度学习模型、时序基础模型与大语言模型的能力。其架构上实现了分析能力可插拔、算法可热扩展、模型可远程适配配合异常窗口、FORECAST函数与补齐服务为工业物联网等场景下的时序数据分析提供了一条不改应用、只改 SQL的演进路径。相关部署、管理、算法开发与系统要求细节可继续阅读 安装指南、节点管理、算法开发者指南 与系统要求其算法实现与注册机制可在仓库的 tools/tdgpt/taosanalytics 源码目录中进一步研读。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价