随着人工智慧(AI)在2022-2023的爆炸性成长,我们迎来了AI世代,无论是交通、工业、金融、制造、医疗等各领域,AI已被广泛的应用来解决各类问题与加速发展。伴随著AI走入我们的生活,我们也在所拥有的各类智慧装置上,看到各式各样的AI工具与产品的身影。
图一:MediaTek Genio 130 chip (资料内容取自 MediaTek)
ChatGPT,我们熟知且广泛使用的自然语言生成式模型;ChatGPT 由 OpenAI 所开发并在2022推出。透过 ChatGPT,我们除了能以人类自然语言与其互动外。还可传递文字、音讯、图像、多媒体等资讯,为使用者提出的询问给予近乎真人且基于深度学习后相应的回应内容。
这样的先进的AI技术,被广泛的应用在各类领域、场景。在 IoT 领域,联发科技将自家解决方案:Genio 130,为一款单芯片整合了 Arm Cortex-M33 MCU、Wi-Fi 6 和蓝牙 5.2 连接子系统、电源管理单元(PMU)和可选音频 DSP 为基础,结合 OpenAI API,打造新一代智慧联网 AI 装置,可应用在各类 IoT 场景及情境。
图二:MediaTek Genio 130 block diagram
本篇方案将进一步介绍 Genio 130 结合 ChatGPT 功能的解决方案 :
- Genio 130 环境 & SDK 架设
- OpenAI API 导入 & 行为设计
- 实际操作展示
Genio 130 环境 & SDK 架设
图三:MediaTek Genio 130 EVK (资料内容取自 AcSip)
透过搭建 Linux 开发环境(ex. VM + Ubuntu 20.04 LTS)后,导入 Genio 130 SDK,便可开始进行 OpenAI 功能实作。
关于如何架设 Genio 130 开发环境,并进一步建置专案、烧录专案 binary file 到 Genio 130 EVK,详细可以参考大大通博文:MediaTek Genio 130/130A 快速上手(一)
在导入 OpenAI API 之前,我们需要将以下功能实作,以配合 OpenAI API 所需,Genio 130 SDK 已具备部分功能。
- Audio data capture from microphone:撷取麦克风音讯。
- Audio playback:用以播放 OpenAI 回应内容。
- HTTP Client:收发 Genio 130 与 OpenAI Server 网路封包。
OpenAI API 导入 & 行为设计
参考 OpenAI 开发文件,我们可以从中查找各类 OpenAI API 并整合在 Genio 130 上,利用 HTTP Request 来完成,以下是一个使用 Chat Completions API 的 HTTP Request 范例:
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY"