释放生成性人工智能在工业运营中的潜力 机

发掘生成式 AI 在工业运营中的潜力

关键要点

  • AI 与机器学习在制造业中推动了数字革命,提高了运营效率和生产力。
  • 生成式 AI 利用大型预训练模型,简化了工业数据的分析,无需为每种应用案例手动开发 ML 模型。
  • 通过动态构建多次提示,提升了生成代码的准确性,使普通工作人员也能方便地与数据进行互动。
  • Amazon Bedrock 提供了构建和规模化生成式 AI 应用的基本架构,优化了企业决策和维护过程。

在制造业日益变化的背景下,AI与机器学习(ML)的变革力量显而易见,正在推动一场数字革命,简化运营并提升生产力。然而,这种进展也给企业在数据驱动解决方案上带来了独特的挑战。工业设施面临着大量的非结构化数据,这些数据来自于生产线各处的传感器、遥测系统和设备。实时数据对于预测性维护和异常检测等应用至关重要,但针对如此时间序列数据每个工业用例开发定制的 ML 模型需要大量的数据科学家时间和资源,从而阻碍了大规模的广泛应用。

使用 和大型预训练基础模型(FMs),如 ,可以快速根据简单的文本提示生成多样的内容,包括对话文本和计算机代码,这种称之为 的方法,省去了数据科学家为每个用例手动开发特定 ML 模型的需要,从而使 AI访问更加民主化,甚至小型制造商也能受益。工作人员通过 AI生成的洞察提升了生产力,工程师能够主动检测异常,供应链管理者优化库存,工厂领导做出基于数据的明智决策。

然而,独立的 FMs 在处理复杂工业数据时,会面临上下文大小限制的挑战(通常 ),这导致了一些困难。为了应对这一点,可以利用 FMs 根据自然语言查询(NLQs)生成代码的能力。类似于

的代理开始发挥作用,它在高分辨率时间序列数据上运行此代码,同时利用 FMs 处理错误。PandasAI 是一个 Python 库,它将生成式 AI能力添加到流行的数据分析和处理工具 pandas。

复杂的 NLQs,比如时间序列数据处理、多级聚合以及透视或联接表操作,可能在采用零次提示时生成不一致的 Python 脚本准确性。

为了提高代码生成的准确性,我们建议动态构建 来处理 NLQs。多次提示通过向模型展示多个相似提示的预期输出,提供额外的上下文,从而提高准确性和一致性。在这篇文章中,提取出成功 Python 代码的多次提示包含于一个嵌入中,该嵌入用于类似数据类型(如来自物联网设备的高分辨率时间序列数据)。动态构造的多次提示为 FMs提供了最相关的上下文,并增强了 FMs在高级数学计算、时间序列数据处理和数据首字母缩略词理解上的能力。这种改善后的响应使企业员工和运营团队能够与数据互动,获取洞察而不需要广泛的数据科学技能。

除了时间序列数据分析,FMs 在多种工业应用中都显示出价值。维护团队可以评估资产健康,捕获 的功能汇总图像,以及利用智能搜索进行异常根因分析。为了简化这些工作流程,AWS 推出了 ,使您能够构建和扩展生成式 AI 应用,使用像 的最新预训练 FMs。借助 ,您可以简化 RAG开发过程,为工厂工人提供更准确的异常根因分析。我们的文章展示了一个为工业用例提供的智能助手,利用 Amazon Bedrock 解决 NLQ挑战,从图像生成零件摘要,并通过 RAG 方法增强设备诊断的 FM 响应。

解决方案概述

下图展示了解决方案的架构。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2024/03/19/industrial- 删除)

工作流包括三个不同的用例:

用例1:处理时间序列数据的 NLQ

时间序列数据的 NLQ 工作流包含以下步骤:

  1. 我们利用具备 ML 能力的条件监控系统进行异常检测,例如 ,用于监测工业设备健康。Amazon Monitron能够根据设备的振动和温度测量识别潜在的设备故障。
  2. 通过 和 处理 Amazon Monitron 数据,采集时间序列数据,并将其转换为表格 CSV 格式,存储于 (Amazon S3)桶中。
  3. 最终用户可以通过向 Streamlit 应用发送自然语言查询,与其 Amazon S3 中的时间序列数据开始对话。
  4. Streamlit 应用将用户查询发送到 ,进行查询的嵌入,并在包含先前 NLQ 和示例代码的 索引中执行相似性搜索。
  5. 相似性搜索完成后,插入前 N 个最相似的示例,包括 NLQ 问题、数据模式和 Python 代码到自定义提示中。
  6. PandasAI 将此自定义提示发送至 Amazon Bedrock Claude v2 模型。
  7. 应用程序使用 PandasAI 代理与 Amazon Bedrock Claude v2 模型互动,为 Amazon Monitron 数据分析和 NLQ 响应生成 Python 代码。
  8. 在 Amazon Bedrock Claude v2 模型返回 Python 代码后,PandasAI 在上传的 Amazon Monitron 数据上运行 Python 查询,收集代码输出并处理任何失败运行的必要重试。
  9. Streamlit 应用通过 PandasAI 收集响应,并向用户提供输出。如果输出令人满意,用户可以标记为“有用”,保存 NLQ 和 Claude 生成的 Python 代码至 OpenSearch Service。

用例 2:故障部件的摘要生成

