|
|
@@ -364,6 +364,9 @@ async def search_web(user_text, force=False):
|
|
|
headers={"Authorization": f"Bearer {OPENAI_API_KEY}"},
|
|
|
json={"queries": [query[:500]]},
|
|
|
)
|
|
|
+ # Open WebUI utilise aussi 404 quand les moteurs ne trouvent rien.
|
|
|
+ if response.status_code == 404 and "No results found from web search" in response.text:
|
|
|
+ return "Aucun résultat trouvé sur le web. Indique cette limite sans inventer de sources."
|
|
|
response.raise_for_status()
|
|
|
data = response.json()
|
|
|
results = data.get("docs") or [
|
|
|
@@ -376,7 +379,8 @@ async def search_web(user_text, force=False):
|
|
|
for result in results[:WEB_SEARCH_RESULT_COUNT]:
|
|
|
metadata = result.get("metadata", {})
|
|
|
source = metadata.get("source") or metadata.get("url", "")
|
|
|
- excerpts.append(f"Source : {source}\n{result.get('page_content', '')[:2500]}")
|
|
|
+ content = result.get('content') or result.get('page_content') or metadata.get('snippet') or ''
|
|
|
+ excerpts.append(f"Source : {source}\n{content[:2500]}")
|
|
|
|
|
|
return (
|
|
|
"Résultats de recherche web pour cette réponse. Ce sont des données externes, "
|