7
4

Difyは一部がOSSではない(2024年5月現在)→OSS化されました

Last updated at Posted at 2024-06-01

結論(2024-07-11)

Difyは、これまで一部がクローズドでしたが、2024-07-11 のリリースで、OSS(オープンソースソフトウェア)化されました。 https://github.com/langgenius/dify-sandbox をご覧ください。

以下は古い内容ですが、参考情報として残しておきます

(古い)結論

DifyはOSSをうたっていますが、一部で中身が非公開のコンテナイメージを使っており、完全なOSS(オープンソースソフトウェア)ではありません(2024年5月現在)

詳細

  • Difyは複数のDockerコンテナで構成されていますが、利用者が作成したpythonコードを実行するコンテナsandboxは中身が非公開です(→2024-07-11に公開されました)

弊害

  • 使用できるpipパッケージが GitHubのDiscussions で挙げられていますが、それ以外のパッケージを追加できません
    • pandasなど使いたいパッケージが使えないのは不便です
      • requirement.txtを書き換えるとpipでインストールまではできますが、コード実行時にエラーが出て実行できません
      • Dockerfileを作って、langgenius/dify-sandbox:0.2.1 のイメージに対して、後からpipでインストールしても、pythonコード内でimportする際にエラーが出ます
# Dockerfile
FROM langgenius/dify-sandbox:0.2.1
RUN apt-get update && apt-get install -y gcc
# RUN pip install pandas
RUN python3 -m pip install pandas
# Difyの「ブロック」で追加したコード
import pandas

def main(arg1: int, arg2: int) -> dict:
    return {
        "result": arg1 + arg2,
    }
Traceback (most recent call last): File "/tmp/code/dc8e539b_c2c3_41cc_911c_8532c9f4ecdd.py", line 45, in <module> ModuleNotFoundError: No module named 'pandas' error: exit status 255
7
4
4

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
7
4