Learn

Shifu:LLM時代の新しいインフラストラクチャ

AIによるデータ収集、処理、およびデバイス制御の実装における課題と困難

ChatGPTなどの大規模言語モデルは、アクセスからアプリケーション開発までの全体の連鎖で大いに助けになります。ただし、これらのデバイスと本当に対話できるようになるには、まだ多くの作業が必要です。各デバイスは異なるプロトコルを使用し、異なるルールを持っており、統一された方法でそれらと通信することは難しいです。

  1. データ収集:データ収集はAIシステムの基盤であり、収集されたデータの品質は直接その後の分析結果に影響します。しかし、実際のアプリケーションでは、データ収集には、欠落したデータ、ノイズのあるデータ、一貫性のないデータなどの問題がしばしば発生します。収集されたデータの品質と精度を確保するためには、適切なクリーニングおよび前処理の方法を使用する必要があります。
  2. デバイス制御:デバイス制御は、AIシステムを介して外部デバイスを制御することを指します。しかし、実際のアプリケーションでは、デバイス制御には、デバイスのインターフェイスや通信プロトコルの一貫性のない問題がしばしば発生します。これらの問題を解決するには、さまざまなデバイスのインターフェイスや通信プロトコルを習得し、適切な制御戦略を設計する必要があります。

そこで、LLM(Large Language Models)がIoTデバイスとシームレスに接続して制御できる新しいインフラストラクチャであるShifuが登場します。

Shifu:LLM時代の新しいIoTインフラストラクチャ

Shifuは、すべてのデバイスを簡単に接続し、そのAPIを公開し、ChatGPTがそれらの機能を十分に活用できるようにするIoT開発フレームワークです。Shifuを使用すると、ChatGPTは今や「自然言語を使用してロボットや他のIoTデバイスに命令を発し、それらが対応するアクションを実行する」ループを完成させることができます - 大規模モデルと物理世界を結びつけます。

Shifuは、ボトムレベルのインフラストラクチャとして機能し、LLMがさまざまな方法でデバイスと通信できるようにします。Shifuを使用すると、LLMはさまざまなデバイスを接続する複雑さを気にする必要がなくなります。ShifuはLLMに統一されたデバイスAPIを提供し、異なるデバイスと自然言語を使用して通信できるようにします。これは、異なるデバイスが使用するさまざまなプロトコルや規則を抽象化することで実現されます。Shifuはミドルウェアとして機能し、自然言語のコマンドをデバイス固有のコマンドに

変換し、その逆も行います。Shifuを使用すると、開発者は基礎となる複雑さを気にせずに新しいデバイスをアプリケーションに簡単に追加できます。

Shifuは、ChatGPTの機能を物理世界に拡張する究極の解決策です。統一されたAPIにより、LLMは異種のデバイスをシンプルな言語コマンドで操作できるようになり、さまざまなプロトコルや規則とのやり取りの手間から解放されます。新しいデバイスをアプリケーションに追加することは今や簡単であり、Shifuはさまざまなデバイスの動作の複雑さを抽象化します。実際、Shifuの統合により、ChatGPTは物理世界にその影響力を拡大し、自然言語を新しいユーザーインターフェースとして導入することにより、人々が物とやり取りする方法を完全に変えることができます。

Shifu + ChatGPT+IoT = AIoT

Shifuは、オープンソースのAIoT開発フレームワークであり、ユーザーにデバイスのアクセスと制御のためのワンストップの完全なソリューションを提供します。Shifuは、世界で最も難しいレベルまでデバイスへのアクセスと制御の難しさを軽減しましたが、ユーザーはまだ通信プロトコル/ドライバと設定ファイルを提供する必要があります。IoTシナリオのデバイスのタイプが多様で複雑になると、ユーザーはまだ多くの問題を抱えるかもしれません。

幸いなことに、Shifuは人間のためだけでなく、提供される統一された標準APIをChatGPTが簡単に吸収して使用できるため、人間に便利を提供します。言い換えれば、ChatGPTとShifuを使用すると、IoTでのデバイスのアクセスと使用は、従来のプログラミングではなく、すばやいエンジニアリングに完全に変換されることがあります。これに基づいて、人間が初めてAIoTシーンのノーコード構築を実現したと言えます。

ここに、ChatGPTのプロンプトとShifuを一緒に使用して、接続、駆動、およびロボットアームにタスクを実行させる簡単な例があります:

  1. 開始する前に必要なものは、ハードウェア(ロボットアーム)とコンピューターです。ソフトウェア部分はChatGPTとShifuが自動的に処理することが目標です。このロボットアームは、単純な動きとグラビングができます。

  2. まず、ChatGPTにShifuのオープンソースプロジェクトから学ばせます:

私はShifuというiotフレームワークがあります。これを使用してiotデバイスのapiを公開できます。オープンソースプロジェクトはhttps://github.com/edgenesis/shifuにあります。

このステップの後、ChatGPTはShifuがハードウェアデバイス用に使用するDeviceShifuをどのように生成するかを理解し、またユーザーが提供したハードウェアデバイスを記述するYAML構成ファイルをどのように完了するかも学びます。

  1. 次に、ChatGPTにロボットアームの情報を記述します。このステップでは、ChatGPTがデバイスドライバーを生成する方法を理解できるようになります。
  • デバイスに関する "metadata" を提供する必要があります。例えば、その能力や接続アドレスなどです:
