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 return form_data
searchQuery = queries[0] all_results = []
for searchQuery in queries:
await event_emitter( await event_emitter(
{ {
"type": "status", "type": "status",
@ -336,7 +337,6 @@ async def chat_web_search_handler(
) )
try: try:
results = await process_web_search( results = await process_web_search(
request, request,
SearchForm( SearchForm(
@ -348,19 +348,7 @@ async def chat_web_search_handler(
) )
if results: if results:
await event_emitter( all_results.append(results)
{
"type": "status",
"data": {
"action": "web_search",
"description": "Searched {{count}} sites",
"query": searchQuery,
"urls": results["filenames"],
"done": True,
},
}
)
files = form_data.get("files", []) files = form_data.get("files", [])
if request.app.state.config.RAG_WEB_SEARCH_FULL_CONTEXT: if request.app.state.config.RAG_WEB_SEARCH_FULL_CONTEXT:
@ -382,19 +370,6 @@ async def chat_web_search_handler(
} }
) )
form_data["files"] = files 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: except Exception as e:
log.exception(e) log.exception(e)
await event_emitter( 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 return form_data