Teilen über


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.

Die folgenden Screenshots zeigen, wie Botnachrichten mit KI-Bezeichnungen, Zitaten, Feedbackschaltflächen und Vertraulichkeitsbezeichnungen erweitert werden können:

Hinweis

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.

Screenshot: KI-Bezeichnung in einer Botnachricht

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 SendActivitysenden. Wenn Sie eine Nachricht mit UpdateActivityaktualisieren, 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.

Screenshot: Antwort eines KI-Bots mit Textzitat

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 Zeichenfolge 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 Zeichenfolge Ja Objekt der Zitatdarstellung. Der einzige zulässige Wert ist DigitalDocument.
citation.appearance.name Zeichenfolge Ja Titel des Inhalts, auf den verwiesen wird.
citation.appearance.url Zeichenfolge 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.

Screenshot: Feedbackschaltflächen in einem Bot

Wenn der Benutzer eine Feedbackschaltfläche auswählt, wird basierend auf der Auswahl des Benutzers ein entsprechendes Feedbackformular angezeigt.

Screenshot: Feedbackformular in einem Bot

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.

Screenshot: Vertraulichkeitsbezeichnung für KI-Bots

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 Zeichenfolge Ja Aktiviert die Vertraulichkeitsbezeichnung in der Botnachricht.
citation.usageInfo.@id Zeichenfolge 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 Zeichenfolge 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 PredictedSayCommandvon :

app.ai.action<PredictedSayCommand>(AI.SayCommandActionName, async (context, state, data, action) => {
  // custom logic here...
  await context.sendActivity(data.content);
  return "";
});

Weitere Informationen zu PredictedSayCommandfinden 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

Siehe auch