enh: web search behaviour

This commit is contained in:
Timothy Jaeryang Baek 2025-02-18 21:29:27 -08:00
parent 5465cabd40
commit 9ca4727573

View File

@ -321,8 +321,9 @@ async def chat_web_search_handler(
)
return form_data
searchQuery = queries[0]
all_results = []
for searchQuery in queries:
await event_emitter(
{
"type": "status",
@ -336,7 +337,6 @@ async def chat_web_search_handler(
)
try:
results = await process_web_search(
request,
SearchForm(
@ -348,19 +348,7 @@ async def chat_web_search_handler(
)
if results:
await event_emitter(
{
"type": "status",
"data": {
"action": "web_search",
"description": "Searched {{count}} sites",
"query": searchQuery,
"urls": results["filenames"],
"done": True,
},
}
)
all_results.append(results)
files = form_data.get("files", [])
if request.app.state.config.RAG_WEB_SEARCH_FULL_CONTEXT:
@ -382,19 +370,6 @@ async def chat_web_search_handler(
}
)
form_data["files"] = files
else:
await event_emitter(
{
"type": "status",
"data": {
"action": "web_search",
"description": "No search results found",
"query": searchQuery,
"done": True,
"error": True,
},
}
)
except Exception as e:
log.exception(e)
await event_emitter(
@ -410,6 +385,36 @@ async def chat_web_search_handler(
}
)
if all_results:
urls = []
for results in all_results:
if "filenames" in results:
urls.extend(results["filenames"])
await event_emitter(
{
"type": "status",
"data": {
"action": "web_search",
"description": "Searched {{count}} sites",
"urls": urls,
"done": True,
},
}
)
else:
await event_emitter(
{
"type": "status",
"data": {
"action": "web_search",
"description": "No search results found",
"done": True,
"error": True,
},
}
)
return form_data