Преглед на файлове

Corriger les extraits Open WebUI et les recherches sans résultat

Andy Esnard преди 1 ден
родител
ревизия
257a3a2c5a
променени са 1 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 5 1
      chatbot.py

+ 5 - 1
chatbot.py

@@ -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, "