🐍 Python 代码执行
概览
Open WebUI 支持在浏览器中进行客户端 Python 代码执行。它利用 Pyodide 在聊天界面的代码块中运行脚本。此功能使大语言模型(LLM)能够生成 Python 脚本,并利用 Pyodide 支持的一系列库直接在浏览器中执行。
为了保护用户隐私并提高灵活性,Open WebUI 镜像了 PyPI 软件包,避免了直接的外部网络请求。这种方法还使得在没有互联网访问的环境中也能使用 Pyodide。
Open WebUI 前端包含一个自包含的 WASM(WebAssembly)Python 环境,由 Pyodide 提供支持,可以执行 LLM 生成的基础 Python 脚本。该环境旨在易于使用,无需任何额外的设置或安装。
支持的库
Pyodide 代码执行被配置为仅加载在 scripts/prepare-pyodide.js 中配置并添加到 CodeBlock.svelte 中的包。Open WebUI 当前支持以下 Pyodide 包:
- micropip
- packaging
- requests
- beautifulsoup4
- numpy
- pandas
- matplotlib
- scikit-learn
- scipy
- regex
这些库可用于执行各种任 务,如数据处理、机器学习和网页抓取。如果您想运行的包没有包含在 Open WebUI 附带的 Pyodide 中,则该包将无法使用。
调用 Python 代码执行
要执行 Python 代码,只需在聊天中要求 LLM 为您编写 Python 脚本。一旦 LLM 生成了代码,代码块的右上角就会出现一个 运行 (Run) 按钮。点击此按钮将使用 Pyodide 执行代码。为了在代码块底部显示结果,请确保代码中至少包含一个 print 语句。
Python 代码执行使用技巧
- 在编写 Python 代码时,请记住代码将在 Pyodide 环境中执行。您可以在请求代码时通过提及“Pyodide 环境”来告知 LLM。
- 研究 Pyodide 文档 以了解该环境的功能 and 限制。
- 尝试使用不同的库和脚本,探索 Open WebUI 中 Python 代码执行的可能性。