如果要讨论一下近1~2年来最为热门的话题,那人工智能必须占有一席之地。人工智能为各行业提高效率提供了新渠道新方法。GPT (Generative Pre-trained Transformer)是一种强大的自然语言处理模型,已在各种应用场景中展示了令人惊叹的能力,正在引领着技术的新潮流。
那么,GPT又可以给低代码控制器或者嵌入式EMS的使用者提供什么帮助呢?
关注极简物控的朋友都知道,应用低代码控制器或嵌入式EMS实现策略控制,其核心是将控制策略表达为AOE网络并对AOE进行标准化配置描述,让我们来回忆一下这整个过程:
1. 设计基于事件驱动的控制策略;
2. 基于控制策略构建AOE网络;
3. 编写标准化配置文件。
其中,第2、3步均为规范化、标准化流程,而第1步基于事件驱动的控制策略需要根据具体的控制目标进行“事件”和“动作”的设置,包括确定动作执行需要满足的事件条件、构建控制策略的拓扑逻辑关系、定义每个动作执行完成的事件条件、定义事件超时事件、以及执行失败后需要采取的措施。
整个过程来说相对复杂,新手面对复杂的策略时可能会一时间难以下手。为此,极简物控利用ChatGPT给新手提供一个更有好的设计环境,为控制策略的设计提供一些灵感与参考,提高配置文件的生产效率,为用户带来全新的体验。
运用ChatGPT简化低代码控制器配置文件的编写,只需向ChatGPT输入配置地具体要求,ChatGPT将智能生成配置文件,包括测点配置、通信配置以及策略配置。生成的配置文件可直接导入低代码控制器工具,快速搭建AOE网络。
上述应用该如何实现呢?让我们来进一步了解吧。
一、 训练模型
首先我们需要训练出能够按照规定的格式智能生成配置文件的模型。在这一步我们需要用到openai官网提供的微调功能和python当中的openai模块,在进行以下步骤之前确保你已经拥有一个API key,并且在python中安装了openai模块。
第一步:准备数据。准备如下的训练数据,每个训练示例通常包含一个输入示例以及与之对应的我们期望输出的配置文件,第一行为“prompt”、“completion”。
第二步:格式化数据。利用CLI数据准备工具格式化训练数据,最后生成一个jsonl文件。
第三步:启动微调作业。使用 OpenAI CLI 启动微调作业“”。
经过一段时间的等待之后我们就能够看到窗口显示微调成功。
第四步:进一步微调。如果需要对微调完成的模型进一步训练,只需要将启动微调命令中的模型名称改为微调完成的模型名之后再输入即可:openai模块除了创建微调作业外,还可以列出现有作业、检索作业状态、取消作业或分析微调模型,大家有兴趣的可以根据openai官网的教程自行进行探索。
二、 调用微调模型
通过上文的一系列步骤,我们已经完成了智能生成配置文件模型的训练,接下来我们该如何运用这个模型呢?
第一步:基于python调用微调模型进行单个对话。编写python程序调用微调模型,可以根据根据预期生成的文件大小设置适当的max_tokens,并调整调用模型的各个参数。
以下是上图所示的代码运行的结果,输入测点配置文件的要求即可输出相应的测点配置文件。
第2步:基于python调用微调模型进行多轮对话。由于微调模型的输出有token限制,因此在测点文件过大的时候,一次输出可能会出现不能生成完整的配置文件的情况,可以编写以下程序,保存对话历史,通过设置后进先出,实现记忆上下文的对话。
ChatGPT的智能生成简化了AOE网络的设计流程,提高了低代码控制器的开发效率,减少了编写配置文件的时间和工作量,让开发人员能够专注于控制逻辑的设计,无需关注底层细节。
此外,ChatGPT能够处理复杂的逻辑和语法,生成符合需求的配置文件,减少了错误和调试的可能性,这提高了AOE网络的质量和稳定性,可推动低代码开发的普及,使更多人能够参与开发,提高整体开发效率。
总之,ChatGPT的智能生成配置文件具有巨大的潜力。接下来,我们将深入探索ChatGPT与组态控制的结合应用,发掘其在不同维度的潜力和优势,为低代码控制器、嵌入式EMS的开发带来更多的便利和创新。