Open1
Dify で知ったこと
チャット内でコードを実行するツール simple_code の学び。
Dify にはチャット中やワークフローで AI がコードを実行するためのツールとして simple_code
が提供されている。
OpenAI の ChatGPT Plus で言うところの Code interpreter のようなもの。
simple_code では Python と Node.js が利用出来るが、これより先は Python での話であり、Node.js の話ではないことを注意。
simple_code で利用可能なライブラリは限られている。
もし Docker Compose を使用していて、ライブラリを追加したい場合は、下記に追記することでパッケージをインストールすることができる。
※ ↓のファイルが空に見えると思いますが、表示がおかしくなっているわけではありません。内容が空のテキストファイルです。
しかし、罠もある。
import するクラスと PyPI でのパッケージ名が異なる場合には、simple_code で実行出来ない。
具体的には、BeautifulSoup は PyPI でのパッケージ名が beautifulsoup4
であるが、import する際のクラス名は BeautifulSoup
を指定し from bs4 import BeautifulSoup
のように記述するため、simple_code はパッケージを見つけられずエラーとなる。
現状回避策はなく、Issue でやりとりがされている。
標準ライブラリも使えない場合がある。
simple_code を実行する環境(sandbox と呼ばれている)では、使用できるシステムコールが制限されている。
そのため、標準ライブラリであってもシステムコールができずエラーとなるケースが存在する。
使用できるシステムコールは、下記でまとめられている。