OPC UA遇见chatGPT

     

         最近opc 基金会将召开一个会议,主题是”OPC UA meets IT“。由此可见,工业自动化行业也开始研究和评估chatGPT带来的影响了。

本文谈谈本人对OPC UA 与chatGPT结合的初步实验和思考。

构建OPC UA 信息模型

         chatGPT 的确非常强大了,使用自然语言描述一个设备的信息模型,它能够直接生成该设备的OPC UA 信息模型,并且以OPCUA nodeset2.xml 格式输出:

代码


from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxx",
    base_url="https://api.chatanywhere.tech/v1"
)
 
completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "creat opc ua information model ,output modeset2 xml format"},
    {"role": "user", "content": "typename motor ,attributes include current,voltage temperature,power data type float"}
  ],
  temperature=0.3,
)
 
print(completion.choices[0].message.content)

结果

runfile('E:/yao2024/python2024/chatgptSimple.py', wdir='E:/yao2024/python2024')
```xml
<?xml version="1.0" encoding="UTF-8"?>
<opc:Model xmlns:opc="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opc:ObjectType NodeId="ns=1;i=1001" BrowseName="MotorType">
        <opc:DisplayName>Motor</opc:DisplayName>
        <opc:References>
            <opc:Reference ReferenceType="HasProperty" IsForward="false">i=47</opc:Reference>
            <opc:Reference ReferenceType="HasProperty" IsForward="false">i=48</opc:Reference>
            <opc:Reference ReferenceType="HasProperty" IsForward="false">i=49</opc:Reference>
            <opc:Reference ReferenceType="HasProperty" IsForward="false">i=50</opc:Reference>
        </opc:References>
    </opc:ObjectType>
    <opc:Variable NodeId="ns=1;i=47" BrowseName="Current" DataType="Float">
        <opc:DisplayName>Current</opc:DisplayName>
    </opc:Variable>
    <opc:Variable NodeId="ns=1;i=48" BrowseName="Voltage" DataType="Float">
        <opc:DisplayName>Voltage</opc:DisplayName>
    </opc:Variable>
    <opc:Variable NodeId="ns=1;i=49" BrowseName="Temperature" DataType="Float">
        <opc:DisplayName>Temperature</opc:DisplayName>
    </opc:Variable>
    <opc:Variable NodeId="ns=1;i=50" BrowseName="Power" DataType="Float">
        <opc:DisplayName>Power</opc:DisplayName>
    </opc:Variable>
</opc:Model>

         酷吧?关键是提示要写好。如何生成特定行业的DSL 语言,还需要进一步研究。例如生产线的工艺流程编排。这将极大提升系统设计和维护的工作效率,降低了工程成本。

生成结构化数据

  下面的例子演示如何利用chatGPT按照JSON 模板,构建结构化数据。

程序

import json
import os
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents.mrkl import prompt
os.environ['OPENAI_API_KEY'] ="sk-xxxxxxxx"
os.environ['OPENAI_BASE_URL'] ="https://api.chatanywhere.tech/v1"
def get_template(productClass):
    #print(productClass)
 
    answer = [
        {"type": "product type",
         "brand": "product brand",
         "manufacture":"product manufacture",
         "color":"color of prodcts",
         "size":"product size"}
         
    ]
  
    return json.dumps(answer)
def device_control(device_id):
    print(device_id)
    status=True
    answer = [
        {"状态": status}
    ]
    return json.dumps(answer)
def lang_chain_agent(text):
    llm = ChatOpenAI(model_name="gpt-3.5-turbo",base_url="https://api.chatanywhere.tech/v1")

    tools = [
        Tool(
            name = "get_template",
            func=get_template,
            description="use this tool when you need to get product model tempplate ,To use the tool, you must provide  chinese product class",
        )
 
    ]

    agent = initialize_agent(
        tools,
        llm,
        agent="zero-shot-react-description",
        agent_kwargs=dict(suffix='Answer should be  json. ' + prompt.SUFFIX), 
        verbose=True,
        return_intermediate_steps=True)

    response = agent({"input": text})

    return response
lang_chain_agent("根据如下数据生成符合模型样板的json 产品数据,  类型 足球 品牌 小少年 制造商 鹰派运动用品公司 颜色 红色 尺寸 12 英寸")

结果

> Entering new AgentExecutor chain...
I need to use the get_template tool to generate the product model template for a football product.
Action: get_template
Action Input: 足球
Observation: [{"type": "product type", "brand": "product brand", "manufacture": "product manufacture", "color": "color of prodcts", "size": "product size"}]
Thought:Now I can fill in the template with the provided data.
Final Answer: {"type": "足球", "brand": "小少年", "manufacture": "鹰派运动用品公司", "color": "红色", "size": "12 英寸"}

> Finished chain.

chatGPT 访问OPC UA 服务器

    OPC UA是自动化行业广泛应用的工业标准,我们设想可以在chatGPT Agent 中增加一个OPCUA Client ,用它来获取现场设备的状态,并且实现chatGPT对物理设备的控制。其架构如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/526654.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis 主从复制、哨兵模式、Cluster集群

目录 一、Redis 主从复制 1、主从复制介绍 2、主从复制的作用 3、主从复制流程&#xff1a; 4、搭建redis主从复制 4.1所有服务器搭建redis数据库 4.2修改Redis配置文件&#xff08;Master节点操作&#xff09; ​4.3修改Redis配置文件&#xff08;slave节点操作&#x…

如何搭建企业级MQ消息集成平台

企业级MQ消息集成平台的重要性在于实现不同系统之间的高效、可靠、实时的消息传递和数据交换。它可以帮助企业实现系统解耦&#xff0c;提高系统的可扩展性和灵活性&#xff0c;降低系统间的依赖性。通过消息队列中间件&#xff0c;企业可以实现异步通信、削峰填谷、流量控制等…

Mysql底层原理七:InnoDB 行记录

1.行格式 1.1 Compact行格式 1.1.1 示意图 1.1.2 准备一下 1&#xff09;建表 mysql> CREATE TABLE record_format_demo (-> c1 VARCHAR(10),-> c2 VARCHAR(10) NOT NULL,-> c3 CHAR(10),-> c4 VARCHAR(10)-> ) CHARSETascii ROW_FORMATCOM…

基于支持 GPT 的服务的初创公司

Kafkai&#xff1a;多语言长篇内容生成&#xff0c;AI写作的新趋势 介绍 随着生成式预训练 Transformer (GPT) 的出现&#xff0c;技术世界正在见证范式转变。 这种人工智能驱动的创新不仅仅是一种转瞬即逝的趋势&#xff0c;而是一种趋势。 它已成为科技行业的基石&#xff0c…

PCA算法(Principal Component Analysis)揭秘

经典PCA算法 PCA算法的应用包括降维、有损数据压缩、特征抽取、数据可视化等。目前PCA算法有两个通用定义&#xff0c;能殊途同归&#xff0c;得到相同的结果。一方面&#xff0c;我们可以用正交投影来定义PCA&#xff0c;即将数据投影到更低维的线性子空间&#xff0c;也被称…

一文2700字使用 JMeter 进行灵活的接口自动化测试!

简介&#xff1a; JMeter 是一个开源的负载测试工具&#xff0c;它可以模拟多种协议和应用程序的负载&#xff0c;包括 HTTP、FTP、SMTP、JMS、SOAP 和 JDBC 等。在进行接口自动化测试时&#xff0c;使用 JMeter 可以帮助我们快速地构建测试用例&#xff0c;模拟多种场景&#…

Windows:IntelliJ IDEA Ultimate 安装 PHP 插件

在 IntelliJ IDEA Ultimate 中安装 PHP 插件&#xff0c;支持PHP开发调试 首先&#xff0c;进入File > Setting&#xff1a; 再次选择Plugins&#xff0c;然后选择上面的 Marketplace。 在搜索栏中输入 PHP&#xff0c;然后单击左侧的 Install 进行安装就可以了。 安装成功…

文档管理系统解决方案(word原件)

1.系统概述 1.1.需求描述 1.2.需求分析 1.3.重难点分析 1.4.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 数据备份技术 3.系统功能设计 3.1.功能清单列表 3.2.基础数据管理 3.3.位置管理 3.4.文档使用 3.5.文档管理 软件全套资料包获取方式①&#xff1a;软件项…

HarmonyOS实战开发DLP-如何实现一个安全类App。

介绍 本示例是一个安全类App&#xff0c;使用ohos.dlpPermission 接口展示了在eTS中普通文件加密受限的过程。 效果预览 使用说明: 1.启动应用后点击“”按钮可以添加一个普通文件; 2.长按点击加密按钮&#xff0c;出现加密权限弹窗&#xff0c;选择需要设置的权限并点击确定…

高效解决Ubuntu Server 18.04.1 LTS 64bit更新gdb8.1.1到gdb12.1

文章目录 问题解决步骤 问题 因为需要用到gdb一些指令&#xff0c;但是gdb8.x好像存在普遍的问题&#xff0c;实现不了某些指令&#xff0c;比方说set detach-on-fork on&#xff0c;升级版本也没有比较好的教程 经过我不断的试错&#xff0c;我终于升级成功了&#xff01;&a…

项目中 使用 spring cache redis 出现大量keys* 慢查询排查以及修复

前言 业务反馈 redis里有大量的慢查询 而且全是keys 的命令 排查 首先登录 阿里云查看redis的慢查询日志 如下 主要使用到redis cache的注解功能 分别是 CacheEvict 和 Cacheable 注意 CacheEvict 这个比较特殊 会进行驱逐缓存 说白就会删除缓存或者让缓存失效 第一时间想…

内网穿透的应用-如何使用Docker本地部署Dify LLM结合内网穿透实现公网访问本地开发平台

文章目录 1. Docker部署Dify2. 本地访问Dify3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Linux Ubuntu系统以Docker的方式快速部署Dify,并结合cpolar内网穿透工具实现公网远程访问本地Dify&#xff01; Dify 是一款…

10款白嫖党必备的ai写作神器,你都知道吗? #媒体#人工智能#其他

从事自媒体运营光靠自己手动操作效率是非常低的&#xff0c;想要提高运营效率就必须要学会合理的使用一些辅助工具。下面小编就跟大家分享一些自媒体常用的辅助工具&#xff0c;觉得有用的朋友可以收藏分享。 1.飞鸟写作 这是一个微信公众号 面向专业写作领域的ai写作工具&am…

多叉树题目:子树中标签相同的结点数

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;子树中标签相同的结点数 出处&#xff1a;1519. 子树中标签相同的结点数 难度 5 级 题目描述 要求 给你一个树&#xff08;即一个连通的无向无环图…

2024年中国金融科技(FinTech)行业发展洞察报告

核心摘要&#xff1a; 金融监管体系的改革推动金融科技行业进入超级监管时代&#xff0c;数据要素应用与金融场景建设成为如今行业关注的重要领域&#xff0c;为金融机构提供以业务需求为导向的技术服务成为“厚积成势”阶段行业发展的新目标&#xff0c;市场参与者的“业技融…

峥嵘九载,逐云而上:青果乔迁新址,乘风破浪再起新篇

4月1日&#xff0c;近百名员工和诸多合作伙伴齐聚&#xff0c;共同见证了青果九周年庆典暨乔迁仪式这一里程碑式的时刻。 新起点&#xff0c;新征程&#xff0c;再启航&#xff01; 以新为序&#xff0c;共赴新征程 在典礼上&#xff0c;青果创始人和高管分别发表了致辞&#…

飞企互联-FE企业运营管理平台 druid路径 弱口令漏洞复现

0x01 产品简介 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。这个平台可以连接人、链接端、联通内外,支持企业B2B、C2B与O2O等核心需求,为不同行业客户的互联网+转型提供支持。 0x02 漏洞概述 飞企互联-FE企业…

Linux函数学习 select

1、Linux select 函数 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds 最大文件fd 1 readfds 监听可读文件集合fd writefds 监听可写文件集合fd exceptfd 监听异常文件集…

我去,PMP原来不是所有人都能报!

很多人可能觉得PMP的报名条件很复杂&#xff0c;又是经验要求&#xff0c;又是学历要求的&#xff0c;网络上关于PMP报名条件说的层出不穷&#xff0c;今天给大家统一一下&#xff0c;报名PMP究竟需要什么条件&#xff1a; 官方报考条件&#xff1a; 一、报名考生必须具备35小…

Social Skill Training with Large Language Models

Social Skill Training with Large Language Models 关键字&#xff1a;社交技能训练、大型语言模型、人工智能伙伴、人工智能导师、跨学科创新 摘要 本文探讨了如何利用大型语言模型&#xff08;LLMs&#xff09;进行社交技能训练。社交技能如冲突解决对于有效沟通和在工作和…