Botnachrichten mit KI-generiertem Inhalt
KI-Bezeichnungen, Zitate, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen in den Nachrichten Ihres Bots verbessern die Benutzerbindung und fördern Transparenz und Vertrauen.
- Mithilfe der KI-Bezeichnung können Benutzer erkennen, dass die Nachricht mithilfe von KI generiert wurde.
- Mit Zitaten können Benutzer auf die Quelle der Botnachricht durch In-Text-Zitate und Verweise verweisen.
- Mithilfe von Feedbackschaltflächen können Benutzer positives oder negatives Feedback zu den Botnachrichten geben.
- Vertraulichkeitsbezeichnung ermöglicht Es Benutzern, die Vertraulichkeit der Botnachricht zu verstehen.
Die folgenden Screenshots zeigen, wie Botnachrichten mit KI-Bezeichnungen, Zitaten, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen erweitert werden können:
Hinweis
- KI-Bezeichnungen, Zitate, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen sind in der öffentlichen Entwicklervorschau für Einzel- und Gruppenchats verfügbar, werden aber in Kanälen nicht unterstützt.
- KI-Bezeichnungen, Zitate, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen sind nur in Teams-Web- und Desktopclients verfügbar.
- KI-Bezeichnungen, Zitate, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen sind in Den Umgebungen Government Community Cloud (GCC), GCC High und Department of Defense (DOD) verfügbar.
KI-Bezeichnung
Eine KI-Bezeichnung, die Ihrer Botnachricht hinzugefügt wurde, gibt an, dass die Nachricht von KI generiert wird. KI-Bots verwenden große Sprachmodelle (Large Language Models, LLMs), die im Allgemeinen zuverlässig sind. Das Hinzufügen einer KI-Bezeichnung verhindert jedoch Verwirrung über die Quelle der Informationen.
Ki-Bezeichnung hinzufügen
Für einen Bot, der mit der Teams KI-Bibliothek erstellt wurde, wird eine KI-Bezeichnung automatisch für alle KI-gestützten Botnachrichten im ai
Modul innerhalb der PredictedSayCommand
Aktion aktiviert. Weitere Informationen finden Sie unter AIEntity-Schnittstelle.
Wenn Sie Microsoft Bot Framework SDK verwenden, um Ihren Bot zu erstellen, fügen Sie additionalType
unter das entities
Array des message
Entitätsobjekts ein. Es folgt ein Beispielcodeausschnitt:
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
}
]
});
Eigenschaft | Typ | Erforderlich | Beschreibung |
---|---|---|---|
additionalType |
Array | Ja | Aktiviert die KI-Bezeichnung in der Botnachricht. Der einzige zulässige Wert ist AIGeneratedContent . |
Nachdem eine KI-Bezeichnung hinzugefügt wurde, zeigt die Meldung Ihres Bots eine KI-generierte Bezeichnung neben dem Namen des Bots mit einem Hover-Haftungsausschluss an, der besagt, dass KI-generierte Inhalte möglicherweise falsch sind. Die KI-Bezeichnung und der Haftungsausschluss können nicht für KI-gestützte Bots angepasst werden.
Hinweis
Die von KI generierte Bezeichnung ist nur verfügbar, wenn Sie eine neue Nachricht mit SendActivity
senden. Wenn Sie eine Nachricht mit UpdateActivity
aktualisieren, wird die Bezeichnung Bearbeitet hinzugefügt.
Fehlerbehandlung
Fehlercode | Beschreibung |
---|---|
400 | Mehrere Stammnachrichtenentitäten unter dem entities Array gefunden |
400 | Fehler beim Analysieren der Nachrichtenentität aus dem entities Array |
Zitate
Es ist wichtig, die Quellen der Botnachricht zu zitieren, um Benutzern zu helfen, Folgefragen zu stellen oder unabhängige Recherchen durchzuführen. Zitieren Sie Datenquellen wie Dateien, Nachrichten, E-Mails und Arbeitselemente, um Benutzern wertvolle Einblicke zu geben. Zitate sind wichtig für Bots, die Techniken wie Retrieval Augmented Generation (RAG) verwenden.
Zitate für Ihre Botnachricht enthalten Textzitate, Details zur Zitatreferenz und Vertraulichkeitsbezeichnungen für den Inhalt, auf den verwiesen wird.
- In-Text-Zitate bezeichnen die Zitatnummern, die der Botnachricht im [#]-Format hinzugefügt wurden, die jeweils einem Verweis entsprechen. Ein Zitat kann an einer beliebigen Stelle innerhalb des Texts eingefügt werden.
- Zu den Details, auf die verwiesen werden soll , gehören der Titel, Schlüsselwörter, ein Abstract, Ein Hyperlink und Vertraulichkeitsinformationen. Verweise werden als Popupfenster für jedes In-Text-Zitat angezeigt.
- Vertraulichkeitsbezeichnungen für Zitate geben die Vertraulichkeit des Zitatinhalts an, auf den verwiesen wird, und werden nicht automatisch hinzugefügt. Informationen zum Hinzufügen von Vertraulichkeitsbezeichnungen für Zitate finden Sie unter Hinzufügen von Vertraulichkeitsbezeichnungen.
Hinweis
- In einer Nachricht werden maximal 10 Zitate angezeigt.
- Adaptive Karten werden nicht im Popupfenster für Zitate gerendert. Adaptive Karten können jedoch in der Nachricht des Bots gerendert werden.
Zitate hinzufügen
Für Bots, die mit der Teams KI-Bibliothek erstellt wurden, werden Zitate automatisch durch PredictedSayCommand
Aktion zu einer KI-Botnachricht hinzugefügt. Sie können die PredictedSayCommand
Aktion auch ändern, um Ihrer Botnachricht Zitate hinzuzufügen. Weitere Informationen finden Sie unter ClientCitation-Schnittstelle.
Wenn Sie das Bot Framework SDK zum Erstellen Ihres Bots verwenden, fügen Sie unter das entities
Array eincitation
. Es folgt ein Beispielcodeausschnitt:
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
},
},
],
},
],
})
Eigenschaft | Typ | Erforderlich | Beschreibung |
---|---|---|---|
citation |
Objekt | Ja | Details des Zitats. |
citation.@type |
String | Ja | Objekt des Zitats. Der einzige zulässige Wert ist Claim . |
citation.position |
Ganze Zahl | Ja | Zeigt die Zitatnummer an. Die Werte sind auf weniger als acht beschränkt. |
citation.appearance |
Objekt | Ja | Informationen über das Aussehen des Zitats. |
citation.appearance.@type |
String | Ja | Objekt der Zitatdarstellung. Der einzige zulässige Wert ist DigitalDocument . |
citation.appearance.name |
String | Ja | Titel des Inhalts, auf den verwiesen wird. |
citation.appearance.url |
String | Nein | URL des Inhalts, auf den verwiesen wird. |
citation.appearance.abstract |
String | Nein | Extrahieren des Inhalts, auf den verwiesen wird, und ist auf weniger als 1.000 Zeichen beschränkt. |
citation.appearance.keywords |
Array | Nein | Schlüsselwörter aus dem Inhalt, auf den verwiesen wird. Sie können nicht mehr als drei Schlüsselwörter hinzufügen. |
Nachdem Sie Zitate aktiviert haben, enthält die Botnachricht In-Text-Zitate und Verweise. Die In-Text-Zitate zeigen die Verweisdetails an, wenn Benutzer mit dem Mauszeiger auf das Zitat zeigen.
Fehlerbehandlung
Fehlercode | Beschreibung |
---|---|
400 | Mehrere Stammnachrichtenentitäten unter dem entities Array gefunden |
400 | Fehler beim Analysieren der Nachrichtenentität aus dem entities Array |
400 | Botnachricht mit mehr als 10 Zitaten |
400 | Das appearance Objekt ist leer. |
400 | Fehler beim Analysieren der Zitatentität mit DER ID: X |
Feedbackschaltflächen
Feedbackschaltflächen in Botnachrichten sind entscheidend, um die Benutzerbindung zu messen, Fehler zu identifizieren und Einblicke in die Leistung Ihres Bots zu erhalten. Diese Erkenntnisse können zu gezielten und effektiven Verbesserungen der Konversationsfunktionen Ihres Bots führen. Aktivieren Sie Feedbackschaltflächen, damit Benutzer Nachrichten mit "Gefällt mir" mögen oder nicht mögen und detailliertes Feedback geben können.
Wenn der Benutzer eine Feedbackschaltfläche auswählt, wird basierend auf der Auswahl des Benutzers ein entsprechendes Feedbackformular angezeigt.
Feedbackschaltflächen befinden sich in der Fußzeile der Nachricht des Bots und enthalten eine 👍 (Daumen nach oben) und eine 👎 Schaltfläche (Daumen nach unten), aus denen der Benutzer auswählen kann. Sie können Feedback zu Botantworten aus Einzel- und Gruppenchats sammeln.
Schaltflächen zum Hinzufügen von Feedback
Für einen Bot, der mithilfe der KI-Bibliothek von Teams erstellt wurde, aktiviert Teams Feedbackschaltflächen für alle Botnachrichten, wenn enable_feedback_loop
im ai
Modul auf true
festgelegt ist.
export const app = new Application<ApplicationTurnState>({
ai: {
planner: planner,
enable_feedback_loop: true
},
Weitere Informationen finden Sie unter der Const-App-Variable.
Nachdem Sie Feedbackschaltflächen aktiviert haben, haben feedbackLoopEnabled
alle SAY-Befehle des Bots im channelData
-Objekt automatisch auf true
festgelegt.
Um Feedbackschaltflächen in einem Bot zu aktivieren, der mit dem Bot Framework SDK erstellt wurde, fügen Sie in Ihrer Botnachricht ein channelData
-Objekt hinzu, und legen Sie den Wert von feedbackLoopEnabled
auf fest true
.
await context.sendActivity({
type: ActivityTypes.Message,
text: `Hey! I'm a friendly AI bot!`,
channelData: {
feedbackLoopEnabled: true // Enable feedback buttons
},
});
Eigenschaft | Typ | Erforderlich | Beschreibung |
---|---|---|---|
feedbackLoopEnabled |
Boolean | Ja | Aktiviert Feedbackschaltflächen in der Nachricht des Bots |
Verarbeiten von Feedback
Der Bot empfängt die Eingabe des Benutzers, die im Feedbackformular über einen Botaufrufflow empfangen wird.
Für einen Bot, der mit der Teams KI-Bibliothek erstellt wurde, wird der empfangene Botaufruf automatisch verarbeitet. Um Feedback zu verarbeiten, verwenden Sie die app.feedbackLoop
-Methode, um einen Feedbackschleifenhandler zu registrieren, der aufgerufen wird, wenn der Benutzer Feedback gibt.
app.feedbackLoop(async (context, state, feedbackLoopData) => {
// custom logic here...
});
Weitere Informationen finden Sie unter asynchrone Rückruffunktion.
Für einen Bot, der mit dem Bot Framework SDK erstellt wurde, benötigen Sie einen onInvokeActivity
Handler, um das Feedback zu verarbeiten. Stellen Sie sicher, dass Sie einen status Code 200 mit einem leeren JSON-Objekt als Antwort zurückgeben.
Der folgende Codeausschnitt zeigt, wie Sie feedback verarbeiten, das in einem Botaufruf empfangen wurde, und eine Antwort mit dem status Code 200 zurückgeben:
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 };
};
Es ist wichtig, Feedback zu speichern, nachdem Sie es erhalten haben. Stellen Sie daher sicher, dass Sie die Nachrichten-IDs und den Inhalt der Nachrichten speichern, die Ihr Bot sendet und empfängt. Wenn Ihr Bot einen Aufruf mit Feedback empfängt, stimmen Sie die Nachrichten-ID der Botnachricht mit dem entsprechenden Feedback ab.
Hinweis
Teams speichert und verarbeitet weder Feedback noch stellt es eine API oder einen Speichermechanismus bereit.
Wenn ein Benutzer Ihren Bot deinstalliert und weiterhin Zugriff auf den Botchat hat, entfernt Teams die Feedbackschaltflächen aus den Botnachrichten, um zu verhindern, dass der Benutzer Feedback an den Bot senden kann.
Fehlerbehandlung
Fehlercode | Beschreibung |
---|---|
400 |
message/submitAction Die Aufrufantwort ist nicht leer. |
Vertraulichkeitsbezeichnung
Botantworten können Informationen enthalten, die vertraulich sind oder nur für bestimmte Personen innerhalb des organization zugänglich sind. Sie müssen eine Vertraulichkeitsbezeichnung hinzufügen, um Benutzern zu helfen, die Vertraulichkeit einer Nachricht zu identifizieren, sodass sie beim Freigeben der Nachricht vorsichtshalber vorgehen können.
Hinweis
Fügen Sie den Nachrichten Ihres Bots nur dann eine Vertraulichkeitsbezeichnung hinzu, wenn diese vertrauliche Informationen enthalten.
Vertraulichkeitsbezeichnung hinzufügen
Für Bots, die mit der Teams KI-Bibliothek erstellt wurden, können Vertraulichkeitsbezeichnungen durch PredictedSayCommand
Aktion hinzugefügt werden. Weitere Informationen finden Sie unter SensitivityUsageInfo-Schnittstelle.
Für Bots, die mit dem Bot Framework SDK erstellt wurden, fügen Sie Ihrer Botnachricht eine Vertraulichkeitsbezeichnung hinzu, indem Sie die Nachricht so ändern, dass sie in das entities
-Objekt aufgenommen wirdusageInfo
.
Der folgende Codeausschnitt zeigt, wie Sie Sowohl Botnachrichten als auch Zitatverweis Vertraulichkeitsbezeichnungen hinzufügen:
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",
},
},
],
});
Eigenschaft | Typ | Erforderlich | Beschreibung |
---|---|---|---|
usageInfo.@type |
String | Ja | Aktiviert die Vertraulichkeitsbezeichnung in der Botnachricht. |
citation.usageInfo.@id |
String | Ja | Aktiviert die Vertraulichkeitsbezeichnung im Zitatverweis. Dies ist beim Hinzufügen einer Vertraulichkeitsbezeichnung zum Zitatverweis erforderlich. |
usageInfo.name |
String | Ja | Gibt den Titel der Vertraulichkeitsbezeichnung an. |
usageInfo.description |
String | Nein | Gibt die Popupfenstermeldung an, die angezeigt wird, wenn ein Benutzer auf die Vertraulichkeitsbezeichnung zeigt. |
Nachdem die Vertraulichkeitsbezeichnung hinzugefügt wurde, enthält Ihre Botnachricht ein Schildsymbol. Benutzer können mit dem Mauszeiger auf das Symbol zeigen, um einen Haftungsausschluss zur Vertraulichkeit der Nachricht zu finden.
Fehlerbehandlung
Fehlercode | Beschreibung |
---|---|
400 | Mehrere Stammnachrichtenentitäten unter dem entities Array gefunden |
400 | Fehler beim Analysieren der Nachrichtenentität aus dem entities Array |
400 | Der Wert der Zitatebene usageInfo.@id stimmt nicht mit der Nachrichtenebene usageInfo.@id in mindestens einer instance |
400 | Es gibt mehrere Eigenschaften auf Zitatebene usageInfo mit demselben @id , aber ihre name Eigenschaften und description unterscheiden sich. |
Modifizieren PredictedSayCommand
Für einen Bot, der mithilfe der KI-Bibliothek von Teams erstellt wurde, ermöglicht die PredictedSayCommand
Steuerung, wie KI-Bezeichnungen, Zitate, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen der Aktivität des Bots hinzugefügt werden. Es folgt der Codeausschnitt zum Ändern PredictedSayCommand
von :
app.ai.action<PredictedSayCommand>(AI.SayCommandActionName, async (context, state, data, action) => {
// custom logic here...
await context.sendActivity(data.content);
return "";
});
Weitere Informationen zu PredictedSayCommand
finden Sie unter PredictedSayCommand-Schnittstelle.
Codebeispiel
Beispielname | Beschreibung | Node.js | C# |
---|---|---|---|
Teams-Unterhaltungsbot | Diese Beispiel-App zeigt die KI-Bezeichnung, Zitate, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen in Nachrichten an. | View | |
TeamsAzureOpenAI | Dieser Konversationsbot verwendet die KI-Bibliothek von Teams und enthält die KI-Bezeichnung, Feedbackschaltflächen, Vertraulichkeitsbezeichnung und Zitate in den generierten Nachrichten. | Anzeigen |