自然言語で指示するだけでコードを書いて実行までやってくれる。
ローカルに実装したOpenAI Code Interpreterのオープンソース版。
デスクトップアプリケーションへの早期アクセス。
pip install open-interpreter
interpreter
Open Interpreterは、言語モデルに指示し、コード(Python、Javascript、Shell など)をローカル環境で実行するようにします。インストール後、$ interpreter
を実行するとターミナル経由で ChatGPT のようなインターフェースを介し、Open Interpreter とチャットができます。
これにより、自然言語のインターフェースを通して、パソコンの一般的な機能が操作できます。
- 写真、動画、PDF などの作成や編集。
- Chrome ブラウザの制御とリサーチ作業。
- 大規模なデータセットのプロット、クリーニング、分析。
- 等々
Open.Interpreter.Demo.mp4
pip install open-interpreter
インストール後、interpreter
を実行するだけです:
interpreter
import interpreter
interpreter.chat("AAPLとMETAの株価グラフを描いてください") # 一つのコマンドを実行
interpreter.chat() # インタラクティブなチャットを開始
GPT-4 で実装された OpenAI のCode Interpreter は、実世界のタスクを ChatGPT で操作できる素晴らしい機会を提供しています。
しかし、OpenAI のサービスはホスティングされていて、クローズドソースで、かなり制限されています:
- インターネットに接続できない。
- プリインストールされているパッケージが限られている。
- 最大アップロードは 100MB で、120 秒という実行時間の制限も。
- 生成されたファイルやリンクとともに状態がリセットされる。
Open Interpreter は、ローカル環境で操作することで、これらの制限を克服しています。インターネットにフルアクセスでき、時間やファイルサイズの制限を受けず、どんなパッケージやライブラリも利用できます。
Open Interpter は、GPT-4 のコードインタープリタのパワーとローカル開発環境の柔軟性を組み合わせたものです。
ターミナルでインタラクティブなチャットを開始するには、コマンドラインからinterpreter
を実行します。
interpreter
または、.py ファイルからinterpreter.chat()
も利用できます。
interpreter.chat()
より精確な制御のために、メッセージを直接.chat(message)
に渡すことができます。
interpreter.chat("/videosフォルダにあるすべての動画に字幕を追加する。")
# ... ターミナルに出力をストリームし、タスクを完了 ...
interpreter.chat("ついでに、字幕を大きくできますか?")
# ...
プログラム的チャットで Open Interpreter は、会話の履歴を記憶しています。新しくやり直したい場合は、リセットすることができます:
interpreter.reset()
messages = interpreter.chat("私の名前は田中です。") # 'messages'にメッセージを保存
interpreter.reset() # インタープリタをリセット("田中"は忘れられる)
interpreter.messages = messages # 'messages'からチャットを再開("田中"は記憶される)
Open Interpreter のシステムメッセージを確認し、設定することで、機能を拡張したり、権限を変更したり、またはより多くのコンテキストを与えたりすることができます。
interpreter.system_message += """
シェルコマンドを「-y」フラグ付きで実行し、ユーザーが確認する必要がないようにする。
"""
print(interpreter.system_message)
gpt-3.5-turbo の場合は、fast モードを使用する:
interpreter --fast
プログラム的チャットでは、モデルを手動で設定する必要がある:
interpreter.model = "gpt-3.5-turbo"
interpreter --local
ローカルで実行するモデルの max_tokens と context_window (トークン単位) を簡単に変更できます。
context_window を小さくすると RAM の使用量が減るので、GPU が失敗している場合はサイズを短くしてみることをお勧めします。
interpreter --max_tokens 2000 --context_window 16000
コントリビューターが Open Interpreter を調査するのを助けるために、--debug
モードは非常に便利です。
デバッグモードは、フラグ(interpreter --debug
)を使用するか、またはチャットの中から有効にできます:
$ interpreter
...
> %debug # <- デバッグモードを有効にする
生成されたコードはローカル環境で実行されるため、ファイルやシステム設定と相互作用する可能性があり、データ損失やセキュリティリスクなど予期せぬ結果につながる可能性があります。
この確認を回避するには、interpreter -y
を実行するか、interpreter.auto_run = True
を設定します。その場合:
- ファイルやシステム設定を変更するコマンドを要求するときは注意してください。
- Open Interpreter を自動運転車のように監視し、ターミナルを閉じてプロセスを終了できるように準備しておいてください。
- Google Colab や Replit のような制限された環境で Open Interpreter を実行することを検討してください。これらの環境はより隔離されており、任意のコードの実行に関連するリスクを軽減します。
Open Interpreter は、関数が呼び出せる言語モデルにexec()
関数を装備し、実行する言語("python"や"javascript"など)とコードが渡せるようになっています。
そして、モデルからのメッセージ、コード、システムの出力を Markdown としてターミナルにストリーミングします。
貢献に興味を持っていただき、ありがとうございます!コミュニティからの参加を歓迎しています。
詳しくは、貢献ガイドラインを参照してください。
Open Interpreter のライセンスは MIT ライセンスです。本ソフトウェアの使用、複製、変更、配布、サブライセンス、およびコピーの販売を許可します。
注意: このソフトウェアは OpenAI とは関係ありません。
あなたの指先のスピードで作業するジュニアプログラマーにアクセスすることで、… 新しいワークフローを楽で効率的なものにし、プログラミングの利点を新しいオーディエンスに開放することができます。
— OpenAI のコードインタープリタリリースから
注意: この翻訳は人工知能によって作成されました。誤りが含まれていることが確実です。 Open Interpreter が世界中を旅するのを助けるため、訂正を含むプルリクエストをしてください!