Code execution for Open WebUI

Sandboxed code execution capabilities for Open WebUI. Open WebUI addons come in multiple types. For code execution, this repository contains both a code execution function and a code execution tool. You can install both. Uses gVisor for secure sandboxing, as ChatGPT does.

Code execution function

The code execution function shows up as a button under LLM-generated messages. When you click it, the code in the code block of this message will execute. The output is shown in the UI, and is also available to the LLM for further querying.

Function: How to install

First, set up Open WebUI for sandboxing.

Then, in Open WebUI:

  • Go to Workspace → Functions.
  • Click the +.
  • Input the following:
    • Function nameRun code
    • Function descriptionRun arbitrary code safely in a gVisor sandbox.
    • Replace the code section with the contents of open-webui/functions/run_code.py.
  • Click the Save button.
  • Activate both toggles on the function you just created.

See screenshot

Function: How to use

Ask the model to generate code, then click the Run code button under the message to run it.See screenshot

Code execution tool

The code execution tool grants the LLM the ability to run code by itself. This is similar to granting “Web search” access which lets the LLM search the Web by itself. If the LLM decides to use this tool, the tool’s output is invisible to you but is available as information for the LLM.

Tool: How to install

First, set up Open WebUI for sandboxing.

Then, in Open WebUI:

  • Go to Workspace → Tools.
  • Click the +.
  • Input the following:
    • Toolkit nameRun code
    • Toolkit descriptionRun arbitrary code safely in a gVisor sandbox.
    • Replace the code section with the contents of open-webui/tools/run_code.py.
  • Click the Save button.

See screenshot:

Tool: How to enable for a model

The tool needs to be enabled on a per-model basis.

  • Go to Workspace → Models.
  • Click the pencil (✏️) icon on a model that supports tool calling.
  • Under Tools, check the Run Code checkbox.
  • Click Save & Update.