Lors du déploiement d'un assistant conversationnel basé sur l'intelligence artificielle au sein d'une organisation, les gestionnaires de connaissances et les administrateurs de systèmes se heurtent à un obstacle majeur : les modèles de langage standards n'ont aucune visibilité sur la documentation interne de l'entreprise et, en l'absence de faits vérifiés, génèrent fréquemment des hallucinations. Cohere Coral et la famille de modèles Command surmontent cette difficulté grâce à une architecture de génération augmentée par récupération (RAG) articulée autour des connecteurs de données (Data Connectors).
Les connecteurs de données Cohere agissent comme une passerelle HTTP sécurisée entre les modèles de langage et les référentiels documentaires internes de l'entreprise. Que les connaissances résident dans des clusters Elasticsearch, des index OpenSearch, des espaces Confluence, des pages Notion, des conteneurs de stockage cloud ou des bases de données vectorielles dédiées, ces connecteurs permettent au modèle de récupérer dynamiquement les extraits pertinents et de formuler des réponses étayées par des citations vérifiables par machine.
Fonctionnement architectural : comment Coral interagit avec les sources internes
Pour concevoir et maintenir des connecteurs stables, les gestionnaires de connaissances doivent maîtriser le cheminement des requêtes entre l'utilisateur, Cohere Coral et le référentiel d'entreprise :
- Analyse de la question et formulation des recherches : Lorsqu'un collaborateur pose une question dans l'interface Coral ou via la Chat API, Cohere analyse l'historique de la conversation. Plutôt que de transmettre la question brute au système interne, le modèle Command génère une ou plusieurs requêtes de recherche ciblées (
search_queries), optimisées pour les moteurs d'indexation. - Appel du connecteur : Cohere transmet des requêtes HTTP authentifiées au point de terminaison
/searchdu connecteur enregistré, en transmettant les expressions de recherche générées. - Récupération documentaire interne : Le microservice du connecteur interroge le moteur de recherche interne (recherche lexicale BM25, recherche vectorielle dense ou approche hybride), met en forme les résultats dans un schéma JSON standardisé et les renvoie à Cohere.
- Injection de contexte et reclassement : Cohere extrait les extraits textuels et les insère dans la fenêtre de contexte du modèle. Les règles d'exclusion de champs (
excludes) permettent de retirer les identifiants techniques ou métadonnées de routage pour réduire la consommation de jetons. - Génération ancrée et enrichie de citations : Le modèle rédige la réponse finale en se basant strictement sur les documents récupérés. L'objet de réponse comporte un tableau structuré de
citationsconsignant les positions précises des caractères (startetend), associées aux identifiants des documents et à leurs URL. Dans l'interface Coral, ces données se traduisent par des renvois cliquables permettant aux collaborateurs de vérifier immédiatement les affirmations dans les documents originaux.
Étape 1 : Implémenter le service API de recherche du connecteur
Un connecteur de données Cohere est un service web HTTP autonome exposant un point de terminaison de recherche. Les équipes techniques peuvent le développer en Python (via FastAPI ou Flask) ou le déployer dans un conteneur Docker au sein de leur cloud privé. Cohere met à disposition des modèles de référence dans le dépôt open source quick-start-connectors pour des outils comme Elasticsearch, Pinecone, Google Drive et GitHub.
Format attendu pour le point de terminaison de recherche
Le service doit traiter les requêtes de recherche et retourner une réponse JSON comportant un tableau results. Chaque élément doit inclure des champs standards :
{
"results": [
{
"id": "kb-policy-4091",
"title": "Politique de sécurité de l'information et de contrôle d'accès",
"text": "Tous les collaborateurs doivent réaliser des revues trimestrielles de leurs accès. Les privilèges d'administration sur l'infrastructure cloud exigent un jeton MFA matériel et l'approbation du directeur SecOps.",
"url": "https://wiki.corp.internal/policies/infosec-access-control"
},
{
"id": "kb-handbook-1024",
"title": "Standard de télétravail et de protection des données",
"text": "Le code propriétaire et les documents internes ne doivent pas être copiés sur des supports de stockage personnels. Le trafic réseau doit impérativement transiter par la passerelle VPN WireGuard.",
"url": "https://wiki.corp.internal/handbook/data-protection"
}
]
}
Bonnes pratiques de découpage (chunking) et de qualité
L'exactitude des réponses de Coral dépend directement de la pertinence des extraits transmis :
- Taille des segments : Privilégiez des segments textuels compris entre 250 et 500 mots. Un découpage trop large dilue la densité sémantique et augmente les coûts de traitement ; un découpage trop court tronque le contexte indispensable.
- Préservation des métadonnées de structure : Conservez les titres de documents, les services concernés et l'arborescence des rubriques dans chaque extrait afin d'aider le modèle à distinguer les consignes spécifiques selon les départements.
- Liens d'ancrage direct : Renseignez le champ
urlavec des liens pointant vers l'ancre ou le paragraphe précis de la documentation interne, facilitant ainsi la vérification par le lecteur.
Étape 2 : Configurer l'authentification et la gestion des accès
Les bases documentaires d'entreprise contiennent fréquemment des données confidentielles (RH, finance, juridique) auxquelles tous les employés n'ont pas accès. Cohere prend en charge deux modèles d'authentification :
1. Authentification de service à service (service_auth)
Idéale lorsque le connecteur interroge des référentiels partagés par l'ensemble des employés (comme le livret d'accueil, les guides pratiques RH généraux ou la documentation de support informatique). Cohere joint un jeton Bearer statique prédéfini dans l'en-tête HTTP à chaque interrogation de /search.
2. Authentification au niveau de l'utilisateur avec OAuth 2.0 (oauth)
Indispensable pour les référentiels appliquant des listes de contrôle d'accès (ACL) granulaires, tels que Google Workspace, Confluence ou les systèmes RH :
- Lorsque le collaborateur ouvre Coral, un parcours d'autorisation s'enclenche via le fournisseur d'identité d'entreprise (SSO).
- Cohere gère de manière sécurisée le jeton d'accès OAuth de l'utilisateur et le transmet dans les requêtes vers le connecteur.
- Le connecteur exécute la recherche interne sous l'identité et les droits spécifiques du collaborateur, empêchant ainsi l'introduction de documents non autorisés dans le contexte du modèle.
Étape 3 : Enregistrer le connecteur sur la plateforme Cohere
Dès que le microservice de recherche est fonctionnel et joignable via HTTPS, l'administrateur l'enregistre auprès de l'API Cohere au moyen d'un appel POST adressé à https://api.cohere.com/v1/connectors.
Exemple d'appel d'enregistrement avec cURL
curl https://api.cohere.com/v1/connectors \
-H "Authorization: Bearer YOUR_COHERE_API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"name": "internal-knowledge-hub",
"description": "Documentation technique interne, procédures opérationnelles standard et politiques d'entreprise.",
"url": "https://connector.corp.internal/search",
"active": true,
"service_auth": {
"type": "bearer",
"token": "CORP_CONNECTOR_SECRET_TOKEN"
},
"excludes": [
"raw_database_id",
"internal_routing_hash"
]
}'
Paramètres de configuration essentiels
name: Nom unique servant à identifier le connecteur dans l'interface de gestion de Coral et dans les appels à la Chat API.url: Adresse du point de terminaison de recherche. Lors de l'enregistrement, Cohere exécute immédiatement un test de connectivité. Tout délai d'attente dépassé ou code HTTP différent de 200 interrompt l'enregistrement.excludes: Liste des clés JSON renvoyées par le connecteur qui doivent être exclues du prompt du modèle. Ces attributs ne mobilisent pas de jetons de contexte tout en demeurant accessibles dans l'objet de citation final pour l'interface utilisateur.
Étape 4 : Valider les citations et l'ancrage des réponses
Après l'enregistrement, les gestionnaires de connaissances vérifient la précision des réponses et le bon raccordement des citations via la Chat API ou la console de test de Coral.
Vérification avec le SDK Python
import cohere
co = cohere.Client(api_key="YOUR_COHERE_API_KEY")
response = co.chat(
model="command-r-plus",
message="Quelles sont les exigences relatives au MFA matériel pour l'infrastructure cloud ?",
connectors=[{"id": "internal-knowledge-hub"}]
)
print("Réponse générée :")
print(response.text)
print("\nCitations associées :")
for citation in response.citations:
print(f"[{citation.start}:{citation.end}] '{citation.text}' -> Sources : {citation.document_ids}")
Structure du contenu de réponse
La réponse dissociée délivrée par Cohere isole le texte rédigé des preuves documentaires associées :
{
"text": "L'exercice de privilèges d'administration sur l'infrastructure cloud impose l'usage obligatoire de jetons MFA matériels et l'approbation formelle du directeur SecOps.",
"citations": [
{
"start": 0,
"end": 164,
"text": "L'exercice de privilèges d'administration sur l'infrastructure cloud impose l'usage obligatoire de jetons MFA matériels et l'approbation formelle du directeur SecOps.",
"document_ids": ["internal-knowledge-hub_kb-policy-4091"]
}
],
"documents": [
{
"id": "internal-knowledge-hub_kb-policy-4091",
"title": "Politique de sécurité de l'information et de contrôle d'accès",
"url": "https://wiki.corp.internal/policies/infosec-access-control",
"snippet": "Tous les collaborateurs doivent réaliser des revues trimestrielles de leurs accès. Les privilèges d'administration sur l'infrastructure cloud exigent un jeton MFA matériel et l'approbation du directeur SecOps."
}
]
}
Les indices start et end permettent à l'interface applicative de surligner dynamiquement les phrases justifiées et d'afficher la source au survol ou au clic.
Étape 5 : Recommandations d'exploitation et perspectives architecturales
Pour garantir la pérennité et la réactivité du système en environnement de production, les gestionnaires doivent appliquer les règles suivantes :
Intégration de la recherche hybride et de Cohere Rerank
Les référentiels d'entreprise regorgent d'acronymes, de désignations de projets et de codes de version. La recherche vectorielle pure peut manquer de précision sur les termes stricts, tandis que la recherche lexicale peine sur les requêtes formulées en langage naturel.
- Associez une recherche lexicale (BM25) et une recherche vectorielle (Cohere Embed) au niveau du connecteur.
- Soumettez les 30 à 50 premiers résultats au modèle Cohere Rerank, puis ne transmettez que les 5 à 10 extraits les plus pertinents à Cohere. Cette sélection limite la latence, réduit la facture en jetons et affine la pertinence des citations.
Traitement des requêtes sans données correspondantes
Un assistant d'entreprise crédible doit admettre l'absence d'information plutôt que de formuler des conjectures. Si le score de pertinence des documents internes est inférieur à un seuil défini, le connecteur doit renvoyer un tableau vide (results: []). Les modèles Command sont spécialement entraînés pour signaler l'absence d'éléments probants sans inventer de faits.
Évolution vers l'usage d'outils multi-étapes (Multi-Step Tool Use) et Cohere Toolkit
À mesure que les besoins se diversifient, les entreprises font évoluer leur architecture vers le Multi-Step Tool Use et le cadre open source Cohere Toolkit :
- Les connecteurs y sont définis comme des outils (Tools) appelés successivement par l'agent (par exemple, interroger un ticket Jira, consulter la conception sur Confluence puis vérifier un fichier dans un dépôt de code).
- Pour les structures déployant sur des clouds privés virtuels (AWS Bedrock, Azure, OCI) ou sur des conteneurs isolés, Cohere Toolkit propose une architecture modulaire de microservices qui conserve l'intégralité des flux de récupération et d'inférence à l'intérieur du périmètre réseau sécurisé de l'entreprise.
En respectant ces principes de structuration, de cloisonnement des droits et de liaison des citations, les gestionnaires de connaissances transforment des silos documentaires dispersés en un dispositif de questions-réponses transparent, fiable et vérifiable.