私は、吸引ポンプを備えたロボットアームがあります。ポンプを開いてオブジェクトを拾うことができます。localhost:8050/pump_onにアクセスしてポンプを開き、オブジェクトを拾い上

げることができ、localhost:8050/pump_offにアクセスしてポンプを閉じ、オブジェクトを解放することができます。
  • デバイスの能力を提供して、ChatGPTが後でAPIとデバイスの機能をリンクできるようにします:
具体的には、pythonスクリプトにいくつかのcircleを含める必要があります。

 

- ロボットアームをブロックの上に移動します
- ロボットアームをブロックに下げて吸引ポンプをオンにします
- ロボットアームを197まで持ち上げます
- ロボットアームを所定の位置に移動させます
- ポンプをオフにしてブロックを解放します
- ブロックの上にロボットを移動して新しい円を開始します

**ブロックの上にロボットアームを移動させるという操作を行う場合、z軸の値を197またはそれ以上に設定する必要があります。**

これらの操作により、1つのブロックを他の場所に移動させることができます。今回は、あなたのための要件を紹介します。あなたは、私のために、raspberryで実行できるpythonスクリプトを設計する必要があります。準備はいいですか?
  • デバイスの操作に関する要件も提供し、ChatGPTにロボットアームを制御するPythonドライバーを作成するように要求します。これにより、ChatGPTが提供するドライバーを使用してこのデバイスを誰かがどのように使用できるかを、ユーザーの視点から記述することができます。ここでは、私たちのニーズをよりよく理解するために、いくつかの例を提供しています:
要件

1. "SHIFU"という5つのブロックがあります。これらの5つの文字はランダムに配置されています。今、それらの座標を教えますが、あなたはそれらを順番に並べ替える必要があります。
2. ブロックにはそれぞれの位置があり、私がオブジェクトと一緒にそれを提供します
   `{s:{-109.5,-157.2,90},h:{-55.7,-167.2,90},u:{-32.3,-235.2,90},i:{-112.4,-219.7,90},f:{-117,-115.2,90}}`
   1つの属性について `{-109.5,-157.2,90}` は x = -109.5、y = -157、z = 90 です
3. ブロックを持ち上げるためにz軸の値を調整できます。
4. このランダムに配置されたブロックを別の場所に移動させることができ、y軸> 0です。
5. あなたの仕事は、このランダムに配置されたブロックを持ち上げ、テーブルの1行でそれらを再配置することです(y軸の値は同じである場合に実装できます)。

これで、このブロックを持ち上げて、別の場所に移動させるランダムに配置されたブロックの1つの例を提供します。次に、上記の要件を満たすpythonプログラムを設計する必要があります。

curl -X POST -H "Content-Type: application/json" -d '{"xyz":[-11.4,-160.7,197.1]}' localhost:8051/send_xyz
sleep 2
curl -X POST -H "Content-Type: application/json" -d '{"xyz":[-11.4,-160.7,90.1]}' localhost:8051/send_xyz
sleep 1.5
curl localhost:8051/pump_on
sleep 1.5
curl -X POST -H "Content-Type: application/json" -d '{"xyz":[-11.4,-160.7,197.1]}' localhost:8051/send_xyz
sleep 1.5
curl -X POST -H "Content-Type: application/json" -d '{"xyz":[100.8,-170.2,197.1]}' localhost:8051/send_xyz
sleep 1.5
curl -X POST -H "Content-Type: application/json" -d '{"xyz":[100.8,-170.2,95.3]}' localhost:8051/send_xyz
sleep 1.5
curl localhost:8051/pump_off
sleep 2
curl -X POST -H "Content-Type: application/json" -d '{"xyz":[100.8,-170.2,197.1]}' localhost:8051/send_xyz
  • ドライバーが完成しました。次に、このドライバーを使用してChatGPTがデバイスShifuを生成できるようにします。
  1. ChatGPTと一緒にデバイスShifuを生成するのは非常に簡単です。ShifuのオープンソースプロジェクトがChatGPT向けに多くの豊富で完全な例を提供しているため、私たちがやりたいことを伝えるだけです。
これで、ロボットアーム用のドライバーができました。このロボットアーム用のdeviceShifuを書いてください。
  1. 最後のステップは、ChatGPTにこのロボットアームのYAML構成ファイルを作成させることです。ChatGPTはすでにShifuのオープンソースプロジェクトから多くのYAML構成ファイルのサンプルを学んでいるので、私たちは要件を提供するだけで十分です。同時に、以前のドライバーで使用したメタデータを直接使用できます:
このロボットアーム用の構成ファイルを、必要なYAMLファイル形式で書いてください。以前のPythonスクリプトでの設定を再利用してください。
  1. 今、AIoTロボットアーム操作計画が完了しました。それが達成した結果を見てみましょう:

<video class="videoBox" autoplay="" loop="" controls="" src="ChatIoT.mp4"></video>

協力プロセス

Edgenesisは、各社に最適化された専門的なプロセスを提供しています:
Cooperation Process
Contact Us Background

エッジAIやIoT技術の複雑な世界を探索している場合は、お気軽にご連絡ください。 私たちのチームは、専門家の知識を提供し、お客様の特定のニーズに対して最も最適なサポートを確保することに専念しています。共にプロジェクトを成功させましょう!

無料相談を予約