Azure OpenAI環境にてopeninterpreterを試してみた。
Openinterpreterとは
OpeninterpreterはOpenAIのchatgpt plusにて提供されている「codeinterpreter」のオープンソースクローン。
LLMに対して自然言語でアプローチして、プログラムコードを(ローカル環境にて)実行させることができる。
https://openinterpreter.com/
2023/9/26のupdateでDeveloper Featuresとしてpythonによる実行が追加されたため試してみた。(それまではコマンドラインツールのみだったはず。)
コマンドライン実行
Azure OpenAIでの実行方法が変わっている。以前は環境変数にリソース設定をして --use-azure で起動できたはずだが、オプションが使えなくなっている。代わりに--model(-m)にazure/デプロイ名のオプションにて実行可能。(他LLMサービスを使用する場合も同様。この拡張による変更かと。)
export AZURE_API_KEY=""
export AZURE_API_BASE="https://[AOAI-resourcename].openai.azure.com"
export AZURE_API_VERSION="2023-07-01-preview"
# gpt-4はデプロイ名
interpreter -m azure/gpt-4
pythonプログラム実行
今回追加されたpythonインタフェース。
interpreter.chat()でインタラクティブモードで起動する。
import interpreter
import os
os.environ['AZURE_API_KEY'] = ""
os.environ['AZURE_API_BASE'] = "https://[AOAI-resourcename].openai.azure.com"
os.environ['AZURE_API_VERSION'] = "2023-07-01-preview"
# gpt-4はデプロイ名
interpreter.model="azure/gpt-4"
interpreter.chat()
もしくはメッセージを直接指定する場合、
interpreter.chat("Hi! Can you print hello world?")
実行結果
Sure, here's the code to print "Hello, world!" in Python:
print('Hello, world!')
When you run this code, it will display "Hello, world!" as the output.
実行してみる
ただし上記のコードは失敗(tableタグを取得することができない)することがわかっており、その後深みにハマっていくため、
「> tableタグから取得するのではなく、テキスト内から探して」
とリクエストするとコードを修正してくれる。
(提案コードはランダムなため、一発でうまくいくコードを教えてくれる場合もある。)
※コード表示した後、コード実行に対して[Y/n]を聞かれる場合もあるが、何も出ない場合もあり、その場合は「y」と入力すると実行する。(ここらは不安定。)
まとめ
まだ不安定だが、何かの要件を満たすためにコーディングしていくステップを代わりにやってくれるため、コーディングの教育用途にも向いていると思われる。(コードエラー時の修正、計画の見直しなど。)
極めて近い将来、自然言語で要件を伝えるだけで、人間側はノーコードで結果を得ることができるように利用できるようになりそう。