From 6d8a0b1daa5a4256e33032233056d9d23edc9037 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:25:19 -0500 Subject: [PATCH 1/3] Web Search Category Splits Web Search sections into individual pages within a new category for Web Search --- .../Kokoro-FastAPI-integration.md | 4 +- docs/tutorials/web-search/_category_.json | 7 + docs/tutorials/web-search/bing.md | 19 +++ docs/tutorials/web-search/brave.md | 25 +++ docs/tutorials/web-search/duckduckgo.md | 18 +++ docs/tutorials/web-search/exa.md | 8 + docs/tutorials/web-search/google-pse.md | 30 ++++ docs/tutorials/web-search/jina.md | 8 + docs/tutorials/web-search/kagi.md | 8 + docs/tutorials/web-search/mojeek.md | 33 ++++ docs/tutorials/web-search/searchapi.md | 30 ++++ .../{web_search.md => web-search/searxng.md} | 152 +----------------- docs/tutorials/web-search/serper.md | 8 + docs/tutorials/web-search/serply.md | 8 + docs/tutorials/web-search/serpstack.md | 8 + docs/tutorials/web-search/tavily.md | 8 + 16 files changed, 223 insertions(+), 151 deletions(-) create mode 100644 docs/tutorials/web-search/_category_.json create mode 100644 docs/tutorials/web-search/bing.md create mode 100644 docs/tutorials/web-search/brave.md create mode 100644 docs/tutorials/web-search/duckduckgo.md create mode 100644 docs/tutorials/web-search/exa.md create mode 100644 docs/tutorials/web-search/google-pse.md create mode 100644 docs/tutorials/web-search/jina.md create mode 100644 docs/tutorials/web-search/kagi.md create mode 100644 docs/tutorials/web-search/mojeek.md create mode 100644 docs/tutorials/web-search/searchapi.md rename docs/tutorials/{web_search.md => web-search/searxng.md} (69%) create mode 100644 docs/tutorials/web-search/serper.md create mode 100644 docs/tutorials/web-search/serply.md create mode 100644 docs/tutorials/web-search/serpstack.md create mode 100644 docs/tutorials/web-search/tavily.md diff --git a/docs/tutorials/text-to-speech/Kokoro-FastAPI-integration.md b/docs/tutorials/text-to-speech/Kokoro-FastAPI-integration.md index 57d7e05..e12d249 100644 --- a/docs/tutorials/text-to-speech/Kokoro-FastAPI-integration.md +++ b/docs/tutorials/text-to-speech/Kokoro-FastAPI-integration.md @@ -13,12 +13,11 @@ This tutorial is a community contribution and is not supported by the Open WebUI [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI) is a dockerized FastAPI wrapper for the [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) text-to-speech model that implements the OpenAI API endpoint specification. It offers high-performance text-to-speech with impressive generation speeds: -- Small local model (~<300mb on disk, additional storage needed up to 5gb for CUDA drivers, etc) +- Small local model (≅300mb on disk, additional storage needed up to 5gb for CUDA drivers, etc) - 100x+ real-time speed via HF A100 - 35-50x+ real-time speed via 4060Ti - 5x+ real-time speed via M3 Pro CPU - Low latecy (sub 1s with GPU), customizable by chunking parameters -- ## Key Features @@ -60,6 +59,7 @@ This tutorial is a community contribution and is not supported by the Open WebUI ## ⚡️ Quick start ### You can choose between GPU or CPU versions + ### GPU Version (Requires NVIDIA GPU with CUDA 12.1) ```bash diff --git a/docs/tutorials/web-search/_category_.json b/docs/tutorials/web-search/_category_.json new file mode 100644 index 0000000..e76e19c --- /dev/null +++ b/docs/tutorials/web-search/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "🌐 Web Search", + "position": 6, + "link": { + "type": "generated-index" + } +} diff --git a/docs/tutorials/web-search/bing.md b/docs/tutorials/web-search/bing.md new file mode 100644 index 0000000..8dc1262 --- /dev/null +++ b/docs/tutorials/web-search/bing.md @@ -0,0 +1,19 @@ +--- +sidebar_position: 1 +title: "Bing" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: + +## Bing API + +### Setup + +1. Navigate to the [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) and create a new resource. After creation, you’ll be redirected to the resource overview page. From there, select "Click here to manage keys." ![click here to manage keys](https://github.com/user-attachments/assets/dd2a3c67-d6a7-4198-ba54-67a3c8acff6d) +2. On the key management page, locate Key1 or Key2 and copy your desired key. +3. Open the Open WebUI Admin Panel, switch to the Settings tab, and then select Web Search. +4. Enable the Web search option and set the Web Search Engine to bing. +5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) dashboard. +6. Click `Save`. diff --git a/docs/tutorials/web-search/brave.md b/docs/tutorials/web-search/brave.md new file mode 100644 index 0000000..16f2d8a --- /dev/null +++ b/docs/tutorials/web-search/brave.md @@ -0,0 +1,25 @@ +--- +sidebar_position: 2 +title: "Brave" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: + +## Brave API + +### Docker Compose Setup + +Add the following environment variables to your Open WebUI `docker-compose.yaml` file: + +```yaml +services: + open-webui: + environment: + ENABLE_RAG_WEB_SEARCH: True + RAG_WEB_SEARCH_ENGINE: "brave" + BRAVE_SEARCH_API_KEY: "YOUR_API_KEY" + RAG_WEB_SEARCH_RESULT_COUNT: 3 + RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 +``` diff --git a/docs/tutorials/web-search/duckduckgo.md b/docs/tutorials/web-search/duckduckgo.md new file mode 100644 index 0000000..854ac7b --- /dev/null +++ b/docs/tutorials/web-search/duckduckgo.md @@ -0,0 +1,18 @@ +--- +sidebar_position: 3 +title: "DuckDuckGo" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: + +## DuckDuckGo API + +### Setup + +No setup is required to use DuckDuckGo API for Open WebUI's built in web search! DuckDuckGo works out of the box in Open WebUI. + +:::note +There is a possibility of your web searches being rate limited. +::: diff --git a/docs/tutorials/web-search/exa.md b/docs/tutorials/web-search/exa.md new file mode 100644 index 0000000..62f10cd --- /dev/null +++ b/docs/tutorials/web-search/exa.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 4 +title: "Exa" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: diff --git a/docs/tutorials/web-search/google-pse.md b/docs/tutorials/web-search/google-pse.md new file mode 100644 index 0000000..d6f904a --- /dev/null +++ b/docs/tutorials/web-search/google-pse.md @@ -0,0 +1,30 @@ +--- +sidebar_position: 5 +title: "Google PSE" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: + +## Google PSE API + +### Setup + +1. Go to Google Developers, use [Programmable Search Engine](https://developers.google.com/custom-search), and log on or create account. +2. Go to [control panel](https://programmablesearchengine.google.com/controlpanel/all) and click `Add` button +3. Enter a search engine name, set the other properties to suit your needs, verify you're not a robot and click `Create` button. +4. Generate `API key` and get the `Search engine ID`. (Available after the engine is created) +5. With `API key` and `Search engine ID`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search` +6. Enable `Web search` and Set `Web Search Engine` to `google_pse` +7. Fill `Google PSE API Key` with the `API key` and `Google PSE Engine Id` (# 4) +8. Click `Save` + +![Open WebUI Admin panel](/images/tutorial_google_pse1.png) + +#### Note + +You have to enable `Web search` in the prompt field, using plus (`+`) button. +Search the web ;-) + +![enable Web search](/images/tutorial_google_pse2.png) diff --git a/docs/tutorials/web-search/jina.md b/docs/tutorials/web-search/jina.md new file mode 100644 index 0000000..3bcc5db --- /dev/null +++ b/docs/tutorials/web-search/jina.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 6 +title: "Jina" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: diff --git a/docs/tutorials/web-search/kagi.md b/docs/tutorials/web-search/kagi.md new file mode 100644 index 0000000..82bd540 --- /dev/null +++ b/docs/tutorials/web-search/kagi.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 7 +title: "Kagi" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: diff --git a/docs/tutorials/web-search/mojeek.md b/docs/tutorials/web-search/mojeek.md new file mode 100644 index 0000000..00e6c87 --- /dev/null +++ b/docs/tutorials/web-search/mojeek.md @@ -0,0 +1,33 @@ +--- +sidebar_position: 8 +title: "Mojeek" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: + +## Mojeek Search API + +### Setup + +1. Please visit [Mojeek Search API page](https://www.mojeek.com/services/search/web-search-api/) to obtain an `API key` +2. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search` +3. Enable `Web search` and Set `Web Search Engine` to `mojeek` +4. Fill `Mojeek Search API Key` with the `API key` +5. Click `Save` + +### Docker Compose Setup + +Add the following environment variables to your Open WebUI `docker-compose.yaml` file: + +```yaml +services: + open-webui: + environment: + ENABLE_RAG_WEB_SEARCH: True + RAG_WEB_SEARCH_ENGINE: "mojeek" + BRAVE_SEARCH_API_KEY: "YOUR_MOJEEK_API_KEY" + RAG_WEB_SEARCH_RESULT_COUNT: 3 + RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 +``` diff --git a/docs/tutorials/web-search/searchapi.md b/docs/tutorials/web-search/searchapi.md new file mode 100644 index 0000000..b79c595 --- /dev/null +++ b/docs/tutorials/web-search/searchapi.md @@ -0,0 +1,30 @@ +--- +sidebar_position: 9 +title: "SearchApi" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: + +## SearchApi API + +[SearchApi](https://searchapi.io) is a collection of real-time SERP APIs. Any existing or upcoming SERP engine that returns `organic_results` is supported. The default web search engine is `google`, but it can be changed to `bing`, `baidu`, `google_news`, `bing_news`, `google_scholar`, `google_patents`, and others. + +### Setup + +1. Go to [SearchApi](https://searchapi.io), and log on or create a new account. +2. Go to `Dashboard` and copy the API key. +3. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`. +4. Enable `Web search` and set `Web Search Engine` to `searchapi`. +5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [SearchApi](https://www.searchapi.io/) dashboard. +6. [Optional] Enter the `SearchApi engine` name you want to query. Example, `google`, `bing`, `baidu`, `google_news`, `bing_news`, `google_videos`, `google_scholar` and `google_patents.` By default, it is set to `google`. +7. Click `Save`. + +![Open WebUI Admin panel](/images/tutorial_searchapi_search.png) + +#### Note + +You have to enable `Web search` in the prompt field, using plus (`+`) button to search the web using [SearchApi](https://www.searchapi.io/) engines. + +![enable Web search](/images/enable_web_search.png) diff --git a/docs/tutorials/web_search.md b/docs/tutorials/web-search/searxng.md similarity index 69% rename from docs/tutorials/web_search.md rename to docs/tutorials/web-search/searxng.md index 32ac31a..9dca113 100644 --- a/docs/tutorials/web_search.md +++ b/docs/tutorials/web-search/searxng.md @@ -1,15 +1,13 @@ --- -sidebar_position: 5 -title: "🌐 Web Search" +sidebar_position: 10 +title: "SearXNG" --- :::warning This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. ::: -# 🌐 Web Search - -This guide provides instructions on how to set up web search capabilities in Open WebUI using various search engines. +This guide provides instructions on how to set up web search capabilities in Open WebUI using SearXNG in Docker. ## SearXNG (Docker) @@ -365,147 +363,3 @@ By following these steps, you will have successfully set up SearXNG with Open We You will have to explicitly toggle this On/Off in a chat. This is enabled on a per session basis eg. reloading the page, changing to another chat will toggle off. - -## Google PSE API - -### Setup - -1. Go to Google Developers, use [Programmable Search Engine](https://developers.google.com/custom-search), and log on or create account. -2. Go to [control panel](https://programmablesearchengine.google.com/controlpanel/all) and click `Add` button -3. Enter a search engine name, set the other properties to suit your needs, verify you're not a robot and click `Create` button. -4. Generate `API key` and get the `Search engine ID`. (Available after the engine is created) -5. With `API key` and `Search engine ID`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search` -6. Enable `Web search` and Set `Web Search Engine` to `google_pse` -7. Fill `Google PSE API Key` with the `API key` and `Google PSE Engine Id` (# 4) -8. Click `Save` - -![Open WebUI Admin panel](/images/tutorial_google_pse1.png) - -#### Note - -You have to enable `Web search` in the prompt field, using plus (`+`) button. -Search the web ;-) - -![enable Web search](/images/tutorial_google_pse2.png) - -## Brave API - -### Docker Compose Setup - -Add the following environment variables to your Open WebUI `docker-compose.yaml` file: - -```yaml -services: - open-webui: - environment: - ENABLE_RAG_WEB_SEARCH: True - RAG_WEB_SEARCH_ENGINE: "brave" - BRAVE_SEARCH_API_KEY: "YOUR_API_KEY" - RAG_WEB_SEARCH_RESULT_COUNT: 3 - RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 -``` - -## Mojeek Search API - -### Setup - -1. Please visit [Mojeek Search API page](https://www.mojeek.com/services/search/web-search-api/) to obtain an `API key` -2. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search` -3. Enable `Web search` and Set `Web Search Engine` to `mojeek` -4. Fill `Mojeek Search API Key` with the `API key` -5. Click `Save` - -### Docker Compose Setup - -Add the following environment variables to your Open WebUI `docker-compose.yaml` file: - -```yaml -services: - open-webui: - environment: - ENABLE_RAG_WEB_SEARCH: True - RAG_WEB_SEARCH_ENGINE: "mojeek" - BRAVE_SEARCH_API_KEY: "YOUR_MOJEEK_API_KEY" - RAG_WEB_SEARCH_RESULT_COUNT: 3 - RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 -``` - -## SearchApi API - -[SearchApi](https://searchapi.io) is a collection of real-time SERP APIs. Any existing or upcoming SERP engine that returns `organic_results` is supported. The default web search engine is `google`, but it can be changed to `bing`, `baidu`, `google_news`, `bing_news`, `google_scholar`, `google_patents`, and others. - -### Setup - -1. Go to [SearchApi](https://searchapi.io), and log on or create a new account. -2. Go to `Dashboard` and copy the API key. -3. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`. -4. Enable `Web search` and set `Web Search Engine` to `searchapi`. -5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [SearchApi](https://www.searchapi.io/) dashboard. -6. [Optional] Enter the `SearchApi engine` name you want to query. Example, `google`, `bing`, `baidu`, `google_news`, `bing_news`, `google_videos`, `google_scholar` and `google_patents.` By default, it is set to `google`. -7. Click `Save`. - -![Open WebUI Admin panel](/images/tutorial_searchapi_search.png) - -#### Note - -You have to enable `Web search` in the prompt field, using plus (`+`) button to search the web using [SearchApi](https://www.searchapi.io/) engines. - -![enable Web search](/images/enable_web_search.png) - -## Kagi API - -Coming Soon - -### Setup - -## Serpstack API - -Coming Soon - -### Setup - -## Serper API - -Coming Soon - -### Setup - -## Serply API - -Coming Soon - -### Setup - -## DuckDuckGo API - -### Setup - -No setup is required to use DuckDuckGo API for Open WebUI's built in web search! DuckDuckGo works out of the box in Open WebUI. - -:::note -There is a possibility of your web searches being rate limited. -::: - -## Tavily API - -Coming Soon - -### Setup - -## Jina API - -Coming Soon - -### Setup - -## Bing API - -### Setup - -1. Navigate to the [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) and create a new resource. After creation, you’ll be redirected to the resource overview page. From there, select "Click here to manage keys." ![click here to manage keys](https://github.com/user-attachments/assets/dd2a3c67-d6a7-4198-ba54-67a3c8acff6d) -2. On the key management page, locate Key1 or Key2 and copy your desired key. -3. Open the Open WebUI Admin Panel, switch to the Settings tab, and then select Web Search. -4. Enable the Web search option and set the Web Search Engine to bing. -5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) dashboard. -6. Click `Save`. - diff --git a/docs/tutorials/web-search/serper.md b/docs/tutorials/web-search/serper.md new file mode 100644 index 0000000..7232b28 --- /dev/null +++ b/docs/tutorials/web-search/serper.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 11 +title: "Serper" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: diff --git a/docs/tutorials/web-search/serply.md b/docs/tutorials/web-search/serply.md new file mode 100644 index 0000000..4898925 --- /dev/null +++ b/docs/tutorials/web-search/serply.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 12 +title: "Serply" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: diff --git a/docs/tutorials/web-search/serpstack.md b/docs/tutorials/web-search/serpstack.md new file mode 100644 index 0000000..f776a30 --- /dev/null +++ b/docs/tutorials/web-search/serpstack.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 13 +title: "Serpstack" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: diff --git a/docs/tutorials/web-search/tavily.md b/docs/tutorials/web-search/tavily.md new file mode 100644 index 0000000..6e87458 --- /dev/null +++ b/docs/tutorials/web-search/tavily.md @@ -0,0 +1,8 @@ +--- +sidebar_position: 14 +title: "Tavily" +--- + +:::warning +This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial. +::: From 145e84e551197101795e8aad12b7c30405669099 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:31:56 -0500 Subject: [PATCH 2/3] Update url-params.md possible fix --- docs/features/chat-features/url-params.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features/chat-features/url-params.md b/docs/features/chat-features/url-params.md index 11a4e23..2c6fdd8 100644 --- a/docs/features/chat-features/url-params.md +++ b/docs/features/chat-features/url-params.md @@ -37,7 +37,7 @@ The following table lists the available URL parameters, their function, and exam ### 3. **Web Search** -- **Description**: Enabling `web-search` allows the chat session to access [web search](/tutorials/web_search) functionality. +- **Description**: Enabling `web-search` allows the chat session to access [web search](/tutorials/web-search) functionality. - **How to Set**: Set this parameter to `true` to enable web search. - **Example**: `/?web-search=true` - **Behavior**: If enabled, the chat can retrieve web search results as part of its responses. From 86717adf769349c78f2ccdbddbd3e50a4a5d1b75 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Wed, 12 Feb 2025 09:08:20 -0500 Subject: [PATCH 3/3] Update url-params.md Test fix --- docs/features/chat-features/url-params.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features/chat-features/url-params.md b/docs/features/chat-features/url-params.md index 2c6fdd8..e5d298b 100644 --- a/docs/features/chat-features/url-params.md +++ b/docs/features/chat-features/url-params.md @@ -37,7 +37,7 @@ The following table lists the available URL parameters, their function, and exam ### 3. **Web Search** -- **Description**: Enabling `web-search` allows the chat session to access [web search](/tutorials/web-search) functionality. +- **Description**: Enabling `web-search` allows the chat session to access [web search](/tutorials/web-search/_category_.json) functionality. - **How to Set**: Set this parameter to `true` to enable web search. - **Example**: `/?web-search=true` - **Behavior**: If enabled, the chat can retrieve web search results as part of its responses.