项目简介
supOS-CE是一个开源工业物联网平台,采用Unified Namespace (UNS)架构,旨在简化工业数据的采集、建模、存储和应用。其核心是构建一个统一的数据视图,并在此基础上支持各种应用,包括与大型语言模型 (LLM) 的集成。平台通过其内置的MCP服务器组件,使得LLM客户端能够以标准化的方式获取实时工业数据上下文、调用预定义功能,并利用数据进行分析或优化。
主要功能点
- 灵活的数据采集: 通过Node-RED构建的Source Flow,连接各种工业设备和系统,进行实时协议转换和数据标准化。
- 统一命名空间 (UNS): 采用基于MQTT的语义化数据模型,通过主题层级和结构化JSONPayload来组织和管理工业数据。
- 数据持久化: 将UNS中的时间序列数据存储在高性能时序数据库(如TimescaleDB, TDengine)中,将关系型数据存储在关系型数据库(如PostgreSQL)中。
- 事件流程编排: 通过Node-RED构建Event Flow,处理Namespace数据,支持数据合并、处理以及为LLM应用准备上下文信息。
- MCP服务器: 提供标准化的JSON-RPC接口,允许LLM客户端访问UNS资源(实时数据、元数据)和调用Tools(预定义功能),是LLM与工业数据交互的关键桥梁。
- 支持Tools调用: 预定义了访问UNS数据的Tools,如查询主题树、获取实时数据等。
安装步骤
supOS-CE基于Docker进行部署,安装过程相对便捷:
- 准备环境: 确保您的系统安装了Docker和Docker Compose。
- 克隆仓库: 使用Git命令克隆supOS-CE的GitHub仓库到本地。
git clone https://github.com/FREEZONEX/supOS-CE.git cd supOS-CE - 配置环境变量: 复制 '.env.example' 为 '.env' 并根据您的部署需求修改配置,特别是 'VOLUMES_PATH'(用于存储平台数据)和 'ENTRANCE_DOMAIN'(平台的访问域名或IP)。
- 运行启动脚本: 执行仓库中的启动脚本来构建和启动所有Docker服务。
bash bin/startup.sh - 访问平台: 平台启动后,通过浏览器访问 '.env' 文件中配置的 'ENTRANCE_DOMAIN' 和 'ENTRANCE_PORT'。默认用户名/密码为 'supos/supos'。
服务器配置 (供MCP客户端参考)
MCP服务器是supOS CE平台内部的一个组件。LLM客户端要连接到此MCP服务器,需要知道其访问方式。虽然具体的连接细节取决于supOS CE的内部实现,但通常LLM客户端需要配置一个JSON对象,包含服务器名称、以及如何启动与服务器通信的进程的命令和参数。以下是一个基于supOS CE Docker部署环境的可能配置示例(具体命令需参考supOS CE文档):
{ "serverName": "supOS-CE MCP Server", "command": "docker", # 用于启动与MCP服务器通信进程的命令行工具 "args": [ # 传递给command的参数列表 "exec", # docker exec 命令,在运行的容器内执行 "<MCP服务器容器ID或名称>", # 替换为运行MCP服务器的Docker容器的实际ID或名称 "<MCP服务器启动命令或入口点>" # 替换为MCP服务器在容器内部的实际启动命令或入口点 # 例如: "node", "/app/mcp_server/index.js" (这只是一个示例,实际命令需查阅supOS CE文档或代码) ], "transport": "stdio", # 假设MCP服务器通过Stdio进行通信 (实际支持的协议可能包括SSE, WebSocket等,需参考supOS CE文档) "description": "MCP Server for supOS CE platform, providing access to real-time industrial data (UNS) and defined Tools." }
请注意:您需要替换上述配置中的占位符 '<MCP服务器容器ID或名称>' 和 '<MCP服务器启动命令或入口点>'。获取这些信息可能需要查看supOS CE的Docker Compose文件、容器日志或官方文档。
基本使用方法
- LLM客户端连接: 使用支持MCP协议的LLM客户端,并加载上述配置信息,与supOS-CE的MCP服务器建立连接。
- 探索Capabilities: 客户端连接成功后,可以请求服务器的能力声明 (Capabilities),了解服务器提供了哪些Resources, Tools和Prompts。
- 访问数据(Resources): LLM可以通过MCP请求访问UNS中的实时数据和历史数据,获取当前工况、设备状态等信息。
- 调用Tools: LLM可以根据对话需求,调用MCP服务器暴露的Tools,执行特定的操作或查询更详细的系统信息。
- Prompt交互: 如果MCP服务器定义了Prompt模板,LLM客户端可以利用这些模板来定制与LLM的交互模式。
通过这些功能,supOS-CE平台使得LLM能够深度理解和参与到工业流程中,例如进行故障诊断、生产优化建议、设备状态监控等。
信息
分类
AI与计算