🐍 Python 代码执行
概述
Open WebUI 允许在浏览器中进行客户端 Python 代码执行,它利用 Pyodide 在聊天中的代码块内运行脚本。此功能使得大型语言模型 (LLM) 可以生成可直接在浏览器中执行的 Python 脚本,利用 Pyodide 支持的各种库。
为了维护用户隐私和灵活性,Open WebUI 镜像了 PyPI 软件包,避免直接的外部网络请求。这种方法也使得在没有互联网访问的环境中使用 Pyodide 成为可能。
Open WebUI 前端包含一个由 Pyodide 提供支持的自包含的 WASM (WebAssembly) Python 环境,该环境可以执行 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 生成了代码,代码块的右上角将出现一个 运行
按钮。点击此按钮将使用 Pyodide 执行代码。要在代码块底部显示结果,请确保代码中至少有一个 print 语句来显示结果。
使用 Python 代码执行的提示
- 在编写 Python 代码时,请记住代码执行时将在 Pyodide 环境中运行。您可以在请求代码时提及“Pyodide 环境”来告知 LLM。
- 查阅 Pyodide 文档,了解该环境的功能和限制。
- 尝试不同的库和脚本,探索在 Open WebUI 中进行 Python 代码执行的可能性。
Pyodide 文档
代码示例
以下是一个可以使用 Pyodide 执行的简单 Python 脚本示例:
import pandas as pd
# Create a sample DataFrame
data = {'Name': ['John', 'Anna', 'Peter'],
'Age': [28, 24, 35]}
df = pd.DataFrame(data)
# Print the DataFrame
print(df)
这个脚本将使用 pandas 创建一个示例 DataFrame,并将其打印在聊天中的代码块下方。
扩展支持库列表
想突破可能的界限吗?要扩展支持库列表,请遵循以下步骤:
- Fork Pyodide 仓库 以创建您自己的版本。
- 选择新的软件包 或探索 Open WebUI 目前缺少的优质软件包。
- 集成新的软件包 以解锁更多可能性。