こんにちは。B4の坂村です。
前回はAIのデバイスについて解説を行いましたが、その中でも唯一手軽に試すことのできるOpen Interpreterの01 Lightで遊んでみようと思います。
Open Interpreter 01ってなに?
公式サイトには以下のようにあります。
01プロジェクトは、人工知能デバイスのためのオープンソースエコシステムです。
コード解釈言語モデル(「インタプリター」)と音声認識、音声合成を組み合わせることで、01の主力オペレーティングシステム(「01OS」)は、Rabbit R1やHumane Pinのような対話型コンピュータ操作のAIデバイスを駆動することができます。
私たちは、この新しい領域の「Linux」となることを意図しています - オープンで、モジュール化され、個人や商用利用に無料です。
The 01 project is an open-source ecosystem for artificially intelligent devices.
By combining code-interpreting language models (“interpreters”) with speech recognition and voice synthesis, the 01’s flagship operating system (“01OS”) can power conversational, computer-operating AI devices similar to the Rabbit R1 or the Humane Pin.
We intend to become the “Linux” of this new space— open, modular, and free for personal or commercial use.
01にはLightとHeavy(準備中)があり、Lightはサーバーとなるコンピューターを音声コマンドによって操作するものです。
Open InterpreterはChat GPTの機能であるCode Interpreter(現 Advanced Data Analysis)のオープンソース版であり、プログラムの実行をローカルで行うことができるプロジェクトです。これに音声による操作が加わったのが01 Lightです。
今回は簡単に、デスクトップにテキストファイルを作成してみます。
リファレンス
https://openai.com/index/openai-api
用意するもの
- OpenAI API
- 01の核となる部分。環境さえ構築できればMetaのLLaMAなども使用可能。
- ATOM Echo(M5 Stack社)
- ATOM TailBAT(M5 Stack社)
- ATOM Echoの充電モジュール。必須ではないです
環境
やってみる
環境を作る
上記のリファレンスをもとに環境を作ります。(今回はMacでの実行です)
- 必要なライブラリのインストールとコンパイル
brew install portaudio ffmpeg cmake
- リポジトリのクローン
git clone https://github.com/OpenInterpreter/01.git cd software
- OpenAI API Keyの登録
export OPENAI_API_KEY=sk-...
- Python周り
pip install poetry poetry install
ATOM Echoにプログラムを書き込む
Arduino IDEを介し、ATOM Echoにプログラムを流し込みます。
インストールする必要があるライブラリはこれらですが、必要に応じてインストールしてください。
- M5Atom
- WebSockets
- AsyncTCP
サーバー側のプログラムを実行
ATOM Echoは同一のネットワークを介してサーバーとなるPCにアクセスします。ifconfigなどで現在のIPアドレスを取得しておきましょう。
以下を01/software下で実行することでサーバーが起動します。
poetry run 01 --server --server-host [IPアドレス] --server-port 10001
なお、以下のようにオプションをつけずに実行すれば、ATOM Echoなどハードウェアを使わずにPCのマイクからも実行可能です。
poetry run 01
実行時に以下のようなエラーが出ましたが、Pythonの環境を3.11にすることで解決しました。
Cannot call "receive" once a disconnect message has been received.
https://github.com/OpenInterpreter/01/issues/127
ATOM Echoをサーバーに接続
ATOM Echoをサーバーに接続するには設定が必要です。ATOM Echoでプログラムを動作させると、01-Light
というアクセスポイントが出現するので、サーバーとしている機器以外からこれに接続します。接続すると設定画面が開くので使用しているネットワークのパスワードやサーバーのアドレスを入力します。(今回は[IPアドレス]/1001)
これで準備は整いました。
命令!
いざ、命令を実行してみます。
ATOM Echoのボタンを押しながら話すことで命令が可能です。
poetry run 01 --server --server-host [IPアドレス] --server-port 10001 ○ Starting... INFO: Started server process [6565] INFO: Waiting for application startup. Ready. INFO: Application startup complete. INFO: Uvicorn running on http://[IPアドレス]:10001 (Press CTRL+C to quit) INFO: ('[IPアドレス]', 50577) - "WebSocket /" [accepted] INFO: connection open audio/raw /var/folders/lx/m240njn17m90yywb2n15m_kr0000gn/T/input_20240505134141001086.dat /var/folders/lx/m240njn17m90yywb2n15m_kr0000gn/T/output_20240505134141004104.wav > [ここに命令が文字起こしされて表示される]
結果
今回はデスクトップにテキストファイル(ファイル名は今日の日付とする)を作ってもらいました。以下は実行時の動画です。
命令を受け、コンソールでプログラムを実行している様子です。
ご覧のように、無事デスクトップにテキストファイルを作ることができました!!!(うやむやEnglishはご愛嬌)
命令は日本語でも可能ですが、聞き取りに難ありだったので英語での命令としましたが、ヒューマンエラーというか、発音が微妙で何度かチャレンジしています。
体感としてはATOM Echoのマイクの品質も聞き取りに影響していそうで、PCのマイクだともう少し精度がよかったです。
また、ATOM EchoのスピーカーがどことなくHAL9000を想起させる点も推しポイントです。
おわりに
こうして手軽に未来を感じられるのはとっても楽しいです! なんだかんで色々と試しているうちに$15相当のクレジットを使ってしまいました🫠