Skip to content

Commit a3dd1d8

Browse files
authored
Merge pull request #962 from Classic298/dev
2 parents f06891d + 5e9c9e4 commit a3dd1d8

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

docs/features/web-search/agentic-search.mdx

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ Open WebUI's web search has evolved from simple result injection to a fully **ag
1111

1212
| Feature | Traditional RAG (Default) | Agentic Search (Native Mode) |
1313
|---------|---------------------------|------------------------------|
14-
| **Search Decision** | Open WebUI decides based on prompt analysis. | The **Model** decides if it needs data. |
15-
| **Search Queries** | Usually a single query executed once. | Multiple queries can be run sequentially. |
16-
| **Link Following** | Snippets from top results are injected. | The model can use `fetch_url` to read full pages. |
17-
| **Reasoning** | Model process data *after* injection. | Model can search, read, check, and search again. |
14+
| **Search Decision** | Open WebUI decides based on prompt analysis. | The **Model** decides if and when it needs to search. |
15+
| **Data Processing** | Fetches ALL results, chunks them, and performs **RAG**. | Returns **Snippets** directly; no chunking or Vector DB. |
16+
| **Link Following** | Snippets from top results are injected. | Model uses `fetch_url` to read a **Full Page** directly. |
17+
| **Model Context** | Only gets relevant fragments (Top-K chunks). | Gets the **whole text** (up to ~50k chars) via `fetch_url`. |
18+
| **Reasoning** | Model processes data *after* system injection. | Model can search, read, check, and search again. |
1819

1920
## How to Enable Agentic Behavior
2021

@@ -27,21 +28,25 @@ To unlock these features, your model must support native tool calling (e.g., GPT
2728
* Under **Advanced Parameters**, set **Function Calling** to `Native`.
2829
3. **Chat Features**: Ensure the **Web Search** feature is toggled **ON** for your chat session.
2930

30-
## The `fetch_url` Tool 🔗
31+
## How Native Tools Handle Data
32+
🔗 It is important to understand that Native Mode works fundamentally differently from the global "Web Search" toggle found in standard models.
3133

32-
One of the most powerful additions is the ability for the model to "visit" specific URLs.
34+
### `web_search` (Snippets only)
35+
When the model invokes `web_search`:
36+
* **Action**: It queries your search engine and receives a list of titles, links, and snippets.
37+
* **No RAG**: Unlike traditional search, **no data is stored in a Vector DB**. No chunking or embedding occurs.
38+
* **Result**: The model sees exactly what a human sees on a search results page. If the snippet contains the answer, the model responds. If not, the model must decide to "deep dive" into a link.
3339

34-
Previously, a model could only see snippets from search results. Now, if it sees a promising link, it can invoke `fetch_url(url="...")` to extract the full text content of that page.
40+
### `fetch_url` (Full Page Context)
41+
If the model determines that a search snippet is insufficient, it will call `fetch_url`:
42+
* **Direct Access**: The tool visits the specific URL and extracts the main text using your configured **Web Loader**.
43+
* **Raw Context**: The extracted text is injected **directly into the model's context window** (hard-coded truncation at exactly 50,000 characters to prevent context overflow).
44+
* **Agentic Advantage**: Because it doesn't use RAG, the model has the "full picture" of the page rather than isolated fragments. This allows it to follow complex instructions on specific pages (e.g., "Summarize the technical specifications table from this documentation link").
3545

36-
:::info
37-
**How it fetches:** The `fetch_url` tool uses the **Web Loader Engine** (e.g., Safe Web, Playwright, or Firecrawl) configured by the administrator in **Admin Panel > Settings > Web Search**. This ensures the model respects your custom proxy, filtering, and timeout settings.
46+
:::tip
47+
By keeping `web_search` and `fetch_url` separate and RAG-free, the model acts as its own **Information Retrieval** agent, choosing exactly which sources are worth reading in full.
3848
:::
3949

40-
This allows for:
41-
- Summarizing specific news articles.
42-
- Technical documentation research.
43-
- Verifying details that aren't present in search snippets.
44-
4550
## Deep Research & Interleaved Thinking 🧠
4651

4752
Because the model can call `web_search` multiple times, it can perform "Deep Research" using **Interleaved Thinking**. This is a cycle where the model can:

0 commit comments

Comments
 (0)