docs/docs/openapi-servers/open-webui.mdx
Timothy Jaeryang Baek 6c57cde239
Some checks are pending
Deploy site to Pages / build (push) Waiting to run
Deploy site to Pages / deploy (push) Blocked by required conditions
enh: tool server integrations
2025-04-03 09:42:36 -07:00

113 lines
3.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar_position: 1
title: "🔗 Open WebUI Integration"
---
## Overview
Open WebUI v0.6+ supports seamless integration with external tools via the OpenAPI servers — meaning you can easily extend your LLM workflows using custom or community-powered tool servers 🧰.
In this guide, you'll learn how to launch an OpenAPI-compatible tool server and connect it to Open WebUI through the intuitive user interface. Lets get started! 🚀
---
## Step 1: Launch an OpenAPI Tool Server
To begin, you'll need to start one of the reference tool servers available in the openapi-servers repo. For quick testing, well use the time tool server as an example.
🛠️ Example: Starting the `time` server locally
```bash
git clone https://github.com/open-webui/openapi-servers
cd openapi-servers
# Navigate to the time server
cd servers/time
# Install required dependencies
pip install -r requirements.txt
# Start the server
uvicorn main:app --host 0.0.0.0 --reload
```
Once running, this will host a local OpenAPI server at http://localhost:8000, which you can point Open WebUI to.
![Time Server](/images/openapi-servers/open-webui/time-server.png)
---
## Step 2: Connect Tool Server in Open WebUI
Next, connect your running tool server to Open WebUI:
1. Open WebUI in your browser.
2. Open ⚙️ **Settings**.
3. Click on **Tools** to add a new tool server.
4. Enter the URL where your OpenAPI tool server is running (e.g., http://localhost:8000).
5. Click "Save".
![Settings Page](/images/openapi-servers/open-webui/settings.png)
---
## Step 3: Confirm Your Tool Server Is Connected ✅
Once your tool server is successfully connected, Open WebUI will display a 👇 tool server indicator directly in the message input area:
📍 You'll now see this icon below the input box:
![Tool Server Indicator](/images/openapi-servers/open-webui/message-input.png)
Clicking this icon opens a popup where you can:
- View connected tool server information
- See which tools are available and which server they're provided by
- Debug or disconnect any tool if needed
🔍 Heres what the tool information modal looks like:
![Tool Info Modal Expanded](/images/openapi-servers/open-webui/info-modal.png)
---
## (Optional) Step 4: Use "Native" Function Calling (ReACT-style) Tool Use 🧠
:::info
For this to work effectively, **your selected model must support native tool calling**. Some local models claim support but often produce poor results. We strongly recommend using GPT-4o or another OpenAI model that supports function calling natively for the best experience.
:::
Want to enable ReACT-style (Reasoning + Acting) native function calls directly inside your conversations? You can switch Open WebUI to use native function calling.
✳️ How to enable native function calling:
1. Open the chat window.
2. Go to ⚙️ **Chat Controls > Advanced Params**.
3. Change the **Function Calling** parameter from `Default` to `Native`.
![Native Tool Call](/images/openapi-servers/open-webui/native.png)
---
## Need More Tools? Explore & Expand! 🧱
The openapi-servers repo includes a variety of useful reference servers:
- 📂 Filesystem access
- 🧠 Memory & knowledge graphs
- 🗃️ Git repo browsing
- 🌎 Web search (WIP)
- 🛢️ Database querying (WIP)
You can run any of these in the same way and connect them to Open WebUI by repeating the steps above.
---
## Troubleshooting & Tips 🧩
- ❌ Not connecting? Make sure the URL is correct and accessible from the browser used to run Open WebUI.
- 🔒 If you're using remote servers, check firewalls and HTTPS configs!
- 📝 To make servers persist, consider deploying them in Docker or with system services.
Need help? Visit the 👉 [Discussions page](https://github.com/open-webui/openapi-servers/discussions) or [open an issue](https://github.com/open-webui/openapi-servers/issues).