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 :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.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
É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
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.

