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.
rag_search est la pierre angulaire de la récupération d’information au sein de la plateforme UBIK. Il permet aux agents d’effectuer des recherches en Génération Augmentée par Récupération (RAG) à travers vos documents téléchargés.
Contrairement à une recherche par mot-clé standard, cet outil utilise la compréhension sémantique pour trouver les “morceaux” (chunks) de texte les plus pertinents de votre base de connaissances et utilise un Grand Modèle de Langage (LLM) pour synthétiser une réponse précise basée sur ces faits.
Quand Utiliser Cet Outil
Utilisezrag_search lorsque vous avez besoin de :
- Répondre à des questions spécifiques basées sur vos données privées (par ex., “Quelle est la politique de congés ?”).
- Trouver des faits précis enfouis dans de grands documents.
- Vérifier des informations par rapport à une source fiable.
- Récupérer du contexte pour soutenir une conversation.
Cet outil est optimisé pour la précision de récupération et la génération ancrée. Il n’est pas destiné au traitement de documents entiers ou à la génération de résumés longs (utilisez
information_analysis pour cela).Paramètres d’Entrée
L’outil accepte les paramètres suivants :| Paramètre | Type | Requis | Description |
|---|---|---|---|
query | string | Oui | La question en langage naturel ou la requête de recherche. Soyez aussi précis que possible pour de meilleurs résultats. |
document_ids | array<uuid> | Non | Une liste d’UUIDs de documents spécifiques dans lesquels chercher. Si omis, la recherche s’exécute sur tous les documents accessibles à l’utilisateur/session. |
Portée & Permissions
L’outilrag_search respecte automatiquement le contexte de sécurité de l’exécution :
- Accès Utilisateur : Recherche les documents appartenant à l’utilisateur ou partagés avec lui via des espaces de travail.
- Contexte de Session : Si exécuté au sein d’une session de chat, il inclut les documents attachés à cette session spécifique.
- ID Externe : Pour les applications multi-tenants, il applique strictement les frontières
external_user_id, garantissant que les utilisateurs ne voient jamais les données d’autres sous-utilisateurs.
Structure de Sortie
L’outil renvoie un objet structuré contenant la réponse, les preuves utilisées pour la générer et des métadonnées sur l’exécution.| Champ | Description |
|---|---|
response | La réponse en langage naturel. Peut inclure un bloc “Réflexion” (processus de pensée), du formatage Markdown et des citations en ligne pointant vers des morceaux spécifiques. |
contexts | Une liste des morceaux de texte récupérés passés au LLM. Inclut chunk_id, document_id et text_preview. |
sources_used | Une liste d’indices (rangs) correspondant aux contexts qui ont été explicitement utilisés pour former la réponse. Ces indices sont dérivés des citations (ex: <source_1>) générées par le modèle. |
model | Le LLM spécifique utilisé pour la génération. |
execution_id | L’identifiant unique pour cette exécution d’outil. |
Récupération des Détails des Chunks
La réponse derag_search fournit des chunk_ids dans le tableau contexts. Vous pouvez utiliser ces identifiants pour récupérer des données de localisation précises pour le surlignage ou la navigation dans le document original via l’endpoint GET /chunks/{chunk_id}.
- Obtenir les détails d’un chunk :
GET /chunks/{chunk_id} - Obtenir le document d’un chunk :
GET /chunks/{chunk_id}/document
| Champ | Description |
|---|---|
bbox | Une liste de boîtes englobantes pour le surlignage visuel. Chaque entrée contient les coordonnées [x1, y1, x2, y2] et le page_number spécifique. Note : Certains types de documents (ex: fichiers texte brut, markdown) peuvent ne pas fournir de coordonnées. |
page_number | Le numéro de page principal du chunk (indexé à partir de 1). Null pour les médias temporels. |
start_time / end_time | Horodatages en secondes, utilisés pour la navigation dans les lecteurs audio ou vidéo. |
Événements de Streaming
Lorsqu’il est utilisé en mode streaming, l’outilrag_search émet des événements en temps réel via SSE (Server-Sent Events). Cela permet de suivre la progression du pipeline RAG 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). |
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. |
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 :
-
SEARCH_PREPARATIONstatus:started- Indique que le pipeline a commencé et prépare la recherche.
-
RETRIEVAL(Récupération)status:completeddata:{ "retrieved_count": <int> }- Indique que la recherche vectorielle initiale est terminée et combien de documents ont été trouvés.
-
RERANKING(Réordonnancement)status:completeddata:{ "initial_count": <int>, "reranked_count": <int>, "kept_count": <int> }- Indique que les résultats ont été réordonnés par pertinence.
kept_countest le nombre de documents retenus pour la génération.
-
COMPILING_RESULTS(Génération)status:started- Indique que la génération de la réponse par le LLM 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"
Gestion des Événements Volumineux (Chunking)Si la charge utile d’un événement 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.Exemple de Flux d’Événements
Exemple d’Utilisation
1. Recherche Large
Recherche à travers toutes les connaissances disponibles. Entrée :2. Recherche Ciblée
Recherche uniquement au sein d’un manuel technique spécifique. Entrée :Capacités Multimodales
Le pipelinerag_search est entièrement compatible avec le multimodal. Si vous avez indexé des documents contenant des images (comme des PDF avec des graphiques ou des diapositives), la recherche peut récupérer le contexte visuel pertinent.
- Récupération Texte-vers-Image : Votre requête textuelle peut correspondre à des descriptions d’images.
- Compréhension d’Image : Le modèle de génération peut “voir” les images récupérées pour répondre à des questions sur des graphiques, des diagrammes ou des photos.
Activation RequiseLe RAG multimodal n’est pas activé par défaut. Pour activer cette fonctionnalité pour votre espace de travail, veuillez contacter l’équipe UBIK à contact@ubik-agent.com.

