背景・目的
- Code Interpreterで何ができるのか?を調べて活用方法について考察したい
できること
- ユーザー
- 自然言語の入力
- ファイルのアップロード
- システム
- Pythonの実行
- 自然言語の解釈
- Pythonの実行結果の解釈
できないこと
- インターネットアクセス
- python以外の言語を使った処理(shellscriptとか)
- 学習しないように設定して使う(2023/07/15時点で、chat history & trainingをOFFの状態で使えない)
Pythonの実行環境について
- CPUコア数: 16
psutil.cpu_count()
- メモリ: 60GBぐらい
psutil.virtual_memory().available
- ディスク: 130GBぐらい
psutil.disk_usage('/').total
プリインストールされているPythonライブラリ
import pkg_resources
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
for i in installed_packages])
installed_packages_list
上記の結果が343件。面白そうなもの・使えそうなものをピックアップしてみる
- pandas: 行列データ処理
- scikit-learn,keras,xgboost: 機械学習
- bokeh,soaborn,matplotlib,plotly,plotnine: グラフ描画
- gensim,spacy,nltk: 自然言語処理
- geopy,folium,shapely,pyshp,pyproj: 位置情報処理
- scikit-image,svglib,opencv-python,pillow: 画像処理
- pytesseract: 画像 -> テキスト(OCR)
- soundfile,audioread,pyaudio,librosa: 音声処理
- speechrecognition,pyttsx3: テキスト <-> 音声
- prcode: QRコード
- pyyaml,json5,toml,xml-python,lxml: yaml,jsonなどシリアライズ処理
- xlsxwriter,odfpy,openpyxl: エクセルファイル,OpenDocument
- pypdf2,pdfkit,pdf2image,tabula: PDF処理
- beautifulsoup4: HTMLの解析
- jinja2,flask,fastapi,starlette: Webフレームワーク
- faker: ダミーデータ作成
- python-pptx: パワーポイント処理
- pygraphviz: 図の描画
- markdown2: markdown処理
- ebooklib: Ebook処理?
- exchange-calendars: 証券取引カレンダー?
- kerykeion: 占星術?
いろんな人の実行例
- CSVデータをアップロードしてグラフを作ってもらう
- markdownファイルをアップロードしてスライドを作ってもらう
- 画像処理
- 音楽の処理
- 長期記憶を作る
- pythonライブラリをアップロードして使ってもらう
使ってみてわかったことを整理
できること
- インターネットにアクセスできないPythonエンジニアにお願いしてできることは大体できそう
- 隔離された世界にいるので、その人に何かファイルを送るときはまとめて送るしかない
- 既存のライブラリでできることは把握しておくとよさそう
- 将来的にGPU搭載版とかが出るとできること増えそう
- gpt4と同じく一般的な知識はある点と、pythonの実行環境があることで計算などの苦手領域がカバーされているのが、gpt4単体と違って安心感があるところかも
できないこと
- ディープラーニングの学習 -> x
- 動画の字幕をつける -> △
- whisperとか使えない(speechrecognitionは入ってた)
- srtファイル扱うライブラリ入っていない
- ffmpegはありそう
- 形態素解析 -> x
- mecab,janomeとか入っていない
- DeepLearning系のモデルもデフォルト環境で使えなさそう
- 西暦・和暦変換 -> △
- 一般的な知識を使って処理はしてくれたものの、ライブラリは入っていない
- 他の言語のスクリプトを作る -> ?
- 試していないけど、難しそう
- AWS,Googleとかのクライアントがない -> x
- まぁインターネットアクセスできないしな・・
やってみたいこと
- fakerあるしテストデータ作成とかお願いしたいところ。gpt4だけでも十分できたけど。csvとかで作ってくれそう
- 文字起こしとか、テキストから音声化とかのライブラリが入ってるっぽいので使ってみたい
その他気づいたこと
- ライブラリが入っているのに、Code Interpreterはその存在を知らないことがある。(占星術を試しにやってもらおうとしたら、入っていないと言われた)。先に教えてあげる必要がありそう
- 文字 -> 音声をお願いしたら、音声データの生成や操作は制限されているとの回答だった