LoginSignup
15
18

ついに来たローカルAIデータ分析! Open InterpreterとAzure OpenAI Serviceで機密データも安全にハンドリング

Last updated at Posted at 2023-09-26

以下の記事の内容は2023/9/22に実行しています。Open Interpreterは執筆時点でも開発が進められており、同じように動かない可能性があります。また、ローカルで動かすため、予期しないデータ消失等のリスクもあります。動かす場合は十分慎重に実施するようにお願い致します。本記事の内容によりデータ消失等が起きても責任は負いかねますことを予めご了承下さい。

Open Interpreterとは

Pythonなどのコードを大規模言語モデル(LLM)を活用してローカルで実行できるオープンソースのツールです。Open Interpreterは特別な登録など不要です。インストールすればすぐに利用可能です。ローカルで動くため、インターネットへの接続やローカルファイルへの接続がより簡単にできそうです。今回は、このOpen InterpreterをAzure OpenAI ServiceのGPTモデルに接続しローカルファイルを使って簡単なデータ分析(デモ)を実施してみました。

Azure OpenAI Serviceとは

Azure OpenAI Serviceは、言わずと知れたMicrosoft社によるAzure上で動作するOpenAIのモデルサービスです。エンタープライズレベルの高度なセキュリティが提供されています。

PCの環境

Windows10
Pythonバージョン 3.11.3
※Pythonの仮想環境を使いました。

Open Interpreterのインストール

> pip install open-interpreter

起動とAzure OpenAI Serviceへの接続

Azure OpenAI Serviceに接続します。"-y"はステップ実行をスキップするためのオプションです。

> interpreter -y --use-azure

このあと、API Keyやdeployment name等を訊いてきますので、ご自身の会社のAPI Keyやdeployment name等の情報を入れていきます。今回、ModelはAzure OpenAIのgpt-35-turbo-16k(モデルバージョン 0613)、APIは2023-07-01-previewで実施しました。

> Azure OpenAI API key: Your Azure OpenAI API key
> Azure OpenAI API base: Your Azure OpenAI API base
> Azure OpenAI deployment name of GPT: Your Azure OpenAI deployment name of GPT
> Azure OpenAI API version: 2023-07-01-preview

デモデータについて

機械学習等で有名なタイタニックのデータを使わせて頂きました。(次のリンク先からCSVファイルをダウンロードして使わせていただきました。)

データ分析開始

英語でプロンプトを書きました。(日本語だとエラーで止まってしまったので)

> Please analyze the following CSV file for me. The file is located at C:\data\titanic.csv Please generate a table of basic statistics. Please take care to avoid errors in code generation.
訳)次のCSVファイルを解析してください。ファイルはC:\data\taitanic.csvにあります。 基本統計表を出してください。コード生成でエラーが出ないように注意してください。

(実行画面)
image.png
実行できました。では、次の質問。

> What is the ratio of men to women? Think Step to Step.
訳) 男女比は?  一歩一歩考えて。

(実行画面)
image.png

良さそうな感じです。次は男女比のパイチャートを描いてもらおうと思います。

> Pie-chart out the male/female ratio.
訳)男女比を円グラフにして

(実行画面)
image.png
(表示された図)
Figure_1.png

では、最後に

> Bring out the bar graphs by age 
訳)年齢別の棒グラフを出して

(実行画面)
image.png
(表示された図)
Figure_2._age.png

出ました。

感想

先日(2023/9/1)Qiitaに次の記事を書かせて頂きました。

このときに次のような文を書きました。「今後、OpenAI社のCode Interpreter(現 Advanced data analysis)のような機能がAzureにも入ってきたりする場合、・・・」そして、今月、
突如として、Open interpreterが出てきました。それもローカルで動かせるものが。触った感じはまるで自分のPCの中にAIがいるようでした。Open Interpreterはオープンソースのツールですが、Azure OpenAI Serviceと組み合わせて使うことで安全にデータハンドリングできると考えています。今後の発展に期待です。

さいごにrequirements.txtを出力しましたので掲載させて頂きます。

<requirements.txt>

aiohttp==3.8.5
aiosignal==1.3.1
ansicon==1.89.0
appdirs==1.4.4
astor==0.8.1
async-timeout==4.0.3
attrs==23.1.0
blessed==1.20.0
certifi==2023.7.22
charset-normalizer==3.2.0
colorama==0.4.6
contourpy==1.1.1
cycler==0.11.0
et-xmlfile==1.1.0
filelock==3.12.4
fonttools==4.42.1
frozenlist==1.4.0
fsspec==2023.9.1
git-python==1.0.3
gitdb==4.0.10
GitPython==3.1.36
huggingface-hub==0.16.4
idna==3.4
importlib-metadata==6.8.0
inquirer==3.1.3
jinxed==1.2.0
kiwisolver==1.4.5
litellm==0.1.698
markdown-it-py==3.0.0
matplotlib==3.8.0
mdurl==0.1.2
multidict==6.0.4
numpy==1.26.0
open-interpreter==0.1.4
openai==0.27.10
openpyxl==3.1.2
packaging==23.1
pandas==2.1.1
Pillow==10.0.1
Pygments==2.16.1
pyparsing==3.1.1
pyreadline3==3.4.1
python-dateutil==2.8.2
python-dotenv==1.0.0
python-editor==1.0.4
pytz==2023.3.post1
PyYAML==6.0.1
readchar==4.0.5
regex==2023.8.8
requests==2.31.0
rich==13.5.3
six==1.16.0
smmap==5.0.1
tiktoken==0.4.0
tokentrim==0.1.10
tqdm==4.66.1
typing_extensions==4.8.0
tzdata==2023.3
urllib3==2.0.4
wcwidth==0.2.6
wget==3.2
yarl==1.9.2
zipp==3.17.0
15
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
18