Advanced usage
自定义白名单依赖项
默认情况下,PandasAI 只允许运行使用某些白名单模块的代码。这是为了防止在服务器或本地执行恶意代码。
白名单模块包括:
pandas
numpy
matplotlib
seaborn
datetime
json
base64
出于安全原因,这些库被沙盒化,以防止恶意代码在服务器或本地执行。
然而,可以将自定义模块添加到白名单中。这可以通过在实例化Agent
类时,将模块列表传递给custom_whitelisted_dependencies
参数来实现。
注意: PandasAI 无法对白名单中的自定义库进行任意代码执行的沙盒化。如果您将自定义库添加到白名单中,则该库将可以进行任意代码执行。将自定义库加入白名单意味着该库是“受信任的”,并且可以无限制地使用。仅将您控制或信任的库加入白名单。
例如,要将scikit-learn
模块添加到白名单中:
custom_whitelisted_dependencies
参数接受一个字符串列表,其中每个字符串是模块的名称。该模块必须安装在 PandasAI 运行的环境中。
请确保您已在运行PandasAI的环境中安装了该模块。否则,在尝试运行代码时会出现错误。