mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 10:58:17 -05:00
[GH-ISSUE #20330] duckduckgo web_search gives: KeyError('lite') - backend is not exist or disabled. #34683
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @aikomastboom on GitHub (Jan 2, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20330
a7271532f8/backend/open_webui/retrieval/web/duckduckgo.py (L35)logs:
open_webui.routers.retrieval:process_web_search:2114 - trying to web search with ('duckduckgo', ['my search'])
ddgs.ddgs:_get_engines:119 - KeyError('lite') - backend is not exist or disabled. Available: brave, duckduckgo, google, grokipedia, mojeek, wikipedia, yahoo, yandex. Using 'auto'
ddgs source code reference:
https://github.com/deedy5/ddgs/blob/main/ddgs/ddgs.py#L119
resolution:
change "lite" to "duckduckgo"
@owui-terminator[bot] commented on GitHub (Jan 2, 2026):
🔍 Similar Issues Found
I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:
by matthew777777 • Mar 26, 2025 •
bug💡 Tips:
This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
@frenzybiscuit commented on GitHub (Jan 2, 2026):
Cannot reproduce.
Images attached.
@aikomastboom commented on GitHub (Jan 3, 2026):
I did not mention it does not provide results.
It does... instead due to the given
liteargument, it falls back toautomode.Which means it randomly picks any of the "Available" providers.
litehas never been a valid backend provider for the ddgs package (AFAICT from git blame). cli help https://github.com/deedy5/ddgs/blob/main/ddgs/cli.py#L190For me.. when I choose to use duckduckgo. I do not want it to call google.
My log information came from the container output, configured as follows:
docker-compose.yml snipped:
@Classic298 commented on GitHub (Jan 3, 2026):
but why would it call google if you didn't configure it?
@aikomastboom commented on GitHub (Jan 4, 2026):
Well I think there is a little misunderstanding about what the DDGS library does.
DDGS does not refer to duckduckgo alone.. but
Where duckduckgo is one of the available backends.
When giving the code an invalid (
lite) backend specifier it will default toautomode.autowill pick a random backend from the supported ones by DDGS (https://github.com/deedy5/ddgs/blob/main/ddgs/ddgs.py#L117)So if that (random) is intended behaviour for the DDGS option in the "Web search engine" selection. I have two questions:
@aikomastboom commented on GitHub (Jan 4, 2026):
I found this in the changelog.md, it seems relevant to this issue:
https://github.com/open-webui/open-webui/blob/main/CHANGELOG.md?plain=1#L844C1-L844C151
@Classic298 commented on GitHub (Jan 4, 2026):
Yes i know that ddgs is more than just duckduckgo
Ok thanks for your explanation
I don't see many scenarios where one would configure google in ddgs instead of open webui directly BUT i can understand where you're coming from.
PR welcome and I'll probably try to whip up a PR as well
@aikomastboom commented on GitHub (Jan 4, 2026):
I turned to building my own image with the following changes, that reflect the issue.
@Classic298 commented on GitHub (Jan 4, 2026):
Thanks, I'll try to make it a more comprehensive fix
@Classic298 commented on GitHub (Jan 4, 2026):
fixed in dev