我们的摘要生成用例包含以下步骤:

  1. 一旦用户确认哪个工业资产表现出异常行为,他们可以上传故障部件的图像,以确认根据其技术规格和操作条件,是否存在物理问题。
  2. 用户可以使用 从这些图像中提取文本文档数据。
  3. 提取的文本数据包括在 Amazon Bedrock Claude v2 模型的提示中,使模型能够生成故障部件的 200 字摘要。用户可利用此信息对部件进行进一步检查。

用例 3:根因诊断

我们的根因诊断用例包含以下步骤:

  1. 用户获取与故障资产相关的各种文档格式的企业数据(PDF、TXT 等),并将其上传到 S3 桶。
  2. 使用 Titan 文本嵌入模型和默认的 OpenSearch Service 向量存储,在 Amazon Bedrock 中生成这些文件的知识库。
  3. 用户提出与故障设备的根因诊断相关的问题。答案通过 Amazon Bedrock 知识库使用 RAG 方法生成。

前提条件

要遵循本文,您应满足以下前提条件:

  • 您需要拥有一个 AWS 账户,并且是一个具有管理权限的 (IAM)角色,以管理作为解决方案一部分创建的资源。更多细节,请参见 。
  • 本教程需要在 Linux、Mac 或 Windows 子系统的 bash 终端上安装 Python 3.9 或更高版本,并拥有一个 AWS 账户。我们还建议使用 (Amazon EC2)实例(Ubuntu Server 22.04 LTS)。
  • 【安装或更新】(https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) (AWS CLI),可在您的 PC 或 EC2 实例上进行安装。
  • Amazon Bedrock 模型。

部署解决方案基础架构

要设置您的解决方案资源,请按照以下步骤操作:

  1. 部署 模板 ,该模板创建了一个 OpenSearch Service 集合和索引、 笔记本实例及 S3 桶。您可以将此 AWS CloudFormation 堆栈命名为:genai-sagemaker
  2. 在 JupyterLab 中打开 SageMaker 笔记本实例。您将发现该实例上已下载以下 :。
  3. 从以下目录运行笔记本: 。此笔记本将使用 SageMaker 笔记本加载 OpenSearch Service 索引,以保存来自 的键值对。
  4. 将数据文件夹 中的文档上传到 CloudFormation 堆栈输出中的 S3 桶。

接下来,您将为 Amazon S3 中的文档创建知识库。

  1. 在 Amazon Bedrock 控制台中,选择导航面板中的 知识库
  2. 选择 创建知识库
  3. 对于 知识库名称 ,输入名称。
  4. 对于 运行权限角色 ,选择 创建并使用新服务角色
  5. 对于 数据源名称 ,输入数据源的名称。
  6. 对于 S3 URI ,输入您上传的根因文档的 S3 路径。
  7. 选择 下一步

Titan 嵌入模型将自动被选中。

  1. 选择 快速创建新的向量存储
  2. 检查您的设置并通过选择 创建知识库 来创建知识库。
  3. 知识库创建成功后,选择 同步 将 S3 桶与知识库同步。
  4. 设置好知识库后,您可以通过询问类似“我的执行器移动缓慢,可能是什么问题?”的问题来测试 RAG 方法进行根因诊断。

下一步是在 PC 或 EC2 实例(Ubuntu Server 22.04 LTS)上部署所需库包的应用。

  1. 在本地 PC 上 ,与 AWS CLI 一起使用。为简单起见,您可以使用和部署 CloudFormation 堆栈时相同的管理角色。如果您正在使用 Amazon EC2,请 。
  2. 克隆 :

git clone https://github.com/aws-samples/unlocking-the-potential-of- generative-ai-in-industrial-operations

  1. 更改目录为 unlocking-the-potential-of-generative-ai-in-industrial-operations/src,并在此文件夹中运行 setup.sh 脚本来安装所需的包,包括 LangChain 和 PandasAI:

cd unlocking-the-potential-of-generative-ai-in-industrial-operations/srcchmod +x ./setup.sh ./setup.sh

  1. 使用以下命令运行 Streamlit 应用:

source monitron-genai/bin/activate python3 -m streamlit run app_bedrock.py <REPLACE WITH YOUR BEDROCK KNOWLEDGEBASE ARN>

提供您从上一步在 Amazon Bedrock 中创建的 OpenSearch Service 集合 ARN。

与您的资产健康助手聊天

完成端到端的部署后,您可以通过 localhost:8501 访问应用,这将打开带有 Web 界面的浏览器窗口。如果您在 EC2 实例上部署了应用,请 。您可以在不同的选项卡中导航以处理不同的用例。

探索用例 1

要探索第一个用例,请选择 数据洞察和图表 。首先上传您的时间序列数据。如果您没有现有的时间序列数据文件,可以上传以下 其中包含匿名的 AmazonMonitron 项目数据。如果您已经有 Amazon Monitron 项目,请参阅 将您的 Amazon Monitron 数据流式传输至 AmazonS3,并使用您的数据与此应用。

上传完成后,输入查询以启动与数据的对话。左侧边栏提供多种示例问题供您参考。以下屏幕截图展示在输入像“告诉我每个地点的警告或警报的传感器唯一编号的数量?”(一个难度高的问题)或“对于显示温度信号为不健康的传感器,您能计算每个显示异常振动信号的传感器的天数持续时间吗?”(挑战性问题)的提问时生成的响应和 Python 代码。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2024/03/08/genai- 删除)

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2024/03/08/genai- 删除)

如果您对答案感到满意,您可以将其标记为 有用 ,并将 NLQ 和 Claude 生成的 Python 代码保存在 OpenSearchService 索引中。

![](https://d2908q01

Leave a Reply

Required fields are marked *