🖥️

Open InterpreterをPodmanで動かす

2023/11/10に公開

はじめに

Open Interpreterをクラウドではなく自分の手元で動かしてみたい。でも、pythonのライブラリーをがんがんインストールしまくるし、もしかしたら自分の環境を壊してしまう可能性も否定できない。そういうときにはコンテナーがあるじゃないか、ということでPodmanでOpen Interpreterを動かしてみた記録です。

以下の内容は2023年11月10日現在のものです。

Dockerfile

以下の内容で作成しました。これがベストかどうかは自信ありませんが、Open Interpreterの稼働は問題なくできています。

https://github.com/ackylarkham/openinterpreter/blob/main/Dockerfile

コンテナーイメージのビルド

作成したDockerfileを使ってコンテナーイメージをビルドします。筆者はPodman Desktopを使っています。以下にPodman Desktopを使用したビルド手順を紹介します。

Podman Desktopの画面左側のメニューから雲(Images)のアイコンをクリックし、右上の"Build an image"をクリックします。


ビルドの開始

"Build Image from Containerfile"の画面で、"Containerfile Path"の下の"Select Containerfaile to build..."と書かれているフィールドをクリックします。

Containerfile(Dockerfile)の指定

使用するDockerfileを選択し、「開く」をクリックします。

Containerfile(Dockerfile)の選択

Image Nameに適切な名前(必要ならばタグ)を指定(下図の例ではopeniterpreter:1.0)し、"Build"をクリックします。

Image Nameの入力とビルドの開始


ビルド開始後のメッセージ

以下のように"Successfully Built"が出ると完了です。"Done"をクリックします。

ビルド完了

コンテナーの起動

作成した"openinterpreter:1.0"のコンテナーイメージの行の右側の右向き三角(Run Image)ボタンをクリックしてコンテナーを起動します。

コンテナーの起動(1/3)

必要に応じてパラメーターを設定(何も設定しなくても可)し、画面下部の"Start Container"をクリックします。

コンテナーの起動(2/3)

無事コンテナーが起動しました。Dockerfileに定義した一般ユーザー"user"でログインされています。

コンテナーの起動(3/3)

Open Interpreter

Open Interpreterを起動します。言語モデルは2023年11月6日にOpenAI社が発表したGPT-4-1106-preview(GPT-4 Turboのプレビュー版)を指定してみます。

Podman Desktopのターミナルから"interpreter -m gpt4-1106-preview"と入力してOpen Interpreterを起動します。


Open Interpreterの起動(1/2)

"OpenAI API Key: "にOpenAIのAPI keyをペーストします。ペーストしてもカーソルは動かず、何も表示されません。そのままreturnキーを押します。

無事起動に成功しました。"model set to gpt-4-1106-preview"と表示されているので言語モデルの指定は受け付けられたようです。


Open Interpreterの起動(2/2)

Open Interpreterを使ってみます。今年の日経平均株価の終値をグラフにするように指示します。

日経平均株価の終値のグラフ作成の指示

応答が英語になることがあります。日本語で説明するように指示すると日本語に翻訳されます。

英語の応答を日本語に翻訳

returnキーを押すと計画したステップを実行しようとします。インターネットからデータを取得するための方法を提案してきました。

インターネットから株価データを取得する方法についての提案

Yahoo financeのライブラリーを使用してデータを取得し、グラフを作成するように指示を変更しました。ライブラリーのインストールの確認を求めてきたのでyを応答します。

Yahoo financeのライブラリーを使用するように指示を変更

このスクショを取る前にYahoo financeのライブラリーはインストール済みだったのでRequirement already satisfiedが応答されています。次のステップが応答されたのでreturnキーを押します。

Yahoo financeのライブラリーのインストール

コードが生成されて実行の許可を求めているのでyを応答します。

日経平均株価のデータが取得できました。次にグラフにするためのライブラリーのインストールの許可を求めています。yを応答します。

ライブラリーのインストールが完了後、グラフを生成するコードが生成され、実行の許可を求めているのでyを応答します。

グラフが生成されました。このあとMarkdownで表示するコードを作るといってきましたが、グラフができればよいのでここで中断しました。

生成されたグラフは下図のとおりです。

Open InterpreterとGPT-4 Turboで生成した日経平均株価のグラフ

"OpenAI developer platform"でUsageを確認するとGPT-4 Turboにしっかり課金されていました。

GPT-4 Turboの使用量

おわりに

日本語で指示をするとコードを自動生成して実行できるなんて、すごい時代になったなというの肌で感じられました。Open Interpreterは、アシスタントになりえそうです。課金が気になるところですが優秀なアシスタントを雇ったと思えば安いのかもしれません。

期待した結果を得るには、できるだけシンプルな指示をしたほうが良さそうです。複数のタスクをまとめて指示するとライブラリーの導入などをしているうちに元々の指示を忘れてしまい、ライブラリーをインストールしたところで終わってしまうことがあり、改めて指示を出し直さなくてはなりませんでした。

試しに、「日経平均株価を1年分取得してグラフを作ってパワーポイントに添付してください。」と指示したところ、グラフを作るためのライブラリーをインストールしたあたりで止まってしまいました。以下のように分けて指示をするとグラフを添付したパワーポイントのファイルを生成することができました。

  1. 2023年1月1日〜2023年11月9日までの日経平均株価の終値を取得してグラフを作成してください
  2. グラフを添付したパワーポイントのファイルを作ってください。サイズは16:9としてください。


Open Interpreter + GPT-4 Turboで生成したパワーポイントのファイル

まだまだ進化が止まりそうもないのでこれからもいろいろ試してみようと思います。

参考資料

https://platform.openai.com/

https://zenn.dev/karaage0703/articles/e2e6417fb003dd

https://zenn.dev/ackylarkham/articles/162134bf34be47

https://zenn.dev/datchlive/articles/2effe192d1568f

https://qiita.com/Spritaro/items/602118d946a4383bd2bb

Discussion