信息孤岛互联互通的困难
尽管已经进入了互联网时代,信息系统中的信息孤岛现象仍然十分地严重,不同部门,不同机器之间难以实现互联互通。
不同信息系统的相互通信依赖通信协议和数据模型的定义,前者决定了通信的过程和数据的语法,后者决定了信息的语义。实现系统互联两者缺一不可。
解决不同信息系统相互通信的方法是采用统一的协议和信息模型,在工业领域,人们在极力地推广OPC UA ,号称是统一的通信架构。它包含了协议与信息模型两个方面。但是,由于各自的利益,与历史包袱的不同,实现统一并非易事。事实上,工业,物联网和信息管理领域存在大量的通信协议和数据格式。这些领域的软件工程师最繁重的工作就是各种协议和数据格式的相互转换。哪怕是连接一个最简单的传感器,都需要编写一段modebus 协议,搞清楚传感器的数据定义。没有一两天的忙碌都搞不定。
解决异构系统互联的另一种方法是使用各种硬件网关设备。
大语言模型
以chatGPT大语言模型的横空出世,大大提升了机器理解自然语言的能力。它首先是人机对话的手段。人们可以使用自然语言与AI 对话。
笔者看来,自然语言同样为异构信息系统互联互通,提供了一条新思路。机器与机器之间采用自然语言交换信息,让机器讲“人话”将会大幅度地降低机器之间的通信难度,实现信息孤岛的互联。
例1:传感器上传采样值
一个温度传感器向云端传输温度采样值。它可以使用TCPIP,或者MQTT 协议向云端系统直接发送一段文字:
#5 号温度传感器的当前值:12.3°C
云端系统可以借助于chatGPT ,将自然语言的信息转换成为一个格式化数据,例如
{
“ID":"#5",
”Type“:”temperature",
"Value":12.3
"Unit":"°C"
}
结构化数据存储在数据库中。
基于自然语言通信的优点
- 简单统一的协议
- 实现人-机通信和机器-机器通信的统一协议
如果机器失效了,可以采用人工方式读取数据,并且通过其它电脑,手机发送消息。
- 易于在小型硬件实现
基于TCP/IP或者MQTT传输自然语言的消息,能够在简单的硬件平台上实现,编程十分简单,能够在最小的单片机上实现,例如cortex-M 系列的Arm 上实现。
- 有利于设备的更新,替换
基于自然语言的异构系统互联的场景
单向数据采集
这是一种最简单的方式
设备控制
实现自然语言控制设备需要在设备侧调用大语言模型,将自然语言转换成为内部的结构化命令,通过设备的内部驱动控制相应的硬件信号。
对于实时要求不高的场景是可行的。事实上,有人正在开发基于大模型的自然机器人控制。
主数据管理
为了实现系统数据共享,在异构信息系统中,主张构建主数据管理系统。所谓主数据是不经常改变的,多个系统共用的数据,例如在企业信息系统中,产品信息,人力资源,固定资产等主数据,在智慧城市,医疗管理系统中,也有大量的主数据。
构建主数据的最大挑战是不同的子系统和主数据管理系统中采纳统一的协议和数据模型。不同的系统可能分布在不同的部门,软件是不同厂商在不同的时间开发的。它们没有提供主数据管理接口,或者为了商业利益,不对外提供数据。
使用自然语言的通信协议,能够简化主数据管理系统与子信息系统之间的信息交换,消息可以基于excel 表,word ,或者PDF 等多种格式。必要时,可以通过人工上传的方式来维护主数据。
另一方面,也能够使用自然语言来描述数据模型。
结束语
现在几乎全网都在寻找大语言模型应用落地的场景。大多数都集中在企业内部知识库,客户服务等简单的应用。大模型的应用能够改变我们原有的信息系统架构,产生革命性的变化。只是需要一些想象力。