L’outilDocumentation Index
Fetch the complete documentation index at: https://docs.ubik-agent.com/llms.txt
Use this file to discover all available pages before exploring further.
web_search permet aux agents de récupérer, d’analyser et de synthétiser des informations provenant du web en direct. Il va au-delà de la simple correspondance par mots-clés en employant un processus en plusieurs étapes : recherche, extraction du contenu complet (scraping), reclassement sémantique des résultats, et enfin génération d’une réponse sourcée.
Quand Utiliser Cet Outil
Utilisezweb_search lorsque vous avez besoin de :
- Accéder à des Données en Temps Réel : Trouver des informations sur des événements, des prix ou des sorties survenus récemment.
- Vérifier des Faits : Recouper des connaissances internes avec des sources externes.
- Élargir la Recherche : Explorer des sujets en dehors de votre base de connaissances interne.
- Trouver de la Documentation : Consulter les dernières références API ou guides techniques qui pourraient ne pas être dans vos données d’entraînement.
Reranking & QualitéCet outil ne renvoie pas simplement une liste de liens. Il récupère le contenu réel des meilleurs résultats et utilise un modèle spécialisé de “reranker” pour les noter en fonction de la façon dont ils répondent à la requête spécifique de l’utilisateur. Cela garantit des réponses pertinentes et de haute qualité même si les mots-clés de recherche initiaux étaient imparfaits.
Paramètres d’Entrée
L’outil accepte les paramètres suivants :| Paramètre | Type | Requis | Description |
|---|---|---|---|
query | string | Oui | La requête de recherche à envoyer au navigateur web. Soyez précis pour de meilleurs résultats. |
time_range | string | Non | Filtrer les résultats par temps. Options : day, month, year, none (défaut). Utilisez ceci uniquement si l’utilisateur demande explicitement une période. |
whitelisted_domains | array of strings | Non | Une liste de domaines pour filtrer strictement les résultats de recherche. Si fournie, seuls les résultats provenant de ces domaines seront renvoyés. |
Structure de Sortie
L’outil renvoie un objet JSON contenant la réponse synthétisée et les sources utilisées.Champs de Réponse
| Champ | Description |
|---|---|
response | La réponse en langage naturel générée par le modèle, incluant des citations en ligne et potentiellement un bloc “Réflexion” où le modèle planifie sa réponse. |
sources | Une liste des pages web qui ont été analysées. Inclut l’url, le title, un snippet, et un rerank_score indiquant la pertinence. |
sources_used | Un tableau d’entiers correspondant au rank des sources qui ont été explicitement citées dans la réponse. |
model | Le LLM utilisé pour générer la réponse. |
reranker | Le modèle utilisé pour réordonner les résultats de recherche par pertinence. |
execution_id | L’identifiant unique pour cette exécution d’outil. |
Exemple d’Utilisation
Recherche Basique
Entrée :Recherche Filtrée par Temps
Entrée :Liste Blanche et Liste Noire de Domaines
L’outil de Recherche Web prend en charge les listes blanches et listes noires de domaines pour vous donner le contrôle sur les sources d’information. Il existe deux manières distinctes de gérer cela, selon votre configuration :1. Liste Blanche Stricte (Niveau de l’Outil)
Lorsque vous configurez des domaines en liste blanche directement dans les paramètres de l’outil de l’agent, cela applique un filtre strict.- Si un domaine en liste blanche est fourni, l’outil renverra uniquement les résultats de ce domaine spécifique.
- Si le moteur de recherche ne trouve aucun résultat provenant du domaine en liste blanche, aucun résultat ne sera affiché à l’agent.
- C’est idéal lorsque vous voulez garantir absolument que l’agent n’utilise que des informations provenant d’une source spécifique et de confiance (par exemple, la documentation de votre propre entreprise).
2. Contrôle Granulaire et Score Bonus (Navigateur Sécurisé Auto-hébergé)
Si vous souhaitez une approche plus souple — où vous affichez toujours des résultats web généraux mais accordez un “score bonus” aux domaines de confiance, ou si vous souhaitez bloquer complètement certains domaines — vous pouvez utiliser un Navigateur Sécurisé Auto-hébergé. En déployant votre propre instance de navigateur, vous pouvez configurerWHITELISTED_DOMAINS et BLACKLISTED_DOMAINS au niveau du navigateur :
- Domaines en Liste Blanche (Niveau Navigateur) : Le moteur de recherche priorisera activement et donnera un bonus aux résultats de ces domaines, mais il renverra quand même d’autres résultats pertinents si les domaines de confiance n’ont pas la réponse.
- Domaines en Liste Noire : Le moteur de recherche filtrera complètement les résultats de ces domaines (par exemple, pour bloquer les spams connus ou les sites concurrents).
Comment Ça Marche
- Recherche : L’outil interroge un moteur de recherche pour obtenir un large ensemble de résultats initiaux.
- Scraping : Il visite les meilleures URL pour extraire le contenu textuel complet, pas seulement l’extrait de recherche.
- Rerank : Un modèle spécialisé de “reranker” compare la requête de l’utilisateur au texte complet de chaque page pour déterminer lesquelles sont vraiment pertinentes. 4. Générer : Les morceaux de texte les plus pertinents sont passés à un LLM, qui synthétise la réponse finale et ajoute des citations.
Événements de Streaming
Lorsqu’il est utilisé en mode streaming, l’outilweb_search émet des événements en temps réel via SSE (Server-Sent Events). Cela vous permet de suivre la progression du pipeline de recherche et d’afficher la réponse au fur et à mesure de sa génération.
Types d’Événements
| Événement | Description |
|---|---|
tool_update | Indique une mise à jour de progression (changement de phase) ou fournit des données intermédiaires comme les résultats de recherche. |
tool_partial_update | Contient un nouveau fragment de texte de la réponse générée (streaming). |
error | Signale qu’une erreur critique s’est produite pendant l’exécution (par exemple, délai d’attente du moteur de recherche). |
tool_end | Signale la fin de l’exécution de l’outil et fournit le résultat final complet. |
Phases du Pipeline (tool_update)
L’événement tool_update contient un champ data avec une phase et un status. Voici les phases possibles :
-
WEB_SEARCHstatus:started/completeddata:{ "results_count": <int>, "sources": [...] }(à la fin)- Indique la requête initiale au moteur de recherche. Le tableau
sourcescontient les résultats bruts de la recherche :
-
SCRAPING_URLS
-
status:started/completed -
data:{ "url_count": <int> }(au début),{ "scraped_count": <int> }(à la fin) - Indique la récupération du contenu textuel complet à partir des meilleures URL.
-
Fonctionnalité AvancéeLe scraping du contenu complet de la page est une fonctionnalité avancée et est désactivé par défaut. Lorsqu’il est désactivé, l’outil s’appuie uniquement sur les extraits du moteur de recherche. Si vous souhaitez activer le scraping complet des pages pour votre espace de travail, veuillez contacter l’équipe UBIK à contact@ubik-agent.com.
-
RERANKINGstatus:started/completeddata:{ "reranked_count": <int> }(à la fin). Note : Le tableausourcesaffiné est émis dans un événementtool_updateséparé juste après.- Indique que les résultats ont été reclassés par pertinence sémantique. Une fois cette phase terminée, des événements
tool_updatesupplémentaires sont émis contenant le nombre finalreranked_resultset le tableau affinésourcesavec les scores sémantiques :
-
GENERATIONstatus:started/completed- Indique que la génération LLM de la réponse finale commence.
Streaming de Contenu (tool_partial_update)
Pendant la phase de génération, des événements tool_partial_update sont émis pour chaque fragment de texte généré.
content:<string>(Le fragment de texte)output_key:"response"
<source_1> qui sont remplacées par des balises riches <web_citation> à la fin de la génération.
Gestion des Événements Volumineux (Chunking)Si la charge utile d’un événement (comme un grand tableau de résultats de recherche) dépasse la limite de taille SSE, elle sera divisée en plusieurs événements
_delta_sse. Pour des instructions détaillées et des exemples de code sur la façon de mettre en mémoire tampon et de reconstruire ces événements fragmentés, veuillez consulter le Guide des Résultats en Streaming ou le Guide des Événements de Session d’Agent.
