🍌
LLMCardputerの作成方法
はじめに
LLM(大規模言語モデル)をローカル環境で動作させるには、通常、CUDAが動作するGPUや大量のメモリを搭載したApple Silicon搭載Macが必要です。しかし、近年では組み込み向けのマイコン用エッジLLMモジュールが登場しています。
本記事では、M5Stack社が販売するクレジットカードサイズのキーボード付きコンピュータ「Cardputer」と、ローカルLLMが動作する「ModuleLLM」を組み合わせたシステムの構築方法について説明します。
用意するもの
ModuleLLM
ModuleLLMを用意します。国内正規代理店では売り切れの場合があり、入手には工夫が必要となる可能性があります。
Cardputer
Cardputerを用意します。こちらは在庫が復活している場合があります。
組み立て手順
分解
- ModuleLLMを枠から取り外し、4つのネジをレンチで外します。
- Cardputerを分解し、バッテリーを慎重に取り外します。
- Cardputerの上部の黒い部分も取り外します。
- ModuleLLMをケース内に収めるため、調整を行います。
- ケース背面を加工し、M.BUSピンが露出するようにします。
- 絶縁処理を施します。
接続方法
ModuleLLMとCardputerは、UARTまたはTCP(10001)で通信可能ですが、本記事ではUARTを使用します。
接続ピン対応表
Cardputer側(GROVE) | ModuleLLM側(M.BUS) |
---|---|
G (黒) | GND |
5V (赤) | 5V |
G2 (黄) | UART(Tx) |
G1 (白) | UART(Rx) |
コーディング
サンプルコード
以下のサンプルを組み合わせて使用します。
- https://github.com/m5stack/M5Module-LLM/blob/main/examples/SerialTextAssistant/SerialTextAssistant.ino
- https://github.com/m5stack/M5Cardputer/blob/master/examples/Basic/keyboard/inputText/inputText.ino
UARTのTX, RXのGPIOは以下のように指定します。
Serial2.begin(115200, SERIAL_8N1, 1, 2);
完成
これで構築が完了しました。
Discussion