AIラボアシスタントの構築

Ari Mahpour
|  投稿日 2024/04/8, 月曜日

想像してみてください。あなたのためにメモを取り、実験装置を制御し、データをプロットし、一度にすべての結果を分析できるラボアシスタントがいるとします。このコンセプトは、基本的に永遠に存在しています。この分野で新しいのは、これらの活動を人間が行うのではなく、AIが行うということです。この記事では、スマートフォンとRaspberry Piだけを使用してAIランラボアシスタントを活用する力を与えてくれる画期的な技術を見ていきます。

実用的な応用

実装を最初に示すのではなく、私たちのAIラボアシスタントの実用的な応用を見てみましょう。私が直面する一般的な課題は、新しいボードの電源を入れる手順です。私は片手でボードの異なる部分を探り、もう一方の手でオシロスコープを調整し、さらに電源を入れたり切ったりもしています(突入電流やその他の電源投入特性を観察するため)。それに、DC電子負荷を有効にする作業を加えると、すぐに手が足りなくなります。最良のシナリオでは、ボードの立ち上げを手伝ってくれるパートナーがいるかもしれません。一人でこれらすべてのタスクをこなすのはかなり面倒です。

私たちのAIアシスタントに指示して、私たちの機器を順番に電源投入または有効にする方法があったらどうでしょうか?

電源投入

図1: 自然言語を使用して電源を設定し、投入するように要求

さらに一歩進んで、私たちのためにデータも取得できるかどうかを見てみましょう

電源リードバック

図2: 電源からの電圧と電流のリードバック

コードインタープリター(別名アドバンスドデータ分析)を使用して、指を動かすことなく、機器から取得したデータをプロットするための可視化ライブラリを活用できます。

プロット要求

図3: プロット要求

プロットコードと結果

図4: プロットコードと結果

いくつかの例を見たところで、これがどのように機能するかを見ていきましょう。

仕組み

ハードウェアと会話するカスタムGPTアクションの構築方法では、ChatGPTへの自然言語リクエストを使用してRaspberry Piに接続されたLEDを切り替える非常にシンプルなアプリケーションを組み立てました。生成AIを使用してラボ機器にIoT機能をレトロフィットするでは、インターネット上で制御できるように機器を取り巻くWebサービスを構築しました。これらの記事のコンセプトを組み合わせて、AIラボアシスタントを作成します。

原則として、私たちのアプローチは前の記事と同じですが、複雑さが加わります。この場合の大規模言語モデル、つまりChatGPTのGPT 4エンジンは変わりません。ChatGPTへの唯一の更新は、カスタムGPTアクションのために提供している機能の詳細を提供する修正されたOpenAPIドキュメントです。たとえば、「LEDを切り替える」や「サーバーからランダムに生成された数値を取得する」といった基本的なエンドポイントを提供するのではなく、「DP832電源の出力を有効にする」ように指示します。これらの指示は、リポジトリ内のopenapi.yamlファイルで見つけることができます。

ハードウェアと会話するカスタムGPTアクションの構築方法で行ったように、SSL証明書、openapi.yaml、Nginx設定ファイル、およびすべてのDockerファイルが必要になります。完全なアプリケーションを構築します。Nginxの設定は、複数のWebアプリケーションが互いに独立して実行されるため、わずかに変更されます。単一のモノリスとして実行するのではなく、それぞれに対して別々のルートを設定しました。必要に応じて、それらを単一のWebアプリケーションにバンドルすることもできます。DockerfileとDocker Composeは、基本イメージを構築してから、各個別のWebアプリケーションに対して2回カスタマイズするため、少し複雑です。リポジトリで詳細を見ることができます。

リポジトリは、Dockerがインストールされており、READMEに従って証明書を設定し、ドメイン名でいくつかのファイルを置き換えた場合、そのまま動作するように設定されています。簡単にするために、Raspberry Pi(または別の軽量Linuxボックス)で実行すると最良の結果が得られます。ラボ機器制御とAIの組み合わせの力を本当に示す最後の例を見てみましょう。

洗練されたアシスタント

全体のエコシステムを組み立てたので、次のようなより複雑なタスクをアシスタントに依頼することができます:
私は電源を直接DC電子負荷に接続しました。2つの機器間のケーブルの損失を見てみたいです。この情報を取得するために、次の手順に従ってください:

1. 電源を5Vで1Aに設定する

2. 電源をオンにする

3. DC電子負荷を電流制御モードに設定し、有効にする

4. 電源電圧を測定する(後で使用するためにこれを保存する)

5. DC電子負荷の電圧を測定する(後で使用するためにこれを保存する)

6. DC電子負荷のシンク電流を0.1Aに設定する

7. シンク電流値が0.5A、0.9Aの場合にステップ4-6を繰り返す

8. X軸に実行番号を、Y軸に電源電圧とDC電子負荷電圧を別々の線でプロットする。

注:私があなたから欲しいのは、分析の1行要約と、提供するプロットのビューだけです。

結果:

最終応答

図5: 最終応答

ご覧の通り、このシステムは一連の操作を実行するだけでなく、結果をプロットして分析することもできます。これは過去に見た標準的な「指導用ロボット」ではなく、はるかに優れたものです。

結論

この記事では、AIラボアシスタントのいくつかの機能を示し、それを構築するために必要なコンポーネントについて説明しました。リポジトリには、ハードウェアと通信するカスタムGPTアクションの構築方法や、この記事が構築されたGenerative AIを使用してラボ機器をIoT機能でレトロフィットする方法など、始めるために必要なすべてが含まれています。このプロジェクトは、AIの変革的な力と、ラボ設定内でそれを活用する方法を明らかにします。AIはあなたのラボをどのように変革していますか?この例のプロジェクト(またはそのバリエーション)を実行して、何がうまくいき、何がうまくいかなかったかについての考えを共有してください。

このプロジェクトで使用されたすべてのソースコードは、https://gitlab.com/ai-examples/instrument-controllablesで見つけることができます。

PDFとして開きます

筆者について

筆者について

Ariは、設計、デバイスパッケージ、テスト、および電気、機械、およびソフトウェアシステムの統合において幅広い経験を持つエンジニアです。彼は、設計/デザイン、検証、テストのエンジニアをまとめて団結したグループとして機能させることに情熱を注いでいます。

関連リソース

ホームに戻る
Thank you, you are now subscribed to updates.