diff --git a/docs/enterprise/index.mdx b/docs/enterprise/index.mdx index 9abc28440..f3917adc4 100644 --- a/docs/enterprise/index.mdx +++ b/docs/enterprise/index.mdx @@ -30,7 +30,7 @@ Discover how [**Samsung Semiconductor Inc.**](https://semiconductor.samsung.com/ ### Let's Talk :::tip Use Your Work Email -To help us respond quickly, **please use your official work email address** and include your expected **end user count (seats)**. Personal email accounts (e.g., gmail.com, yahoo.com, icloud.com) are often flagged by our system and may not receive a response. +To help us respond quickly, **please use your official work email address** and include your expected **end user count (seats)**. Personal email accounts (e.g., gmail.com, yahoo.com, icloud.com, qq.com) are often flagged by our system and may not receive a response. ::: [**Contact Enterprise Sales → sales@openwebui.com**](mailto:sales@openwebui.com) diff --git a/docs/features/chat-features/history-search.mdx b/docs/features/chat-features/history-search.mdx index 106aaa9c7..17104eaea 100644 --- a/docs/features/chat-features/history-search.mdx +++ b/docs/features/chat-features/history-search.mdx @@ -34,8 +34,8 @@ You can search through your conversations using the global search bar in the sid When using a model with **Native Function Calling** enabled (see the [**Central Tool Calling Guide**](/features/plugin/tools#tool-calling-modes-default-vs-native)), models can search through your chat history autonomously. ### Available History Tools: -- **`search_chats`**: The model can search all your previous conversations for a specific topic or fact. -- **`view_chat`**: After finding a relevant chat ID, the model can retrieve and "read" the full message history of that session. +- **`search_chats`**: Simple text search across chat titles and message content. Returns matching chat IDs and snippets. +- **`view_chat`**: Reads and returns the full message history of a specific chat by ID. ### Why use native tool calling for Search? This allows the model to leverage its own previous work. You can ask: *"What was the feedback I got on my last email draft?"* or *"Find the Python script I wrote about image processing two weeks ago."* diff --git a/docs/features/plugin/functions/pipe.mdx b/docs/features/plugin/functions/pipe.mdx index 5898da2d7..52c573daa 100644 --- a/docs/features/plugin/functions/pipe.mdx +++ b/docs/features/plugin/functions/pipe.mdx @@ -35,7 +35,7 @@ class Pipe: def __init__(self): self.valves = self.Valves() - def pipe(self, body: dict): + async def pipe(self, body: dict): # Logic goes here print(self.valves, body) # This will print the configuration options and the input body return "Hello, World!" @@ -73,7 +73,7 @@ def __init__(self): - **Purpose**: Processes the input data using your custom logic and returns the result. ```python -def pipe(self, body: dict): +async def pipe(self, body: dict): # Logic goes here print(self.valves, body) # This will print the configuration options and the input body return "Hello, World!" @@ -106,7 +106,7 @@ class Pipe: {"id": "model_id_3", "name": "model_3"}, ] - def pipe(self, body: dict): + async def pipe(self, body: dict): # Logic goes here print(self.valves, body) # Prints the configuration options and the input body model = body.get("model", "") diff --git a/docs/features/plugin/tools/development.mdx b/docs/features/plugin/tools/development.mdx index 0b315843b..d636f622c 100644 --- a/docs/features/plugin/tools/development.mdx +++ b/docs/features/plugin/tools/development.mdx @@ -165,7 +165,7 @@ Agentic tool calling requires **high-quality frontier models** to work reliably. | `search_knowledge_bases` | Search knowledge bases by name and description. | Always available. | | `search_knowledge_files` | Search files across accessible knowledge bases by filename. | Always available. | | `view_knowledge_file` | Get the full content of a file from a knowledge base. | Always available. | -| `query_knowledge_bases` | Search internal knowledge bases using semantic/vector search. Should be your first choice for finding information before searching the web. | Always available. | +| `query_knowledge_bases` | Search knowledge bases using semantic/vector search (default: 5 results). **Note:** Does not use hybrid search or reranking. | Always available. | | **Image Gen** | | | | `generate_image` | Generates a new image based on a prompt (supports `steps`). | `ENABLE_IMAGE_GENERATION` enabled. | | `edit_image` | Edits an existing image based on a prompt and URL. | `ENABLE_IMAGE_EDIT` enabled.| @@ -179,8 +179,8 @@ Agentic tool calling requires **high-quality frontier models** to work reliably. | `write_note` | Create a new private note for the user. | `ENABLE_NOTES` enabled. | | `replace_note_content` | Update an existing note's content or title. | `ENABLE_NOTES` enabled. | | **Chat History** | | | -| `search_chats` | Search across the user's previous conversation history. | Always available. | -| `view_chat` | Retrieve the full message history of a specific previous chat. | Always available. | +| `search_chats` | Simple text search across chat titles and message content. Returns matching chat IDs and snippets. | Always available. | +| `view_chat` | Reads and returns the full message history of a specific chat by ID. | Always available. | | **Channels** | | | | `search_channels` | Find public or accessible channels by name/description. | `ENABLE_CHANNELS` enabled. | | `search_channel_messages` | Search for specific messages inside accessible channels. | `ENABLE_CHANNELS` enabled. | diff --git a/docs/features/plugin/tools/index.mdx b/docs/features/plugin/tools/index.mdx index fd8f7d1e2..0c56469c4 100644 --- a/docs/features/plugin/tools/index.mdx +++ b/docs/features/plugin/tools/index.mdx @@ -157,14 +157,14 @@ These models excel at multi-step reasoning, proper JSON formatting, and autonomo | `list_knowledge_bases` | List the user's accessible knowledge bases with file counts. | Always available. | | `query_knowledge_bases` | Search knowledge bases by semantic similarity to query. Finds KBs whose name/description match the meaning of your query. Use this to discover relevant knowledge bases before querying their files. | Always available. | | `search_knowledge_bases` | Search knowledge bases by name and description. | Always available. | -| `query_knowledge_files` | Search internal knowledge base files using semantic/vector search. This should be your first choice for finding information before searching the web. | Always available. | +| `query_knowledge_files` | Search knowledge base files using simple vector search. **Note:** Does not use hybrid search or reranking—for full RAG pipeline with reranking, use File Context instead by attaching files via `#` or assigning knowledge bases. | Always available. | | `search_knowledge_files` | Search files across accessible knowledge bases by filename. | Always available. | | `view_knowledge_file` | Get the full content of a file from a knowledge base. | Always available. | | **Image Gen** | | | -| `generate_image` | Generates a new image based on a prompt (supports `steps`). | `ENABLE_IMAGE_GENERATION` enabled. | -| `edit_image` | Edits an existing image based on a prompt and URL. | `ENABLE_IMAGE_EDIT` enabled.| +| `generate_image` | Generates a new image based on a prompt. | `ENABLE_IMAGE_GENERATION` enabled. | +| `edit_image` | Edits existing images based on a prompt and image URLs. | `ENABLE_IMAGE_EDIT` enabled. | | **Memory** | | | -| `search_memories` | Searches the user's personal memory/personalization bank. Supports an optional `count` parameter to specify how many memories to return (default: 5). | Memory feature enabled. | +| `search_memories` | Searches the user's personal memory/personalization bank. | Memory feature enabled. | | `add_memory` | Stores a new fact in the user's personalization memory. | Memory feature enabled. | | `replace_memory_content` | Updates an existing memory record by its unique ID. | Memory feature enabled. | | **Notes** | | | @@ -173,8 +173,8 @@ These models excel at multi-step reasoning, proper JSON formatting, and autonomo | `write_note` | Create a new private note for the user. | `ENABLE_NOTES` enabled. | | `replace_note_content` | Update an existing note's content or title. | `ENABLE_NOTES` enabled. | | **Chat History** | | | -| `search_chats` | Search across the user's previous conversation history. | Always available. | -| `view_chat` | Retrieve the full message history of a specific previous chat. | Always available. | +| `search_chats` | Simple text search across chat titles and message content. Returns matching chat IDs and snippets. | Always available. | +| `view_chat` | Reads and returns the full message history of a specific chat by ID. | Always available. | | **Channels** | | | | `search_channels` | Find public or accessible channels by name/description. | `ENABLE_CHANNELS` enabled. | | `search_channel_messages` | Search for specific messages inside accessible channels. | `ENABLE_CHANNELS` enabled. | @@ -184,10 +184,49 @@ These models excel at multi-step reasoning, proper JSON formatting, and autonomo | `get_current_timestamp` | Get the current UTC Unix timestamp and ISO date. | Always available. | | `calculate_timestamp` | Calculate relative timestamps (e.g., "3 days ago"). | Always available. | +#### Tool Parameters Reference + +| Tool | Parameters | +|------|------------| +| `search_web` | `query` (required), `count` (default: 5) | +| `fetch_url` | `url` (required) | +| `list_knowledge_bases` | `count` (default: 10), `skip` (default: 0) | +| `query_knowledge_bases` | `query` (required), `count` (default: 5) | +| `search_knowledge_bases` | `query` (required), `count` (default: 5), `skip` (default: 0) | +| `query_knowledge_files` | `query` (required), `knowledge_ids` (optional), `count` (default: 5) | +| `search_knowledge_files` | `query` (required), `knowledge_id` (optional), `count` (default: 5), `skip` (default: 0) | +| `view_knowledge_file` | `file_id` (required) | +| `generate_image` | `prompt` (required) | +| `edit_image` | `prompt` (required), `image_urls` (required) | +| `search_memories` | `query` (required), `count` (default: 5) | +| `add_memory` | `content` (required) | +| `replace_memory_content` | `memory_id` (required), `content` (required) | +| `search_notes` | `query` (required), `count` (default: 5), `start_timestamp` (optional), `end_timestamp` (optional) | +| `view_note` | `note_id` (required) | +| `write_note` | `title` (required), `content` (required) | +| `replace_note_content` | `note_id` (required), `content` (required), `title` (optional) | +| `search_chats` | `query` (required), `count` (default: 5), `start_timestamp` (optional), `end_timestamp` (optional) | +| `view_chat` | `chat_id` (required) | +| `search_channels` | `query` (required), `count` (default: 5) | +| `search_channel_messages` | `query` (required), `count` (default: 10), `start_timestamp` (optional), `end_timestamp` (optional) | +| `view_channel_message` | `message_id` (required) | +| `view_channel_thread` | `parent_message_id` (required) | +| `get_current_timestamp` | None | +| `calculate_timestamp` | `days_ago` (default: 0), `weeks_ago` (default: 0), `months_ago` (default: 0), `years_ago` (default: 0) | + :::info Automatic Timezone Detection Open WebUI automatically detects and stores your timezone when you log in. This allows time-related tools and features to provide accurate local times without any manual configuration. Your timezone is determined from your browser settings. ::: +:::tip Knowledge Base Tools vs RAG Pipeline +The native `query_knowledge_files` tool uses **simple vector search** with a default of 5 results. It does **not** use: +- Hybrid search (BM25 + vector) +- Reranking (external reranker endpoint) +- The "Top K Reranker" admin setting + +For the full RAG pipeline with hybrid search and reranking, use the **File Context** capability (attach files via `#` or knowledge base assignment) instead of relying on autonomous tool calls. +::: + **Why use these?** It allows for **Deep Research** (searching the web multiple times, or querying knowledge bases), **Contextual Awareness** (looking up previous chats or notes), **Dynamic Personalization** (saving facts), and **Precise Automation** (generating content based on existing notes or documents). #### Disabling Builtin Tools (Per-Model) @@ -209,7 +248,7 @@ The **Builtin Tools** capability can be toggled on or off for each model in the 2. **RAG still works** (if File Context is enabled): Attached files are still processed via RAG and injected as context. 3. **No autonomous retrieval**: The model cannot decide to search knowledge bases or fetch additional information—it works only with what's provided upfront. -:::warning Builtin Tools vs File Context +:::tip Builtin Tools vs File Context **Builtin Tools** controls whether the model gets *tools* for autonomous retrieval. It does **not** control whether file content is injected via RAG—that's controlled by the separate **File Context** capability. - **File Context** = Whether Open WebUI extracts and injects file content (RAG processing) diff --git a/docs/getting-started/env-configuration.mdx b/docs/getting-started/env-configuration.mdx index 1bec7564e..688d3a86f 100644 --- a/docs/getting-started/env-configuration.mdx +++ b/docs/getting-started/env-configuration.mdx @@ -1285,7 +1285,7 @@ This variable replaces the deprecated `API_KEY_ALLOWED_ENDPOINTS` environment va - Type: `bool` - Default: `False` -- Description: When enabled, caches the list of base models from connected Ollama and OpenAI-compatible endpoints in memory. This reduces the number of API calls made to external model providers when loading the model selector, improving performance particularly for deployments with many users or slow connections to model endpoints. +- Description: When enabled, caches the list of base models from connected Ollama and OpenAI-compatible endpoints in memory. This reduces the number of API calls made to external model providers when loading the model selector, improving performance particularly for deployments with many users or slow connections to model endpoints. Can also be configured from Admin Panel > Settings > Connections > "Cache Base Model List". - Persistence: This environment variable is a `PersistentConfig` variable. **How the cache works:** @@ -5617,6 +5617,8 @@ More information about this setting can be found [here](https://docs.sqlalchemy. ### Redis +#### `REDIS_URL` + - Type: `str` - Description: Specifies the URL of the Redis instance or cluster host for storing application state. - Examples: