Open WebUI: Self-hosted AI chat interface
Extensible multi-LLM chat platform with RAG pipeline.
Learn more about open-webui
Open WebUI is a self-hosted web application that provides a chat interface for multiple LLM backends and services. It operates as a containerized application deployable via Docker or Kubernetes, supporting both CPU and GPU execution through tagged image variants. The platform includes a built-in RAG engine for document processing, integrates with external APIs for web search, and offers administrative controls for user management and permissions. Common deployment scenarios include local Ollama instances, cloud-hosted API services, and enterprise environments with identity provider integration.
Unified Multi-Backend Interface
Connects to Ollama, OpenAI, and OpenAI-compatible endpoints through configurable API URLs. Switch between local and remote LLM sources without changing the chat interface or redeploying.
Built-in RAG Pipeline
Processes local documents and web search results directly within the application. Injects context into chat through command syntax without external vector databases or API dependencies.
SCIM 2.0 Provisioning
Automates user and group synchronization with enterprise identity providers like Okta and Azure AD. Provides role-based access control for multi-tenant deployments without manual account management.
from open_webui.tools import Tool
class WeatherTool(Tool):
def __init__(self):
self.name = "weather"
self.description = "Get current weather for a location"
async def run(self, location: str) -> dict:
# Tool logic to fetch weather data
return {"location": location, "temp": 72, "condition": "sunny"}Fixes critical tool-calling regression and adds OAuth group separator config; no breaking changes reported.
- –Set OAUTH_GROUPS_SEPARATOR env var if using semicolon-delimited group claims from providers like CILogon.
- –Tool calling now works again after async function handling was corrected in parameter updates.
Breaking: SSE event emission from direct-connected model servers now blocked to fix code injection vulnerability; image generation overhauled with editing support.
- –Remove reliance on event emitters from direct model servers; arbitrary JavaScript execution via SSE is now prevented.
- –Configure ELEVENLABS_API_BASE_URL for EU endpoints or OAUTH_ROLES_SEPARATOR for LDAP roles containing commas if needed.
JWT tokens now expire after 4 weeks by default (previously unlimited); admins see security warnings if set to unlimited.
- –Review JWT_EXPIRES_IN setting; tokens now default to 4-week expiration with warnings logged for unlimited configurations.
- –Add MinerU document parser support for local or managed API deployments to expand parsing backend options.
See how people are using open-webui
Related Repositories
Discover similar tools and frameworks used by developers
yolov5
Real-time object detection with cross-platform deployment support.
text-generation-webui
Feature-rich Gradio-based UI for running and interacting with LLMs locally, supporting multiple model formats and extensions.
ollama
Go-based CLI for local LLM inference and management.
llama_index
Connect LLMs to external data via RAG workflows.
bolt.new
LLM-powered browser IDE with integrated WebContainers runtime.