[PR #16694] [CLOSED] UPD: "duckduckgo" MetaSearch - set concurrent requests #11009

Closed
opened 2025-11-11 19:19:35 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/16694
Author: @rgaricano
Created: 8/18/2025
Status: Closed

Base: devHead: dev_ddgs_concurrent


📝 Commits (1)

  • 1abe576 UPD: "duckduckgo" MetaSearch - set concurrent requests

📊 Changes

1 file changed (+2 additions, -0 deletions)

View changed files

📝 backend/open_webui/retrieval/web/duckduckgo.py (+2 -0)

📄 Description

UPDATE for Distributed Global Search MetaSearch (DuckDuckGo)

Aclarations

About WEB_SEARCH_CONCURRENT_REQUEST env var:
This variable is treated internally as requests_per_second and is used to calculate parallel requests, threads, or times in some methods/search engines.
The library works in parallel, adjusting concurrent requests based on max_results.
Here, it is assigned as its name suggests: number of concurrent/parallel searches (theads).

About name:
Clarification on the name, as there are some issues and ongoing discussions about this "confusion."
The library we're using, ddgs (duckduckgo_search v0.0.3), started as a simple call to a default DuckDuckGo URL, but over the years, categorized search functions, greater parameterization, and more search engines have been added. It's now a metasearch engine (ddgs v9.5.4).
In recent versions of Open-WebUI, it has been updated, but without using the new features or limiting the search options, and with the default options, which results in it generating searches in several search engines, not just DuckDuckGo.

This isn't a bad or negative thing; it's another option and a good alternative to use as the default metasearch engine, but it needs work to take advantage of the features and add valves/configuration panel.

But it would be advisable to change the name or configurate it for use only duckduckgo search to avoid confusion.

About Engines:
(Right now, Open-WebUI only use text(query, safesearch="moderate", max_results=count, backend="lite") function for searches)

DDGS function Available backends
text() bing, brave, duckduckgo, google, mojeek, mullvad_brave, mullvad_google, yandex, yahoo, wikipedia
images() duckduckgo
videos() duckduckgo
news() duckduckgo, yahoo
books() annasarchive

For Reference: DDGS library


Contributor License Agreement

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/16694 **Author:** [@rgaricano](https://github.com/rgaricano) **Created:** 8/18/2025 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `dev_ddgs_concurrent` --- ### 📝 Commits (1) - [`1abe576`](https://github.com/open-webui/open-webui/commit/1abe576904aad6d3da5b7e98bac451ac0f9990d9) UPD: "duckduckgo" MetaSearch - set concurrent requests ### 📊 Changes **1 file changed** (+2 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/retrieval/web/duckduckgo.py` (+2 -0) </details> ### 📄 Description ## **UPDATE** for Distributed Global Search MetaSearch (DuckDuckGo) - Fix https://github.com/open-webui/open-webui/issues/16630 - Forward the [WEB_SEARCH_CONCURRENT_REQUEST configuration variable](https://github.com/rgaricano/open-webui/blob/main/backend/open_webui/config.py#L2601) to the ddgs search requests function and assign this variable to the [ddgs.theads parameter](https://github.com/deedy5/ddgs/blob/main/ddgs/ddgs.py#L34). ### Aclarations _About WEB_SEARCH_CONCURRENT_REQUEST env var:_ This variable is treated internally as requests_per_second and is used to calculate parallel requests, threads, or times in some methods/search engines. The library works in parallel, adjusting concurrent requests based on `max_results`. Here, it is assigned as its name suggests: number of concurrent/parallel searches (theads). _About name:_ Clarification on the name, as there are some issues and ongoing discussions about this "confusion." The library we're using, **ddgs** (duckduckgo_search v0.0.3), started as a simple call to a default DuckDuckGo URL, but over the years, categorized search functions, greater parameterization, and more search engines have been added. **It's now a metasearch engine** (ddgs v9.5.4). In recent versions of Open-WebUI, it has been updated, but without using the new features or limiting the search options, and with the default options, which results in it generating searches in several search engines, not just DuckDuckGo. This isn't a bad or negative thing; it's another option and a good alternative to use as the default metasearch engine, but it needs work to take advantage of the features and add valves/configuration panel. But it would be advisable to change the name or configurate it for use only duckduckgo search to avoid confusion. _About Engines:_ (Right now, Open-WebUI only use text(query, safesearch="moderate", max_results=count, backend="lite") function for searches) | DDGS function | Available backends | | --------------|:-------------------| | **text()** | `bing`, `brave`, `duckduckgo`, `google`, `mojeek`, `mullvad_brave`, `mullvad_google`, `yandex`, `yahoo`, `wikipedia`| | images() | `duckduckgo` | | videos() | `duckduckgo` | | news() | `duckduckgo`, `yahoo` | | books() | `annasarchive` | For Reference: [DDGS library](https://github.com/deedy5/ddgs) --- ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-11 19:19:36 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#11009