Messages de bot avec du contenu généré par l’IA
Les étiquettes d’IA, les citations, les boutons de commentaires et les étiquettes de confidentialité dans les messages de votre bot améliorent l’engagement des utilisateurs et favorisent la transparence et la confiance.
- L’étiquette IA permet aux utilisateurs d’identifier que le message a été généré à l’aide de l’IA.
- Citations permet aux utilisateurs de faire référence à la source du message du bot par le biais de citations et de références dans le texte.
- Les boutons de commentaires permettent aux utilisateurs de fournir des commentaires positifs ou négatifs aux messages du bot.
- L’étiquette de confidentialité permet aux utilisateurs de comprendre la confidentialité du message du bot.
Les captures d’écran suivantes montrent comment les messages des bots peuvent être améliorés avec des étiquettes IA, des citations, des boutons de commentaires et des étiquettes de confidentialité :
Remarque
- Les étiquettes d’IA, les citations, les boutons de commentaires et les étiquettes de confidentialité sont disponibles dans la préversion publique pour les développeurs pour les conversations individuelles et de groupe, mais ne sont pas prises en charge dans les canaux.
- Les étiquettes d’IA, les citations, les boutons de commentaires et les étiquettes de confidentialité sont disponibles uniquement dans les clients web et de bureau Teams.
- Les étiquettes d’IA, les citations, les boutons de commentaires et les étiquettes de confidentialité sont disponibles dans les environnements Cloud de la communauté du secteur public (GCC), GCC High et department of Defense (DOD).
Étiquette IA
Une étiquette IA ajoutée à votre message de bot spécifie que le message est généré par l’IA. Les bots IA utilisent des modèles LLM (Large Language Models) qui sont généralement fiables, mais l’ajout d’une étiquette IA évite toute confusion quant à la source des informations.
Ajouter une étiquette IA
Pour un bot créé à l’aide de la bibliothèque IA Teams, une étiquette IA est automatiquement activée pour tous les messages de bot basés sur l’IA dans le ai
module au sein de l’action PredictedSayCommand
. Pour plus d’informations, consultez Interface AIEntity.
Si vous utilisez Microsoft Bot Framework SDK pour générer votre bot, incluez additionalType
sous le entities
tableau de l’objet d’entitémessage
. Voici un exemple d’extrait de code :
await context.sendActivity({
type: ActivityTypes.Message,
text: `Hey! I'm a friendly AI bot. This message is generated by AI.`,
entities: [
{
type: "https://schema.org/Message",
"@type": "Message",
"@context": "https://schema.org",
additionalType: ["AIGeneratedContent"], // Enables AI label
}
]
});
Propriété | Type | Requis | Description |
---|---|---|---|
additionalType |
Tableau | Oui | Active l’étiquette IA dans le message du bot. La seule valeur autorisée est AIGeneratedContent . |
Après l’ajout d’une étiquette IA, le message de votre bot affiche une étiquette générée par l’IA en regard du nom du bot avec une clause d’exclusion de non-responsabilité indiquant que le contenu généré par l’IA peut être incorrect. L’étiquette IA et la clause d’exclusion de responsabilité ne peuvent pas être personnalisées pour les bots basés sur l’IA.
Remarque
L’étiquette générée par l’IA est disponible uniquement lorsque vous envoyez un nouveau message à l’aide de SendActivity
. Si vous mettez à jour un message à l’aide UpdateActivity
de , l’étiquette Modifié est ajoutée.
Gestion des erreurs
Code d'erreur | Description |
---|---|
400 | Plusieurs entités de message racine trouvées sous le entities tableau |
400 | Erreur lors de l’analyse de l’entité de message à partir du entities tableau |
Citations
Il est important de citer les sources du message du bot pour aider les utilisateurs à poser des questions de suivi ou à mener des recherches indépendantes. Citez des sources de données, telles que des fichiers, des messages, des e-mails et des éléments de travail, pour fournir des informations précieuses aux utilisateurs. Les citations sont importantes pour les bots utilisant des techniques telles que la récupération augmentée de génération (RAG).
Les citations à votre message de bot incluent des citations dans le texte, des détails sur la référence de citation et des étiquettes de confidentialité pour le contenu référencé.
- Les citations dans le texte indiquent les numéros de citation ajoutés au message du bot au format [#], chacun correspondant à une référence. Une citation peut être insérée n’importe où dans le texte.
- Les détails de la référence de citation incluent le titre, les mots clés, un résumé, un lien hypertexte et des informations de confidentialité. Les références apparaissent sous forme de fenêtres contextuelles pour chaque citation en texte.
- Les étiquettes de confidentialité aux citations indiquent la confidentialité du contenu de citation référencé et ne sont pas ajoutées automatiquement. Pour ajouter des étiquettes de confidentialité pour les citations, consultez Ajouter une étiquette de confidentialité.
Remarque
- Un maximum de 10 citations sont affichées dans un message.
- Les cartes adaptatives ne sont pas affichées dans la fenêtre contextuelle de citation. Toutefois, les cartes adaptatives peuvent être affichées dans le message du bot.
Ajouter des citations
Pour les bots créés à l’aide de la bibliothèque IA Teams, les citations sont automatiquement ajoutées à un message de bot IA par PredictedSayCommand
action. Vous pouvez également modifier l’action PredictedSayCommand
pour ajouter des citations à votre message de bot. Pour plus d’informations, consultez Interface ClientCitation.
Si vous utilisez le Kit de développement logiciel (SDK) Bot Framework pour générer votre bot, incluez citation
sous le entities
tableau . Voici un exemple d’extrait de code :
await context.sendActivity({
type: ActivityTypes.Message,
text: `Hey I'm a friendly AI bot. This message is generated through AI [1]`, // cite with [1],
entities: [
{
type: "https://schema.org/Message",
"@type": "Message",
"@context": "https://schema.org",
citation: [
{
"@type": "Claim",
position: 1, // Required. Must match the [1] in the text above
appearance: {
"@type": "DigitalDocument",
name: "AI bot", // Title
url: "https://example.com/claim-1", // Hyperlink on the title
abstract: "Excerpt description", // Appears in the citation pop-up window
keywords: ["keyword 1", "keyword 2", "keyword 3"], // Appears in the citation pop-up window
},
},
],
},
],
})
Propriété | Type | Requis | Description |
---|---|---|---|
citation |
Objet | Oui | Détails de la citation. |
citation.@type |
Chaîne | Oui | Objet de la citation. La seule valeur autorisée est Claim . |
citation.position |
Entier | Oui | Affiche le numéro de citation. Les valeurs sont limitées à moins de huit. |
citation.appearance |
Objet | Oui | Informations sur l’apparence de la citation. |
citation.appearance.@type |
Chaîne | Oui | Objet de l’apparence de la citation. La seule valeur autorisée est DigitalDocument . |
citation.appearance.name |
Chaîne | Oui | Titre du contenu référencé. |
citation.appearance.url |
Chaîne | Non | URL du contenu référencé. |
citation.appearance.abstract |
Chaîne | Non | Extrait du contenu référencé et est limité à moins de 1 000 caractères. |
citation.appearance.keywords |
Tableau | Non | Mots clés du contenu référencé. Vous ne pouvez pas ajouter plus de trois mots clés. |
Une fois que vous avez activé les citations, le message du bot inclut des citations et des références dans le texte. Les citations dans le texte affichent les détails de référence lorsque les utilisateurs pointent sur la citation.
Gestion des erreurs
Code d'erreur | Description |
---|---|
400 | Plusieurs entités de message racine trouvées sous le entities tableau |
400 | Erreur lors de l’analyse de l’entité de message à partir du entities tableau |
400 | Message de bot avec plus de 10 citations |
400 | L’objet appearance est vide |
400 | Erreur lors de l’analyse de l’entité de citation avec l’ID : X |
Boutons de commentaires
Les boutons de commentaires dans les messages de bot sont essentiels pour mesurer l’engagement des utilisateurs, identifier les erreurs et obtenir des insights sur les performances de votre bot. Ces insights peuvent mener à des améliorations ciblées et efficaces des fonctionnalités conversationnelles de votre bot. Activez les boutons de commentaires pour permettre aux utilisateurs d’aimer ou de ne pas aimer les messages et de fournir des commentaires détaillés.
Lorsque l’utilisateur sélectionne un bouton de commentaires, un formulaire de commentaires correspondant s’affiche en fonction de la sélection de l’utilisateur.
Les boutons de commentaires se trouvent au pied de page du message du bot et incluent un 👍 bouton (pouce vers le haut) et un 👎 bouton (pouce vers le bas) que l’utilisateur peut choisir. Vous pouvez recueillir des commentaires sur les réponses des bots à partir de conversations en tête-à-tête et de groupe.
Ajouter des boutons de commentaires
Pour un bot créé à l’aide de la bibliothèque d’IA Teams, Teams active les boutons de commentaires pour tous les messages du bot quand enable_feedback_loop
est défini sur true
dans le ai
module.
export const app = new Application<ApplicationTurnState>({
ai: {
planner: planner,
enable_feedback_loop: true
},
Pour plus d’informations, consultez la variable d’application const.
Une fois que vous avez activé les boutons de commentaires, toutes les commandes SAY du bot sont feedbackLoopEnabled
automatiquement définies sur true
dans l’objet channelData
.
Pour activer les boutons de commentaires dans un bot créé à l’aide du Kit de développement logiciel (SDK) Bot Framework, ajoutez un channelData
objet dans votre message de bot et définissez la valeur de feedbackLoopEnabled
true
sur .
await context.sendActivity({
type: ActivityTypes.Message,
text: `Hey! I'm a friendly AI bot!`,
channelData: {
feedbackLoopEnabled: true // Enable feedback buttons
},
});
Propriété | Type | Requis | Description |
---|---|---|---|
feedbackLoopEnabled |
Boolean | Oui | Active les boutons de commentaires dans le message du bot |
Gérer les commentaires
Le bot reçoit l’entrée de l’utilisateur, reçue dans le formulaire de commentaires, par le biais d’un flux d’appel de bot.
Pour un bot créé à l’aide de la bibliothèque IA Teams, l’appel de bot reçu est géré automatiquement. Pour gérer les commentaires, utilisez la app.feedbackLoop
méthode pour inscrire un gestionnaire de boucles de commentaires appelé lorsque l’utilisateur fournit des commentaires.
app.feedbackLoop(async (context, state, feedbackLoopData) => {
// custom logic here...
});
Pour plus d’informations, consultez la fonction de rappel asynchrone.
Pour un bot créé à l’aide du Kit de développement logiciel (SDK) Bot Framework, vous devez disposer d’un onInvokeActivity
gestionnaire pour traiter les commentaires. Veillez à renvoyer un code status 200 avec un objet JSON vide en tant que réponse.
L’extrait de code suivant montre comment gérer les commentaires reçus dans un appel de bot et retourner une réponse avec le code status 200 :
public async onInvokeActivity(context: TurnContext): Promise<InvokeResponse> {
try {
switch (context.activity.name) {
case "message/submitAction":
console.log('Your feedback is ' + JSON.stringify(context.activity.value))
// Your feedback is {"actionName":"feedback","actionValue":{"reaction":"like","feedback":"{\"feedbackText\":\"This is my feedback.\"}"}}
return CreateInvokeResponse(200, {});
default:
return {
status: 200,
body: `Unknown invoke activity handled as default- ${context.activity.name}`,
};
}
} catch (err) {
console.log(`Error in onInvokeActivity: ${err}`);
return {
status: 500,
body: `Invoke activity received- ${context.activity.name}`,
};
}
}
export const CreateInvokeResponse = (
status: number,
body?: unknown
): InvokeResponse => {
return { status, body };
};
Il est important de stocker les commentaires une fois que vous les avez reçus. Par conséquent, veillez à stocker les ID de message et le contenu des messages que votre bot envoie et reçoit. Lorsque votre bot reçoit un appel contenant des commentaires, faites correspondre l’ID du message du bot avec les commentaires correspondants.
Remarque
Teams ne stocke ni ne traite les commentaires, ni ne fournit pas d’API ou de mécanisme de stockage.
Si un utilisateur désinstalle votre bot et a toujours accès à la conversation du bot, Teams supprime les boutons de commentaires des messages du bot pour empêcher l’utilisateur de fournir des commentaires au bot.
Gestion des erreurs
Code d'erreur | Description |
---|---|
400 |
message/submitAction invoke response n’est pas vide. |
Étiquette de confidentialité
Les réponses du bot peuvent contenir des informations confidentielles ou accessibles uniquement à certaines personnes au sein du organization. Vous devez ajouter une étiquette de confidentialité pour aider les utilisateurs à identifier la confidentialité d’un message, ce qui leur permet de faire preuve de prudence lors du partage du message.
Remarque
Ajoutez une étiquette de confidentialité aux messages de votre bot uniquement lorsqu’ils contiennent des informations sensibles.
Ajouter une étiquette de confidentialité
Pour les bots créés à l’aide de la bibliothèque IA Teams, les étiquettes de confidentialité peuvent être ajoutées par PredictedSayCommand
action. Pour plus d’informations, consultez Interface SensitivityUsageInfo.
Pour les bots créés à l’aide du Kit de développement logiciel (SDK) Bot Framework, ajoutez une étiquette de confidentialité à votre message de bot en modifiant le message à inclure usageInfo
dans l’objet entities
.
L’extrait de code suivant montre comment ajouter des étiquettes de confidentialité aux messages de bot et aux références de citation :
await context.sendActivity({
type: ActivityTypes.Message,
text: `Hey, I'm a friendly AI bot. This message is generated through AI [1]`,
entities: [
{
type: "https://schema.org/Message",
"@type": "Message",
"@context": "https://schema.org",
usageInfo: {
"@type": "CreativeWork",
name: "Sensitivity title",
description: "Sensitivity description",
},
},
],
});
Propriété | Type | Requis | Description |
---|---|---|---|
usageInfo.@type |
Chaîne | Oui | Active l’étiquette de confidentialité dans le message du bot. |
citation.usageInfo.@id |
Chaîne | Oui | Active l’étiquette de confidentialité dans la référence de citation. Elle est requise lors de l’ajout d’une étiquette de confidentialité à la référence de citation. |
usageInfo.name |
Chaîne | Oui | Spécifie le titre de l’étiquette de confidentialité. |
usageInfo.description |
Chaîne | Non | Spécifie le message de fenêtre contextuelle qui s’affiche lorsqu’un utilisateur pointe sur l’étiquette de confidentialité. |
Une fois l’étiquette de confidentialité ajoutée, votre message de bot contient une icône de bouclier. Les utilisateurs peuvent pointer sur l’icône pour rechercher une clause d’exclusion de responsabilité sur la sensibilité du message.
Gestion des erreurs
Code d'erreur | Description |
---|---|
400 | Plusieurs entités de message racine trouvées sous le entities tableau |
400 | Erreur lors de l’analyse de l’entité de message à partir du entities tableau |
400 | La valeur du niveau usageInfo.@id de citation ne correspond pas au niveau usageInfo.@id du message dans au moins un instance |
400 | Il existe plusieurs propriétés au niveau usageInfo de la citation avec le même @id , mais leurs name propriétés et description sont différentes. |
Modifier PredictedSayCommand
Pour un bot créé à l’aide de la bibliothèque IA Teams, le fournit un contrôle sur la PredictedSayCommand
façon dont l’étiquette IA, les citations, les boutons de commentaires et les étiquettes de confidentialité sont ajoutés à l’activité du bot. Voici l’extrait de code à modifier PredictedSayCommand
:
app.ai.action<PredictedSayCommand>(AI.SayCommandActionName, async (context, state, data, action) => {
// custom logic here...
await context.sendActivity(data.content);
return "";
});
Pour plus d’informations sur , consultez l’interface PredictedSayCommand
PredictedSayCommand.
Exemple de code
Exemple de nom | Description | Node.js | C# |
---|---|---|---|
Bot de conversation Teams | Cet exemple d’application affiche l’étiquette IA, les citations, les boutons de commentaires et les étiquettes de confidentialité dans les messages. | View | |
TeamsAzureOpenAI | Ce bot conversationnel utilise la bibliothèque IA Teams et contient l’étiquette IA, les boutons de commentaires, l’étiquette de confidentialité et les citations dans ses messages générés. | View |