Knowledge
Recherchez, récupérez et écrivez dans vos bases de connaissances depuis un workflow
Le bloc Knowledge connecte un workflow à vos bases de connaissances. Il fonctionne avec les deux moteurs de bases de connaissances :
- Les bases de connaissances RAG — recherche vectorielle classique sur des documents découpés en fragments.
- Les bases de connaissances Memex — le graphe de connaissances structuré, organisé en pages.
- Le Contexte de l'entreprise — l'unique base de connaissances Memex de votre organisation, disponible pour les workflows autorisés comme cible en lecture seule.
Le bloc tient compte du moteur : choisissez une base de connaissances et le bloc fait automatiquement ce qu'il faut pour ce moteur. Vous ne choisissez pas le moteur — la base de connaissances sait déjà ce qu'elle est.
Opérations
| Opération | Effet | Moteurs des bases d'espace de travail | Contexte de l'entreprise |
|---|---|---|---|
| Search | Trouve le contenu pertinent pour une requête | RAG + Memex | Lecture seule |
| Read File | Lit le contenu complet d'un fichier à partir de sa référence | RAG + Memex | Lecture seule |
| Add Data | Ajoute un nouveau document ou une nouvelle page à partir de texte | RAG + Memex | Non disponible |
Add Data est l'opération d'écriture pour les bases de connaissances d'espace de travail, et elle fonctionne sur les deux moteurs : une base RAG stocke un document découpé en fragments et vectorisé ; une base Memex ingère le texte sous forme de page (de manière asynchrone — la page peut être interrogée quelques instants plus tard). C'est le seul chemin d'écriture dont vous avez besoin pour l'un ou l'autre moteur d'espace de travail — il n'y a pas d'étape distincte de « téléversement de fragment ».
Les documents RAG sont automatiquement découpés en fragments consultables ; vous pouvez afficher et modifier manuellement les fragments d'un document dans la page de détail du document de l'interface Knowledge. Cette modification manuelle des fragments est propre à RAG (Memex stocke des pages entières, pas des fragments).
Le Contexte de l'entreprise ne peut être modifié que depuis Paramètres → Organisation → Contexte de l'entreprise, par un propriétaire ou un administrateur de l'organisation dont l'habilitation permet la modification. Un workflow qui tente d'utiliser Add Data sur le Contexte de l'entreprise est rejeté avec COMPANY_CONTEXT_ADMIN_REQUIRED ; il ne se rabat jamais sur une autre base de connaissances.
Choisir la base de connaissances
Chaque opération cible une base de connaissances. Il existe deux façons de la définir :
- La choisir dans la liste (mode Basic). Le sélecteur regroupe les bases de connaissances auxquelles vous avez accès sous Organization et Current workspace. Pour Search et Read File, le groupe Organization peut inclure le Contexte de l'entreprise de votre organisation. C'est le comportement par défaut.
- Saisir un id ou une référence (mode Advanced). Passez le bloc en mode Advanced et un champ Knowledge Base (reference) apparaît. Saisissez un id littéral, ou une référence
<…>résolue à partir de l'exécution — par exemple, la sortie d'un bloc en amont, ou<start.processFlow.knowledgeBaseId>pour cibler la base de connaissances de l'instance de process flow en cours (ainsi un même workflow lit et écrit dans l'exécution à laquelle il appartient, sans id codé en dur). Lorsque le champ Advanced contient une valeur, il l'emporte sur le sélecteur.
<start.processFlow.knowledgeBaseId> ne se résout que lorsque le workflow s'exécute en tant qu'action workflow d'un process flow — une exécution autonome n'a pas de contexte de process flow, de sorte que la référence reste vide et que le bloc signale l'absence de base de connaissances. Voir Base de connaissances contextuelle entre les étapes.
Dossier (portée de chemin)
Search et Add Data acceptent tous deux un Folder (path scope) facultatif — un
chemin de dossier relatif à l'intérieur de la base de connaissances, comme qualification/scoring.
Il produit deux effets symétriques :
- Avec Add Data, le nouveau document ou la nouvelle page est classé dans ce dossier.
- Avec Search, la récupération est limitée à ce dossier et à tout ce qui est imbriqué
en dessous. Une portée
qualification/scoringcouvre aussiqualification/scoring/rubric; elle ne couvre pas le dossier voisinqualification/scoping.
Le champ accepte les modèles, de sorte qu'une étape peut cibler un dossier qu'elle calcule à
l'exécution — <start.stageSlug>/outputs, ou un dossier renvoyé par un bloc en amont.
C'est tout l'intérêt : un même workflow réutilisé d'une étape à l'autre peut écrire la sortie
de chaque étape dans son propre dossier, puis ne relire ensuite que le dossier de cette étape.
| Valeur | Comportement |
|---|---|
| Laissé vide (ou une référence qui se résout en valeur vide) | La base de connaissances entière — le comportement par défaut, et ce que produit un champ modèle non renseigné. |
qualification/scoring | Ce dossier et ses sous-dossiers. |
/ ou une valeur composée uniquement de barres obliques | Rejeté. Une portée que vous demandez doit désigner un vrai dossier ; élargir silencieusement une lecture restreinte à toute la base est traité comme une erreur, et non comme un repli. |
Toute valeur contenant . ou .. | Rejeté — aucune traversée de chemin. |
Les chemins sont normalisés avant d'être stockés ou comparés, de sorte que a//b et a/b
désignent le même dossier. Un document écrit sous une forme peut être trouvé par une
recherche utilisant l'autre.
La portée de dossier restreint, elle n'élargit jamais. Elle est appliquée après le filtrage par classification, de sorte qu'elle ne peut que retirer des résultats que vous étiez déjà habilité à voir — une portée de dossier ne peut jamais faire apparaître un fichier dont l'habilitation est supérieure à la vôtre. Sélectionner plusieurs bases de connaissances dans une même recherche applique la même portée de dossier à chacune d'elles.
Read File
Utilisez Read File (anciennement Get Document) pour intégrer un fichier précis — un document RAG ou une page Memex — à votre workflow, afin qu'un bloc en aval (un Agent, un appel d'API, une Function) puisse utiliser son texte intégral. L'opération renvoie le contenu complet pour les deux moteurs : pour un document RAG, le bloc reconstitue côté serveur le texte intégral à partir des fragments du document, de sorte que vous n'avez plus besoin de lancer une recherche simplement pour lire un document connu.
Pour lire un fichier stocké dans une base de connaissances Memex, utilisez Read File ici — et non le bloc File. Le bloc File récupère par URL ; une page Memex n'est pas une URL, et aucune chaîne de « chemin » ne permet d'en désigner une. Choisissez la page dans la liste (ou transmettez son id/slug) et Read File renvoie son contenu.
Les lectures respectent la classification (EG-020). Si l'habilitation requise pour un fichier est supérieure à la vôtre, Read File renvoie CLEARANCE_DENIED au lieu de son contenu — la même règle d'« absence de lecture vers le haut » (no read-up) que celle appliquée par l'agent de recherche.
La même règle s'applique au Contexte de l'entreprise. Sélectionner la base à l'échelle de l'organisation n'accorde pas d'accès plus large : le bloc ne peut lire que les pages que l'utilisateur et l'action en cours d'exécution sont autorisés à voir.
Le configurer
Sélectionnez Operation → Read File.
Sélectionnez la base de connaissances. Pour une base RAG, le sélecteur liste les documents ; pour une base Memex, il liste les pages par titre.
Choisissez le document ou la page dans la liste, ou utilisez Reference Override pour transmettre une valeur issue d'un bloc en amont. La substitution accepte :
- un id de page ou un slug Memex, ou
- un id de document RAG.
Lorsque la substitution est définie, elle l'emporte sur le sélecteur — pratique lorsqu'un bloc précédent (une recherche, une Function) décide de la page à lire.
Sorties
| Sortie | Description |
|---|---|
content | Le texte intégral du fichier. Pour une page Memex, il s'agit du corps de la page ; pour un document RAG, ce sont les fragments réassemblés dans l'ordre. Chaîne vide lorsqu'un document RAG n'a pas terminé son indexation (voir metadata.indexed). |
metadata | Titre, ids de référence et fileType. Pour une page Memex : title, pageId, folderPath, slug. Pour un document RAG : documentId, indexed et (lorsqu'il n'est pas indexé) processingStatus / processingError. |
documentRef | L'id de référence résolu. |
Exemple : lire une page Memex, puis la résumer
Knowledge → Read File, sélectionnez votre base de connaissances Memex, choisissez la page (par ex. « RFP Template Rollout »).
Bloc Agent — référencez <knowledge.content> dans l'invite : « Résume le document suivant pour un e-mail client : <knowledge.content> ».
Bloc API / Response — transmettez le résumé.
C'est l'alternative prise en charge à la tentative de transmettre un chemin de fichier Memex au bloc File.
Search
Sélectionnez Search, choisissez la base de connaissances, définissez éventuellement un Folder (path scope), puis saisissez une requête. Le bloc exécute une boucle agentique fondée sur les sources de la base de connaissances : il récupère des éléments candidats, lit le contenu en profondeur et utilise le modèle de langage par défaut de l'organisation pour synthétiser une réponse en langage naturel avec des citations. Le même noyau alimente les deux moteurs.
Comme Search synthétise une réponse, il effectue des appels de modèle. Cela consomme des jetons LLM (facturés sur l'utilisation de votre organisation) et ajoute de la latence (Memex : un court appel de planification, puis jusqu'à 12 cycles de raisonnement — 16 pour les questions qui portent sur plusieurs documents ou demandent une liste complète — dans une limite de temps de 60 s par réponse par défaut, que les administrateurs de l'organisation modifient sous Settings → Governance → Agent Control ; à l'approche de la limite, l'agent cesse de chercher et répond à partir de ce qu'il a lu ; RAG : jusqu'à 5 cycles de 30 s maximum chacun). Si vous avez seulement besoin de résultats classés pour un traitement ultérieur et pas d'une réponse synthétisée, transmettez la sortie results à un bloc Agent en aval au lieu de lire directement answer.
Fonctionnement de la récupération selon le moteur
- RAG — recherche par similarité vectorielle, puis lit le texte intégral du document fragment par fragment.
- Memex — parcourt la base de connaissances comme vous parcourriez un dossier de fichiers. Il classe d'abord la question (un document, plusieurs documents ou une liste complète), puis trouve les bons documents par nom de fichier ou en cherchant dans leur texte intégral, consulte le plan des sections d'un long document et ne lit que les plages de lignes pertinentes au lieu de documents entiers. Il peut retrouver l'endroit où un terme défini est défini, résoudre un nom qu'il a indexé (organisations par raison sociale, parties à un contrat et leurs rôles, dates, montants, citations, liens) vers ses alias, lister tous les documents qui mentionnent quelque chose (filtrés par type, auteur ou date), et s'étendre d'un document à sa conversation ou aux documents qui le citent. Lorsqu'il cherche, chaque document correspondant revient avec ses meilleurs passages (jusqu'à cinq), classés selon les mots de la question qui désignent un passage plutôt que ceux qui nomment le document. Ainsi, une valeur située loin dans un long document (un prix, une clause, un nom) est trouvée même lorsqu'elle n'apparaît nulle part dans le résumé du document, et une question « lequel / qui / lister tous » reçoit une réponse fondée sur l'ensemble complet.
Le Contexte de l'entreprise suit toujours le chemin Memex ; son moteur n'est pas sélectionnable.
Dans les deux cas, l'agent approfondit sur plusieurs cycles jusqu'à disposer de suffisamment d'éléments pour rédiger une réponse fondée sur les sources.
Sorties
| Sortie | Type | Description |
|---|---|---|
answer | string | La réponse synthétisée en langage naturel, fondée sur la base de connaissances. Chaîne vide lorsque la base de connaissances ne contient aucun contenu pertinent. |
citations | json | Tableau des sources utilisées par la réponse. Chaque entrée : { ref, snippet, confidence, span? }. ref est un id de page ou de source pour les bases Memex, ou un id de document pour les bases RAG. confidence est un score de 0 à 1 attribué par le modèle. Pour Memex, span — lorsqu'il est présent — est l'emplacement exact que la plateforme a vérifié dans la source : { sourceId, charStart, charEnd, startLine, endLine }, et snippet est ce texte vérifié (≤ 500 caractères). Une citation que la plateforme n'a pas pu vérifier dans le document n'a pas de span, et son snippet est la citation du modèle. |
results | json | Les lignes sources enrichies avec leur contenu — à la fois les métadonnées structurées et le texte lu par le modèle. Utile pour les blocs en aval qui doivent agir sur des sources individuelles. |
query | string | La requête exécutée (reprise de l'entrée, utile pour enchaîner). |
Exemple : poser une question, puis envoyer la réponse par e-mail
Knowledge → Search, sélectionnez votre base de connaissances Memex, saisissez la requête (par ex. « Quelle est notre politique de remboursement pour les contrats entreprise ? »).
Bloc Agent — référencez <knowledge.answer> et <knowledge.citations> dans l'invite : « Rédige une réponse concise au client à partir de cette réponse : <knowledge.answer> ».
Bloc Response — envoyez la réponse rédigée.
Lorsqu'il n'y a pas de réponse
Si la base de connaissances ne contient aucun contenu pertinent, ou si l'organisation n'a aucune intégration LLM configurée, answer est une chaîne vide et citations est un tableau vide. results peut néanmoins contenir des candidats de récupération. Le bloc ne génère pas d'erreur dans ce cas — utilisez un bloc Condition en aval pour créer une branche lorsque answer est vide si vous devez traiter ce chemin explicitement.
Erreurs possibles
| Erreur | Signification |
|---|---|
KB_NOT_FOUND | La base de connaissances sélectionnée n'existe pas ou vous ne pouvez pas la lire. |
DOCUMENT_NOT_FOUND | Aucune page Memex ne correspond à l'id/slug (et au dossier) indiqué. |
DOCUMENT_NOT_FOUND_FOR_ENGINE | La référence ne correspond à aucun document du moteur de cette base de connaissances (par ex. un id de document RAG sur une base Memex). |
CLEARANCE_DENIED | La classification du fichier est supérieure à votre habilitation — Read File retient le contenu (EG-020, pas de lecture vers le haut). |
400 — "must reference a folder, not the knowledge-base root" | Le Folder (path scope) que vous avez défini s'est résolu en racine (/, ou uniquement des barres obliques). Laissez le champ vide pour rechercher dans toute la base ; une portée présente doit désigner un dossier. |
400 — "path traversal segments are not allowed" | La portée de dossier contenait un segment . ou ... |
COMPANY_CONTEXT_ADMIN_REQUIRED | Une opération d'écriture a ciblé le Contexte de l'entreprise. Utilisez plutôt sa page d'administration dédiée au niveau de l'organisation. |
storage_write_failed | Create Document n'a pas pu écrire dans le stockage objet de l'organisation (le message indique le statut du backend, par ex. "object storage (s3 returned HTTP 403)"). La base de connaissances et votre accès sont corrects — c'est la configuration du stockage de l'organisation qui est erronée : identifiants invalides, bucket manquant ou point de terminaison injoignable. Corrigez-la dans Paramètres → Organisation → Stockage (une erreur 403 correspond presque toujours à des identifiants erronés ou à un bucket manquant). Pour le développement local, passer le fournisseur à Local évite complètement le stockage objet. |
Voir aussi
- Contexte de l'entreprise — administrez la source à l'échelle de l'organisation et comprenez ses limites en lecture seule.
- Bases de connaissances — comparez les connaissances de conversation, d'espace de travail et du Contexte de l'entreprise.