# MetaBot

## Définition

Le metabot est une fonctionnalité qui permet d’interroger plusieurs bots en même temps et de déterminer la meilleure réponse à donner à l’utilisateur final. Le metabot est matérialisé par la création d’un bot parent, auquel on rattache plusieurs bots enfants.

Quelle que soit la nature de sa question, l'utilisateur a un seul point d’entrée pour la poser. Quant aux gestionnaires des bases de connaissances, ils ne gèrent que les bots dont ils sont responsables. Le déploiement d’un metabot se fait en [un clic](#configuration-metabot), il suffit d’avoir plusieurs bots et d’activer l’option metabot dans la solution dydu.

Par exemple, une entreprise peut avoir un bot général (MetaBot), et 2 bot enfants : un bot IT et un bot RH. Quand un employé parle avec le bot général de l'entreprise, les 2 bots sont interrogés sans notifier l'utilisateur. L'utilisateur reçoit simplement la réponse.

<figure><img src="/files/Sth2Tj16TWMU8rBV68DG" alt=""><figcaption></figcaption></figure>

## Arbitrage des réponses&#x20;

Le mode d'arbitrage définit comment les résultats de [matching](#matching-en-fonction-du-mode-darbitrage) de tous les bots qui composent le Metabot seront arbitrés. Il est possible de choisir entre deux modes d'arbitrage.&#x20;

Priorisation :&#x20;

Il s’agit de lister le bots enfant par ordre de priorité. Tous seront interrogés par le bot parent. S'il y a des correspondances directes sur plusieurs bots enfant alors la réponse du bot le plus haut dans la liste sera affiché

Sélection :

Tous les bots sont interrogés. S'il y a des correspondances directes sur plusieurs bots enfant alors l'utilisateur final devra choisir , parmi ces bots , lequel il souhaite interroger.

## Matching en fonction du mode d'arbitrage

Le matching (donc les résultats du bot) dépend du mode d'artbitrage :&#x20;

<figure><img src="/files/NVYFKVSzCBUmWHlmwzjL" alt=""><figcaption></figcaption></figure>

## Gestion de la base de connaissances Metabot:&#x20;

### A partir de contenus > connaissances :&#x20;

Dans un contexte Metabot, lorsqu’on ajoute une reformulation dans une réponse, il est possible d'identifier à quel bot la reformulation appartient.

<figure><img src="/files/kbZTHWvRYcYhgxLVSLcd" alt=""><figcaption></figcaption></figure>

### A partir d'apprentissage > conversations :

{% hint style="info" %}
Le knowledge manager ne peut voir ni compléter/créer une connaissance d’un bot enfant sur lequel il n’a pas les droits.
{% endhint %}

L’ensemble des conversations menées dans le cadre d’un MetaBot est enregistré dans les conversations du bot Parent.&#x20;

Les conversations sont distribuées sur le bot enfant si au moins une des interactions de la conversation vient des connaissances du bot enfant.

Le nom du bot sollicité pour l'interaction est affiché sur la conversation. Le nom du bot ne s’affiche pas si le filtre “concerne uniquement” est appliqué dans la conversation ouverte.&#x20;

Depuis le bot Parent, il est possible de filtrer par bot enfant.  Cela permet d’afficher, pour le bot enfant sélectionné, uniquement les conversations dont au moins une interaction a fait appel à une de ses connaissances.

<figure><img src="/files/ROz10Sl0aXIU6PlTz0RP" alt=""><figcaption></figcaption></figure>

### A partir de statistique > exploitation > conversations :&#x20;

Dans le cadre du MetaBot, il est possible de filtrer les statistiques sur le bot enfant. Les utilisateurs disposent des stats générales via le bot parent ainsi que des stats détaillées via le bot enfant.

Par exemple, quand je suis sur le bot parent (Documentation), je vois 2 conversations, lorsque je filtre sur Childbot\_A je ne vois plus qu’une seule conversation. Je retrouve cette même conversation dans les statistiques.

<figure><img src="/files/ztGChH1xv707fJgaikYR" alt=""><figcaption></figcaption></figure>

## Configuration METABOT

Pour activer cette option, suivez les étapes suivantes :

1. Dirigez-vous sur la page **Préférences > Bot > Général**.
2. Vérifier l'option **Activer Metabot**.
3. Cliquez sur **Mettre à jour**. Un nouveau sous-menu **Personnalités** apparaît en haut de la page.

<figure><img src="/files/TE9VfWnkWVEHs96jYhKY" alt=""><figcaption></figcaption></figure>

Remarque : vous pouvez supprimer la base sociale présente par défaut. Cela désactivera définitivement la connaissance sociale du bot social.

Pour ajouter un nouveau bot à votre MetaBot, cliquez sur **Ajouter**, puis configurez les champs :

1. Sélectionnez le bot que vous souhaitez attacher à votre MetaBot
2. Définissez l'étiquette du bot. L'étiquette sera le titre en mode **Sélection**.
3. Définissez le type de bot que vous ajoutez :

* **Public** : permet au bot de répondre immédiatement via la boîte de dialogue en cours.
* **Social** : permet au bot de répondre immédiatement via la boîte de dialogue actuelle. Ce bot de type **Social** n'est pas considéré comme un bot de terrain. Les interactions ne sont pas comptées comme des interactions commerciales.

4. Cliquez sur le la coche bleue pour valider.

Vous pouvez aussi changer le **Mode d'arbitrage du MetaBot**. Pour ce faire, deux modes vous sont proposés :

* Le mode **Sélection** : si plusieurs bots ont la réponse à la requête de l'utilisateur, l'utilisateur pourra sélectionner le bot dont il veut la réponse.
* Le mode **Prioritaire** : si plusieurs bots ont la réponse à la demande de l'utilisateur, le bot le mieux classé dans la liste sera prioritaire.

Remarque : lorsqu'une connaissance avec des conditions contextuelles contient des réponses qui ne sont pas configurées/validées dans la branche, le bot renvoie la connaissance la plus proche avec une réponse valide.

{% hint style="info" %}
N'oubliez pas de cliquer sur **Mettre à jour** pour valider les modifications.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dydu.ai/integrations/metabot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
