构建一个人工智能实验室助手

Ari Mahpour
|  已创建:April 8, 2024

想象一下,如果有一个实验室助手可以为你记录笔记、控制你的实验室设备、绘制数据并一次性分析所有结果。这个概念基本上自古以来就存在。新的变化是,执行上述活动的将不再是人类——而是人工智能(AI)。在这篇文章中,我们将探讨一项突破性技术,它让我们仅用智能手机和一个树莓派就能利用AI运行的实验室助手。

实际应用

我们不妨先看看我们的AI实验室助手的实际应用,而不是首先展示实现方式。我面临的一个常见挑战是新板的开机程序。我不断地用一只手探测板子的不同部分,用另一只手调整示波器,然后尝试开关电源(以观察涌入电流或其他开机特性)。再加上启用直流电子负载的任务,你很快就会手忙脚乱。在最好的情况下,你可能会有一个伙伴帮助你启动一个板子。如果你独自一人,处理所有这些任务可能会相当烦人。

如果我们有办法让我们的AI助手按顺序为我们的仪器供电或启用怎么样?

电源开启

图1:使用自然语言请求设置并开启我的电源

让我们更进一步,看看它是否也能为我们获取数据

电源回读

图2:电源的电压和电流回读

使用代码解释器(也称为高级数据分析),我们可以利用可视化库来绘制我们从仪器获取的数据,而无需动一根手指。

绘图请求

图3:绘图请求

绘图代码和结果

图4:绘图代码和结果

现在你已经看到了一些例子,让我们来看看这一切是如何工作的。

工作原理

如何构建自定义GPT操作以与您的硬件对话中,我们组装了一个非常简单的应用程序,该程序使用ChatGPT的自然语言请求来切换连接到树莓派的LED。在使用生成式AI对实验室仪器进行物联网能力改造中,我们围绕我们的仪器构建了一个网络服务,使它们可以通过互联网控制。我们将把这两篇文章的概念合并在一起,创建我们的AI实验室助手。

原则上,我们的方法与前一篇文章相似,但增加了复杂性。大型语言模型,在这种情况下是ChatGPT的GPT 4引擎,没有变化。ChatGPT的唯一更新是修改了OpenAPI文档,该文档提供了我为自定义GPT操作提供的功能细节。例如,我不仅仅是给它一个基本的端点,如“切换LED”或“从我的服务器获取一个随机生成的数字”,我指示它“启用DP832电源的输出”。所有这些指令都可以在仓库中的openapi.yaml文件中找到。

就像我们在如何构建自定义GPT操作以与您的硬件对话中所做的那样,我们需要我们的SSL证书、openapi.yaml、Nginx配置文件以及所有的Docker文件来构建完整的应用程序。Nginx配置略有变化,因为我们现在有多个网络应用程序独立运行。我已经分别配置了到每个应用程序的路由,而不是运行一个单一的大型应用程序。如果你愿意,你可以将它们打包成一个单一的网络应用程序。Dockerfile和Docker Compose有点棘手,因为我们正在构建一个基础镜像,然后为每个单独的网络应用程序定制两次。所有的细节都可以在仓库中找到。

假设您已经安装了Docker并按照README配置了您的证书并用您的域名替换了一些文件,仓库已被配置为开箱即用。为了简单起见,在树莓派(或其他轻量级Linux盒子)上运行这个将获得最佳结果。让我们来看一个最终示例,真正展示了AI与实验室仪器控制结合的力量。

一个复杂的助手

现在我们已经将整个生态系统组合在一起,我们可以开始给我们的助手更复杂的任务,比如这个:
我已经将我的电源直接连接到我的直流电子负载。我想查看两个仪器之间电缆的损失。以下是我需要你遵循的步骤来获取这些信息:

1.  将电源设置为5V,1A

2. 打开电源

3. 将直流电子负载设置为电流控制模式并启用

4. 测量电源电压(并保存以备后用)

5. 测量直流电子负载电压(并保存以备后用)

6. 将直流电子负载的汇流电流设置为0.1A

7. 重复步骤4-6,对以下汇流电流值:0.5A,  0.9A

8. 创建一个图表,X轴为运行编号。电源电压和直流电子负载电压应在Y轴上为不同的线条。

注意:我想要的唯一回应是你提供的分析的一行总结和你将提供给我的图表的视图。

结果:

最终响应

图 5:最终响应

如您所见,它不仅为我们执行了一系列操作,还能为我们绘制和分析结果。这不仅仅是我们过去观察到的标准“教学机器人”——这是更伟大的东西。

结论

在本文中,我们展示了我们的AI实验室助手的一些能力,并介绍了组装它所需的一些组件。仓库中包含了您开始所需的一切,此外还有之前的教程,例如如何构建自定义GPT动作与您的硬件对话以及使用生成式AI为实验室仪器进行物联网改造,本文就是基于它构建的。这个项目揭示了AI的变革力量以及如何在实验室设置中利用它。AI如何改变您的实验室?尝试运行这个示例项目(或其变体)并分享您对哪些方面做得好以及哪些方面做得不好的想法。

此项目中使用的所有源代码可以在以下位置找到:https://gitlab.com/ai-examples/instrument-controllables

关于作者

关于作者

Ari 是一位在设计、制造、测试以及集成电气、机械和软件系统方面拥有丰富经验的工程师。他热衷于将设计、验证和测试工程师凝聚成一个高效团队,共同工作。

相关资源

返回主页
Thank you, you are now subscribed to updates.