docs/docs/features.mdx
silentoplayz 47479fae5e Update features.mdx
updoot
2024-06-06 16:27:18 +00:00

242 lines
18 KiB
Plaintext

---
sidebar_position: 4
title: "⭐ Features"
---
import { TopBanners } from "@site/src/components/TopBanners";
<TopBanners />
## Key Features of Open WebUI ⭐
- 🚀 **Effortless Setup**: Install seamlessly using Docker or Kubernetes (kubectl, kustomize or helm) for a hassle-free experience with support for both `:ollama` and `:cuda` tagged images.
- 🤝 **OpenAI API Integration**: Effortlessly integrate OpenAI-compatible APIs for versatile conversations alongside Ollama models. Customize the OpenAI API URL to link with **LMStudio, GroqCloud, Mistral, OpenRouter, and more**.
- 📱 **Responsive Design**: Enjoy a seamless experience across Desktop PC, Laptop, and Mobile devices.
- 📱 **Progressive Web App (PWA) for Mobile**: Enjoy a native app-like experience on your mobile device with our PWA, providing offline access on localhost and a seamless user interface.
- ✒️🔢 **Full Markdown and LaTeX Support**: Elevate your LLM experience with comprehensive Markdown and LaTeX capabilities for enriched interaction.
- 🧩 **Model Builder**: Easily create Ollama models via the Web UI. Create and add custom characters/agents, customize chat elements, and import models effortlessly through [Open WebUI Community](https://openwebui.com/) integration.
- 📚 **Local RAG Integration**: Dive into the future of chat interactions with groundbreaking Retrieval Augmented Generation (RAG) support. This feature seamlessly integrates document interactions into your chat experience. You can load documents directly into the chat or add files to your document library, effortlessly accessing them using the `#` command before a query.
- 🔍 **Web Search for RAG**: Perform web searches using providers like `SearXNG`, `Google PSE`, `Brave Search`, `serpstack`, and `serper`, and inject the results directly into your chat experience.
- 🌐 **Web Browsing Capability**: Seamlessly integrate websites into your chat experience using the `#` command followed by a URL. This feature allows you to incorporate web content directly into your conversations, enhancing the richness and depth of your interactions.
- 🎨 **Image Generation Integration**: Seamlessly incorporate image generation capabilities using options such as AUTOMATIC1111 API or ComfyUI (local), and OpenAI's DALL-E (external), enriching your chat experience with dynamic visual content.
- ⚙️ **Many Models Conversations**: Effortlessly engage with various models simultaneously, harnessing their unique strengths for optimal responses. Enhance your experience by leveraging a diverse set of models in parallel.
- 🔐 **Role-Based Access Control (RBAC)**: Ensure secure access with restricted permissions; only authorized individuals can access your Ollama, and exclusive model creation/pulling rights are reserved for administrators.
- 🌐🌍 **Multilingual Support**: Experience Open WebUI in your preferred language with our internationalization (i18n) support. Join us in expanding our supported languages! We're actively seeking contributors!
- 🌟 **Continuous Updates**: We are committed to improving Open WebUI with regular updates, fixes, and new features.
## And many more remarkable features including... ⚡️
---
### 🔧 Pipelines Support
- 🔧 **Pipelines Framework**: Seamlessly integrate and customize your Open WebUI experience with our modular plugin framework for enhanced customization and functionality (https://github.com/open-webui/pipelines). Easily add custom logic and integrate Python libraries, from AI agents to home automation APIs.
- 🔗 **Function Calling**: Integrate function calling seamlessly through Pipelines.
- ⚖️ **User Rate Limiting**: Manage API usage efficiently with user-specific rate limits.
- 📊 **Usage Monitoring with Langfuse**: Track and analyze usage statistics with Langfuse integration.
- 🕒 **Conversation Turn Limits**: Manage interactions better with set limits on conversation turns.
- 🛡️ **Toxic Message Filtering**: Automatically filter out toxic messages to maintain a safe environment.
- 🌍 **LibreTranslate Translation**: Seamlessly translate chat conversations using LibreTranslate, enabling cross-lingual communication.
- 📈 **OpenAI Generation Stats**: Access detailed generation statistics for OpenAI models.
---
### 🖥️ User Experience
- 🖥️ **Intuitive Interface**: Our chat interface takes inspiration from ChatGPT user interface, ensuring a user-friendly experience.
- ⚡ **Swift Responsiveness**: Enjoy reliably fast and responsive performance.
- 🎨 **Splash Screen**: A simple loading splash screen for a smoother user experience.
- 📦 **Pip Install Method (Soon/WIP)**: Install Open WebUI using pip, simplifying the installation process and making it even easier for newcomers to get started.
- 🌈 **Theme Customization**: Choose from a variety of solid, yet sleek themes to personalize your Open WebUI experience. Choose between either Light, Dark, or OLED Dark mode; or simply let your system choose for you!
- 💻 **Code Syntax Highlighting**: Enjoy enhanced code readability with our syntax highlighting feature.
- ↕️ **Bi-Directional Chat Support**: Easily switch between left-to-right and right-to-left chat directions to accommodate various language preferences.
- 📱 **Mobile Accessibility**: Seamlessly open and close the sidebar on mobile devices with intuitive swipe gestures.
- 💾 **Persistent Settings**: Enjoy the convenience of saved settings, stored in a config.json file for easy access and reuse.
- ❓ **Quick Access to Documentation**: Easily access Open WebUI documentation page easily via a question mark button located at the bottom right-hand corner of the main UI screen (available on larger screens like PCs).
---
### 💬 Conversations
- 📂 **Unified Workspace**: Access all your model files, prompts, documents, and a playground in one convenient location, streamlining your workflow.
- 🔍 **RAG Embedding Support**: Change the RAG embedding model directly in document settings, enhancing document processing. This feature supports Ollama and OpenAI models.
- 🔄 **Multi-Modal Support**: Seamlessly engage with models that support multi-modal interactions, including images (e.g., LLava).
- 🤖 **Multiple Model Support**: Seamlessly switch between different chat models for diverse interactions.
- ⚙️ **Fine-Tuned Control with Advanced Parameters**: Gain a deeper level of control by adjusting parameters such as temperature, context length, and seed, and define your system prompts to tailor the conversation to your specific preferences and needs.
- 🏷️ **Conversation Tagging**: Effortlessly categorize and locate specific chats for quick reference and streamlined data collection.
- 👶 **Chat Cloning**: Easily clone and save a snapshot of your current session for future reference or continuation. This feature makes it easy to pick up where you left off or share your session with others. Simply click on the `Clone` button in the dropdown menu of your chat to create a copy of your chat.
- 📜 **Prompt Preset Support**: Instantly access preset prompts using the `/` command in the chat input. Load predefined conversation starters effortlessly and expedite your interactions. Effortlessly import prompts through [Open WebUI Community](https://openwebui.com/) integration.
- 📅 **Prompt Variables Support**: Variables for dynamic prompts, such as `{{CURRENT_DATE}}` and `{{USER_NAME}}`.
- ⬆️ **GGUF File Model Creation**: Effortlessly create Ollama models by uploading GGUF files directly from the Web UI. Streamlined process with options to upload from your machine or download GGUF files from Hugging Face.
- 🧠 **Experimental Memory Feature**: Manually input personal information you want LLMs to remember via Settings > Personalization > Memory.
- 📜 **Citations in RAG Feature**: Easily track the context fed to the LLM with added citations in the RAG feature.
- 🌟 **Enhanced RAG Pipeline**: With hybrid searching via `BM25`, re-ranking powered by `CrossEncoder`, and configurable relevance score thresholds.
- 📹 **YouTube RAG Pipeline**: Dedicated RAG pipeline for YouTube videos, enabling interaction with video transcriptions directly.
---
### 💻 Model Management
- 🛠️ **Model Builder**: Build and edit all models with a persistent model builder mode within the models workspace.
- 🏷️ **Model Tagging**: Organize models in the models workspace with tagging.
- 📋 **Model Selector Dropdown Ordering**: Effortlessly organize models by dragging and dropping them into desired positions within the models workspace, reflecting it's changes in the model dropdown menu.
- 🔍 **Model Selector Dropdown**: Easily find and select your models with an included search filter and detailed model information with model tags and model descriptions.
- ⚙️ **Default Model Setting**: Easily set the default model in `Settings` > `Interface`.
- 📥🗑️ **Download/Delete Models**: Easily download or delete models directly from Open WebUI.
- 🔄 **Seamless Integration**: Copy `ollama run {model:tag}` CLI command directly from a model's page on [Ollama library](https://ollama.com/library/) and paste it into the model dropdown to easily select and pull models.
- 🗂️ **Create Ollama Modelfile**: Create a modelfile for Ollama in the Settings, making it easier to manage your models.
- 🔄 **Update All Ollama Models**: Easily update locally installed models all at once with a convenient button, streamlining model management.
- 💡 **LLM Response Insights**: View generation details for every response, including external model API insights and comprehensive local model info.
- 🗂️ **Model Presets**: Create and manage model presets for both Ollama/OpenAI API.
---
### 👥 Collaboration
- 🗨️ **Local Chat Sharing**: Generate and share chat links seamlessly between users, enhancing collaboration and communication.
- 🌐 **Community Sharing**: Expand your collaboration and communication by sharing your chat sessions with the wider community on [Open WebUI Community](https://openwebui.com/). This feature enables you to share your chat links with other users, allowing them to access and engage with your session directly on the platform. By sharing your chats on the Open WebUI Community, you can contribute to a vibrant community of users, facilitating discussion, knowledge sharing, and joint problem-solving. Simply click on the `Share to Open WebUI Community` button to make your chat session available to the community, fostering a collaborative and engaging environment for all. Ensure you have an account on Open WebUI Community and are signed in for this feature to work.
- 👍👎 **RLHF Annotation**: Empower your messages by rating them with thumbs up and thumbs down, followed by the option to provide textual feedback, facilitating the creation of datasets for Reinforcement Learning from Human Feedback (RLHF). Utilize your messages to train or fine-tune models, all while ensuring the confidentiality of locally saved data.
---
### 📚 History and Archive
- 📜 **Chat History**: Effortlessly access and manage your conversation history in the chat navagation sidebar.
- 🔄 **Regeneration History Access**: Easily revisit and explore your entire regeneration history.
- 📬 **Archive Chats**: Effortlessly store away completed conversations you've had with models for future reference or interaction, maintaining a tidy and clutter-free chat interface while allowing for easy retrieval, with the ability to search and export archived chats easily.
- 🗃️ **Archive All Chats**: Quickly archive all of your chats at once.
- 📦 **Export All Archived Chats (JSON format only)**: Easily export all your archived chats in a single JSON file for easy backup or transfer.
- 📄 **Download Chats as JSON/PDF/TXT**: Easily download your chats individually in your choice of `.json`, `.pdf`, or `.txt` format.
- 📤📥 **Import/Export Chat History**: Seamlessly move your chat data in and out of the platform via `Import Chats` and `Export Chats` options.
- 🗑️ **Delete All Chats**: Permanently delete all of your chats for a clean slate.
---
### 🎙️ Accessibility
- 🗣️ **Voice Input Support**: Engage with your model through voice interactions; enjoy the convenience of talking to your model directly. Additionally, explore the option for sending voice input automatically after 3 seconds of silence for a streamlined experience.
- 👥 **'@' Model Integration**: Harness the collective intelligence of multiple models in a single chat by seamlessly switching to any accessible local or external model during conversations by using the `@` command to specify the model by name.
- 🔊 **Configurable Text-to-Speech Endpoint**: Customize your Text-to-Speech experience with configurable OpenAI-compatible endpoints.
---
### 🐍 Code Execution
- 🐍 **Python Code Execution**: Execute Python code locally in the browser via Pyodide with libraries like `requests`, `beautifulsoup4`, `numpy`, `pandas`, `seaborn`, `matplotlib`, `scikit-learn`, `scipy`, & `regex`.
- 🌊 **Mermaid Rendering**: Create beautiful diagrams and flowcharts directly within Open WebUI.
- 🚀 **Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework**: Seamlessly integrate and customize [Open WebUI Pipelines](https://github.com/open-webui/pipelines) for efficient data processing and model training, ensuring ultimate flexibility and scalability.
---
### 🔒 Integration and Security
- ✨ **Multiple OpenAI-Compatible API Support**: Seamlessly integrate and customize various OpenAI-compatible APIs, enhancing the versatility of your chat interactions.
- 🔑 **Simplified API Key Management**: Easily generate and manage secret keys to leverage Open WebUI with OpenAI libraries, streamlining integration and development.
- 🌐 **HTTP Proxy Support**: Configure network settings easily using the `http_proxy` environment variable.
- 🌐🔗 **External Ollama Server Connectivity**: Seamlessly link to an external Ollama server hosted on a different address by configuring the environment variable.
- 🛢️ **External Database Support**: Seamlessly connect to custom SQLite or Postgres databases using the `DATABASE_URL` environment variable.
- 🌐 **Remote ChromaDB Support**: Expand your database capabilities with the ability to connect to remote ChromaDB servers.
- 🔀 **Multiple Ollama Instance Load Balancing**: Effortlessly distribute chat requests across multiple Ollama instances for enhanced performance and reliability.
---
### 👑 Administration
- 👑 **Super Admin Assignment**: Automatically assign the first sign up as a super admin with an unchangeable role that cannot be modified by anyone else, not even other admins.
- 🛡️ **Granular User Permissions**: Restrict user actions and access with customizable role-based permissions, ensuring that only authorized individuals can perform specific tasks.
- 👥 **Multi-User Management**: Seamlessly manage multiple users through our intuitive admin panel with pagination, streamlining user administration and simplifying user life-cycle management.
- 🔧 **Admin Panel**: Streamlined user management with options to add users directly or in bulk via CSV import, making user on-boarding and management efficient.
- 👥 **Active Users Indicator**: Track active users count and which models are actively being used by whom to help you gauge when performance might be impacted due to a high number of users.
- 🔗 **Webhook Integration**: Subscribe to new user sign-up events via webhook (compatible with Discord, Google Chat and Microsoft Teams), providing real-time notifications and automation capabilities.
- 📣 **Configurable Notification Banners**: Admins can create customizable banners with persistence in config.json, featuring options for content, background color (info, warning, error, or success), and dismissibility. These banners are only accessible to logged-in users, ensuring sensitive information remains private.
- 🛡️ **Model Whitelisting**: Enhance security and access control by allowing admins to whitelist models for users with the `user` role, ensuring that only authorized models can be accessed.
- 🌐🔒 **Admin Control for Community Sharing**: Empower admins with a toggle within admin settings to enable or disable the community sharing feature for all users. This toggle allows admins to manage the accessibility and privacy of chat sessions, ensuring a secure and controlled environment for users. Admins can choose to enable or disable the 'Share on Community' button for all users, giving them the flexibility to determine the level of community engagement and collaboration within their platform.
- 📧 **Trusted Email Authentication**: Authenticate using a trusted email header, adding an extra layer of security and authentication to protect your Web UI.
- 🔒 **Backend Reverse Proxy Support**: Bolster security through direct communication between Open WebUI backend and Ollama. This key feature eliminates the need to expose Ollama over LAN. Requests made to the `/ollama/api` route from the Web UI are seamlessly redirected to Ollama from the backend, enhancing overall system security.
- 🔒 **Authentication**: Open WebUI does not natively support federated authentication schemes such as SSO, OAuth, SAML, or OIDC. However, it can be configured to delegate authentication to an authenticating reverse proxy, effectively achieving a Single Sign-On (SSO) experience. This setup allows you to centralize user authentication and management, enhancing security and user convenience. By integrating Open WebUI with an authenticating reverse proxy, you can leverage existing authentication systems and streamline user access to Open WebUI. For more information on configuring this feature, please refer to the [Federated Authentication Support](https://docs.openwebui.com/tutorial/sso).
- 🔓 **Optional Authentication**: Enjoy the flexibility of disabling authentication by setting `WEBUI_AUTH` to False, ideal for fresh installations without existing users and demo purposes.