docs: add Pyodide performance/library limitation warnings for heavy workloads

This commit is contained in:
DrMelone
2026-03-08 02:34:30 +01:00
parent 89a230808d
commit d17fa6bace
2 changed files with 9 additions and 1 deletions

View File

@@ -37,6 +37,10 @@ Pyodide runs Python in the browser via WebAssembly. It is sandboxed and safe for
Pyodide works well for **text analysis, hash computation, chart generation, file processing**, and other self-contained tasks. Chart libraries like matplotlib produce base64-encoded images that Open WebUI automatically captures, uploads as files, and injects direct image links into the output — so models can display charts directly in chat without any extra setup.
:::
:::warning Not suited for heavy workloads
Pyodide runs Python via WebAssembly inside the browser, which is **significantly slower** than native Python execution. Large datasets, complex computations, ML model training, and CPU-intensive tasks will be noticeably slow or may hit memory limits. Additionally, many Python packages that rely on C extensions, system calls, or native binaries are **not available** in Pyodide — the library ecosystem is a limited subset of what a full Python environment offers. For demanding workloads, use **Open Terminal** instead, which provides full native performance and unrestricted package access inside a Docker container.
:::
:::note Mutually exclusive with Open Terminal
The Code Interpreter toggle and the Open Terminal toggle cannot be active at the same time. Activating one will deactivate the other — they serve similar purposes but use different execution backends.
:::

View File

@@ -155,7 +155,11 @@ Pyodide includes the following pre-configured packages:
- regex
:::note
Packages not pre-compiled in Pyodide cannot be installed at runtime. For additional packages, consider using the Jupyter integration or forking Pyodide to add custom packages.
Packages not pre-compiled in Pyodide cannot be installed at runtime. For additional packages, consider using Open Terminal or forking Pyodide to add custom packages.
:::
:::warning Performance Limitations
Pyodide executes Python via WebAssembly in the browser, which is **significantly slower** than native execution. Heavy computations, large dataset processing, ML training, and memory-intensive tasks may be slow, unresponsive, or hit browser memory limits. Many packages that depend on C extensions or system-level libraries are also unavailable. For demanding workloads, use **[Open Terminal](/features/chat-conversations/chat-features/code-execution#open-terminal)** instead — it provides full native performance and unrestricted package access.
:::
## Persistent File System