mirror of
https://github.com/open-webui/open-webui
synced 2025-06-11 17:02:47 +00:00
Merge pull request #13111 from tth37/perf_multi_thread_web_searching
perf: Concurrent processing for web search queries
This commit is contained in:
commit
11d599c55d
@ -355,29 +355,33 @@ async def chat_web_search_handler(
|
|||||||
|
|
||||||
all_results = []
|
all_results = []
|
||||||
|
|
||||||
for searchQuery in queries:
|
|
||||||
await event_emitter(
|
await event_emitter(
|
||||||
{
|
{
|
||||||
"type": "status",
|
"type": "status",
|
||||||
"data": {
|
"data": {
|
||||||
"action": "web_search",
|
"action": "web_search",
|
||||||
"description": 'Searching "{{searchQuery}}"',
|
"description": "Searching the web",
|
||||||
"query": searchQuery,
|
|
||||||
"done": False,
|
"done": False,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
gathered_results = await asyncio.gather(
|
||||||
results = await process_web_search(
|
*(
|
||||||
|
process_web_search(
|
||||||
request,
|
request,
|
||||||
SearchForm(
|
SearchForm(**{"query": searchQuery}),
|
||||||
**{
|
|
||||||
"query": searchQuery,
|
|
||||||
}
|
|
||||||
),
|
|
||||||
user=user,
|
user=user,
|
||||||
)
|
)
|
||||||
|
for searchQuery in queries
|
||||||
|
),
|
||||||
|
return_exceptions=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
for searchQuery, results in zip(queries, gathered_results):
|
||||||
|
try:
|
||||||
|
if isinstance(results, Exception):
|
||||||
|
raise Exception(f"Error searching {searchQuery}: {str(results)}")
|
||||||
|
|
||||||
if results:
|
if results:
|
||||||
all_results.append(results)
|
all_results.append(results)
|
||||||
|
@ -683,6 +683,8 @@
|
|||||||
{$i18n.t('No search query generated')}
|
{$i18n.t('No search query generated')}
|
||||||
{:else if status?.description === 'Generating search query'}
|
{:else if status?.description === 'Generating search query'}
|
||||||
{$i18n.t('Generating search query')}
|
{$i18n.t('Generating search query')}
|
||||||
|
{:else if status?.description === 'Searching the web'}
|
||||||
|
{$i18n.t('Searching the web')}
|
||||||
{:else}
|
{:else}
|
||||||
{status?.description}
|
{status?.description}
|
||||||
{/if}
|
{/if}
|
||||||
|
Loading…
Reference in New Issue
Block a user