Magentic-One 旨在通过利用多个 AI 代理来简化复杂任务,每个代理都具有专门的功能。最近,我开始着手开发一款移动应用程序(名为“MotionLab”),该应用程序能够连接 BLE 传感器(例如运动传感器),或利用设备内置的运动传感器(如加速度计)。
然而,在开发过程中,我遇到了一个挑战:解码从订阅了特定 UUID 特性的 BLE 传感器接收的数据,如下面的屏幕截图所示。这时,多智能体 AI 系统 Magentic-One 拯救了我。
为 Magentic-One 设置环境。型号为“gpt-4o-2024–08–06”。
export CHAT_COMPLETION_PROVIDER='openai'
export OPENAI_API_KEY="your_api_key_here"
然后只需运行example.py来执行。这次,我加入了一个保存屏幕截图的功能,让我们能够观察到一些幕后的处理过程。运行命令如下:python3 examples/example.py --logs_dir ./my_logs --save_screenshot。
python3 examples/example.py --logs_dir ./my_logs --save_screenshot
这是使用过的一个提示,也尝试过其他一些提示。
As a software developer for a mobile app connected to a BLE motion wearable sensor, for a mobile app connected to a BLE motion wearable sensor,
you can access the BLE sensor, subscribe to a characteristic with
UUID 0x0000FFE4-0000-1000-8000-00805F9A34FB, and receive a list of
twenty integer values when the sensor is in motion,
here is one exmaple [85, 97, 119, 2, 168, 254, 146, 254, 6, 2, 48, 254, 205, 255, 248, 240, 83, 252, 171, 196].
These values may represent acceleration (x, y, z) at some points
by decoding packet header, flag. To understand and interpret these values
correctly, you need to decode them based on the Bluetooth 5.0 communication
protocol of the wearable sensor.
The protocol documentation can be found at https://wit-motion.gitbook.io/witmotion-sdk/ble-5.0-protocol/bluetooth-5.0-communication-protocol .
Can you assist in decoding these values and translating them into meaningful data for the app?
然后userProxy获取用户提示输入。
协调器获取信息并将制定一个计划。
协调者做出计划决策。
编排器流程最终计划。
WebSurfer 代理负责访问提供的网站以检索文档信息。它捕获屏幕截图并利用 OCR 方法,利用大型多模式模型来提取必要的详细信息。
Orchestrator 根据响应进行反射,然后决定下一步计划是否关注检索与 BLE 数据相关的特定数据解释部分。
Orchestrator 制定计划,要求 Coder 编写 Python 脚本,根据从网站检索到的 BLE 通信协议解码 BLE 数据。
Coder 编写一个 python 函数。
然后我们检查 my_logs 以查找此过程中保存的屏幕截图。
Magentic-One 旨在通过利用多个 AI 代理来简化复杂任务,每个代理都具有专门的功能。通过为其提供一个包含 BLE 传感器文档的网站,Magentic-One 可以自主导航该网站、捕获屏幕截图并使用 OCR 技术提取蓝牙 5.0 通信协议详细信息。利用这些信息,系统的编码代理利用我在提示中包含的样本数据,起草了一个专门用于解码传感器数据的 Python 函数。这一经验凸显了 AI 技术对现代应用程序开发的变革性影响,为更具创新性和智能的应用程序铺平了道路。