Freigeben über


Einen klassischen Chatbot als Skill in einem Bot Framework-Bot verwenden

Anmerkung

Dieser Artikel gilt nur für klassische Chatbots. Diese Funktion ist in der neuen Copilot Studio Benutzeroberfläche nicht verfügbar.

Wenn Sie einen klassischen Bot als Fertigkeit mit einem Bot Framework-Bott hinzufügen, bestimmt der Bot Framework-Bot, ob alles, was der Benutzer sagt, mit einem der Triggerausdrücke im klaisschenBot übereinstimmt. Wenn es eine Übereinstimmung gibt, leitet der Bot Framework-Bot das Gespräch an den klassischen Bot weiter. Der klassische Bot extrahiert alle Entitäten und löst das passende Thema aus.

Sie können auch eine Variable an ein Copilot Studio-Fertigkeitsthema als Eingabe vom Bot Framework Composer übergeben und die zurückgegebenen Ausgaben verwenden.

Wichtig

Sie müssen eine Test- oder Vollversion der Copilot Studio-Lizenz haben, um klassische Bots als Fertigkeiten zu verwenden. Diese Funktion ist mit der Teams Copilot Studio Lizenz nicht verfügbar.

Zum Einrichten Ihres klassischen Bots als Fertigkeit:

  1. Sie fügen den Bot Framework Bot auf die Zulassungsliste für den klassischen Bot hinzu.

  2. Sie laden das Fertigkeits-Manifest für den klassischen Bot herunter.

  3. Verwenden Sie das heruntergeladene Skillmanifest im Bot Framework Composer, um eine Verbindung zwischen den Bots herzustellen.

  4. Verwenden Sie den Bot Framework-Emulator, um zu bestätigen, dass der Bot als Fertigkeit funktioniert.

Anforderungen

Fügen Sie den Bot Framework Bot auf die Positivliste für Ihren klassischen Bot hinzu

Fügen Sie die App-ID des Bot Framework-Bots der Positivliste für den klassischen Bot hinzu, den Sie als Fertigkeit verwenden möchten. Die Bots müssen sich im selben Mandanten befinden.

  1. Öffnen Sie im Bot Framework Composer den Bot, der den Skill verwenden wird. Wählen Sie Konfigurieren und dann Entwicklungsressourcen aus. Kopieren Sie die ID in Microsoft-App-ID.

  2. Öffnen Sie in Copilot Studio den klassischen Bot, den Sie als Fertigkeit verwenden möchten.

  3. Wechseln Sie im Navigationsmenü zu Einstellungen und wählen Sie Sicherheit aus. Wählen Sie dann Positivliste.

  4. Wählen Sie Zulässigen Anrufer hinzufügen.

  5. Fügen Sie Ihre Bot Framework-Bots App-ID ein und wählen Sie Weiter.

    Vorsicht

    Ein klassischer Chatbot kann nicht als Skill für andere klassische Chatbots fungieren. Wenn Sie versuchen, der Positivliste eine App-ID hinzuzufügen, die zu einem Power Virtual Agent-Bot gehört, erhalten Sie eine Fehlermeldung. Sie können eine App-ID nur für einen Bot Framework-Bot hinzufügen.

    Copilot Studio überprüft die Bot Framework Bot App-ID und bestätigt, dass sie zu einem Bot im selben Mandanten gehört.

  6. (Optional): Fügen Sie einen Anzeigename für den Bot hinzu, den Sie der Positivliste hinzugefügt haben.

  7. Wählen Sie Speichern.

Der Bot Framework-Bot wird durch seinen Anzeigenamen angezeigt, wenn Sie einen eingegeben haben, oder durch seine App-ID, wenn Sie keinen Anzeigenamen eingegeben haben. Um ihn jederzeit zu löschen oder zu bearbeiten, wählen Sie das Symbol rechts neben dem Anzeigename oder der App-ID des Bots aus.

Notiz

Bot Framework-Bots, die der Positivliste hinzugefügt werden, werden nicht als Teil des Bot-Inhalts exportiert.

Laden Sie das klassische Chatbot-Qualifikationsmanifest für Ihren klassischen Chatbot herunter

Bot Framework Bots können ein Copilot Studio Skillmanifest verwenden, um eine Verbindung mit dem klassischen Bot zu konfigurieren, der das Manifest erstellt hat.

Alle klassischen Chatbots verfügen über Qualifikationsmanifeste. Ein Fertigkeitsmanifest ist eine JSON-Datei, die den Namen, die Benutzeroberfläche und Triggerausdrücke eines Skills enthält.

Ein Bot Framework Bot kann ein Skillmanifest verwenden, um zu wissen, wann er den klassischen Bot auslösen muss (zum Beispiel als Reaktion auf etwas, das ihm ein Benutzer sagt).

Copilot Studio Skillmanifeste folgen Version 2.2 des Bot Framework Skillmanifest-Schemas und bestehen aus intents.lu- und manifest.json-Dateien.

Ein Bot Framework-Bot kann basierend auf den Manifestdaten entscheiden, dass ein klassischen Bot die Anfrage des Benutzers verarbeiten sollte. Es übergibt alles, was der Benutzer gesagt hat, an den klassischen Bot. Dann gleicht der klassischen Bot die Benutzeräußerung mit einem Copilot Studio-Thema ab, extrahiert alle Entitäten, die für das Slot-Filling benötigt werden und löst das Copilot Studio Thema aus.

Copilot Studio Skillmanifeste werden automatisch generiert und aktualisiert. Ein klassischer Bot hat zwei Fertigkeitsmanifeste:

  • Testmanifest: Ermöglicht dem Bot Framework Bot, sich mit der Testversion Ihres klassischen Bot zu verbinden. Verwenden Sie das Testmanifest, um Änderungen an Ihrem Skill zu überprüfen, bevor Sie sie veröffentlichen.

    • Das Testmanifest ist für jeden neu erstellten klassischen Bot sofort verfügbar.
    • Es wird jedes Mal, wenn Sie Ihren klassischen Bot speichern, automatisch aktualisiert, um die Änderungen widerzuspiegeln.
  • Veröffentlichtes Manifest: Ermöglicht dem Bot Framework Bot, sich mit der veröffentlichten Version Ihres klassischen Bot zu verbinden.

    • Das veröffentlichte Manifest ist nur für klassische Bots verfügbar, die mindestens einmal veröffentlicht wurden.
    • Es wird jedes Mal automatisch aktualisiert, um die Änderungen widerzuspiegeln, wenn Sie Ihren Agent veröffentlichen.

Anmerkung

Das veröffentlichte Manifest ist für klassische Bots, die nie veröffentlicht wurden, nicht verfügbar.

Um das von Ihren Bots veröffentlichte Manifest zu erstellen, veröffentlichen Sie Ihren klassischen Bot.

Beide Skillsanifeste werden im Bereich Positivliste verwalten angezeigt.

Die Skillmanifeste werden auch auf der Detailseite des Copiloten angezeigt. Wählen Sie im Navigationsmenü Einstellungen und anschließend Details aus. Die Detailsseite zeigt andere Metadaten an, darunter die Umgebungs-ID, Mandanten-ID und Bot-App-ID.

Um ein Manifest herunterzuladen, wählen Sie es aus. Es wird als.zip-Datei mit der Bezeichnung <bot name>manifest für das Veröffentlichte Manifest oder <bot name>test__manifest für das Testmanifest.

Anmerkung

Das Skillmanifest enthält keine Systemthemen und Composer-Dialoge, die einem klassischen Bot hinzugefügt wurden. Nur Themen, die von Copilot-Autoren erstellt wurden, und Composer-Absichts-Trigger, die Autoren dem Bot hinzufügen, sind enthalten.

Mit einer Copilot Studio Fertigkeit im Composer verbinden

Verwenden Sie Copilot Studio Skillmanifeste, um eine Fertigkeitsverbindung in Ihrem Bot Framework Bot im Composer herzustellen.

  1. Wählen Sie in einem Bot Framework Composer-Projekt Hinzufügen und dann Mit einer Fertigkeit verbinden.

  2. Navigieren Sie zu einem Copilot Studio Manifest .zip-Archiv und wählen Sie es aus. Wählen Sie dann Weiter aus.

  3. Wählen Sie die Themen oder Absichten in Ihrem klassischen Chatbot aus, die Sie Ihrem Bot Framework-Bot hinzufügen möchten, und wählen Sie Weiter.

  4. Überprüfen und bearbeiten Sie die Triggerausdrücke für Ihren klassischen Chatbot und dann Weiter.

  5. Stellen Sie sicher, dass Orchestrator für Projekte mit mehreren Bots verwenden ausgewählt ist, und wählen Sie dann Weiter.

  6. Stellen Sie sicher, dass die Copilot Studio-Fertigkeit zu Ihrem Bot Framework-Bot korrekt hinzugefügt wird und ein neuer Trigger mit Ihrem klassischen Chatbot-Namen in dem Projekt in Composer erscheint.

Thema im Skillmanifest suchen

Verwenden Sie ein Ereignis, um ein Copilot Studio-Thema in der Fertigkeit auszulösen. Um ein bestimmtes Thema von Composer aus aufzurufen, beziehen Sie sich auf das Thema mit dem im Skillmanifest damit verbundenen Namen.

  1. Wählen Sie die Aktion Mit einer Fertigkeit verbinden aus.

  2. Wählen Sie unter Name des FertigkeitsdialogsSkillmanifest anzeigen aus.

  3. Suchen Sie im Manifest die Aktivitäten. Diese Eigenschaft enthält verschachtelte Eigenschaften, die die in Ihrem klassischen Bot verfügbaren Themen darstellen.

  4. Finden Sie das Thema, das Sie aufrufen möchten, und suchen Sie der Eigenschaft Name. Wenn die Copilot Studio-Fertigkeit ein Ereignis mit diesem Namen empfängt, löst es das Thema aus.

    Im folgenden Beispiel lautet der Name der Ereignisaktivität dispatchTo_new_topic_87609dabd86049f7bc6507c6f7263aba_33d.

Ein Copilot Studio-Fertigkeitsthema aufrufen

Anstatt sich darauf zu verlassen, was ein Benutzer sagt, um ein Copilot Studio-Fertigkeitenthema auszulösen, können Sie es direkt aufrufen. Sie könne nur Copilot Studio-Themen direkt aufrufen, die im Skillmanifest aufgeführt sind.

  1. Wählen Sie im Composer-Erstellungsbereich Hinzufügen, dann Auf externe Ressourcen zugreifen und schließlich Mit einem Skill verbinden aus.

  2. Wählen Sie in der Liste Name des Fertigkeitsdialogs Ihren klassischen Bot aus.

  3. Suchen Sie den Namen der Ereignisaktivität für das klassische-Bot-Thema, das Sie aufrufen möchten. Kopieren Sie den Wert, lassen Sie die Anführungszeichen weg, und speichern Sie ihn, um ihn in den nächsten Schritten zu verwenden.

  4. Wählen Sie Schließen aus.

  5. Wählen Sie im Bereich AktivitätCode anzeigen aus.

  6. Geben Sie den folgenden Code ein oder kopieren Sie ihn hinein. Ersetzen Sie TOPIC_ACTIVITY_NAME mit dem Namen Ihrer Ereignisaktivität des Themas. Stellen Sie sicher, dass keine Anführungszeichen in der Eigenschaft name enthalten sind.

    [Activity
        type = event
        name = TOPIC_ACTIVITY_NAME
    ]
    

Eingabevariable an ein Copilot Studio-Fertigkeitsthema übergeben

Bot Framework Composer kann eine Variable als Eingabe an ein Copilot Studio Fertigkeitenthema übergeben. Mehr darüber, wie man Copilot Studio-Themen erstellt, die Eingabevariablen akzeptieren, finden Sie unter Mit Variablen arbeiten.

Wenn ein Copilot Studio-Thema, das eine Eingabevariable erhalten kann, in Ihrem Skillmanifest aufgeführt ist, können Sie eine Composer-Variable an es übergeben.

  1. Wählen Sie im Composer-Erstellungsbereich Hinzufügen, dann Auf externe Ressourcen zugreifen und schließlich Mit einem Skill verbinden aus.

  2. Wählen Sie in der Liste Name des Fertigkeitsdialogs Ihren klassischen Bot aus.

  3. Suchen Sie den Namen der Ereignisaktivität für das klassische-Bot-Thema, das Sie aufrufen möchten. Kopieren Sie den Wert, lassen Sie die Anführungszeichen weg, und speichern Sie ihn, um ihn in den nächsten Schritten zu verwenden.

  4. Suchen Sie die Eigenschaft Wert des Themas. Die Eigenschaft Wert enthält eine Eigenschaft $ref. Kopieren Sie diesen Wert und speichern Sie ihn, um ihn im nächsten Schritt zu verwenden.

    Warnung

    Wenn ein Copilot Studio-Thema keine Eingaben hat, hat es keine Wert-Eigenschaft.

  5. Suchen Sie die Eigenschaft Definitionen und suchen Sie dann nach einer verschachtelten Eigenschaft, die mit dem $ref-Wert übereinstimmt, den Sie im vorherigen Schritt gefunden haben. Notieren Sie sich die Namen und Typen der Eingaben des Copilot Studio Themas. Sie werden sie in den nächsten Schritten verwenden.

  6. Wählen Sie Schließen aus.

  7. Wählen Sie im Bereich AktivitätCode anzeigen aus.

  8. Geben Sie den folgenden Code ein oder kopieren Sie ihn hinein. Ersetzen Sie diese Werte:

    1. Ersetzen Sie TOPIC_ACTIVITY_NAME mit dem Namen Ihrer Ereignisaktivität des Themas.
    2. Ersetzen Sie PVA_INPUT_VARIABLE mit einer Eingabevariablen aus Ihrem Thema.
    3. Ersetzen Sie COMPOSER_INPUT_VARIABLE mit einer Composer-Variablen, die einen Wert bereitstellt.
    [Activity
        Type = event
        Name = TOPIC_ACTIVITY_NAME
        Value = ${addProperty(json("{}"), 'PVA_INPUT_VARIABLE', COMPOSER_INPUT_VARIABLE)}
    ]
    

    Im folgenden Beispiel stellt die Composer-Variable dialog.storeLocation einen Wert für die Eingabevariable pva_StoreLocation in dem klassischen Bot-Thema dispatchTo_new_topic_127cdcdbbb4a480ea113c5101f309089_21a34f16 bereit.

Ausgabevariable von einem Copilot Studio-Fertigkeitsthema empfangen

Es ist möglich, Ausgaben von einem Copilot Studio-Fertigkeitsthema im Composer zu erhalten. Weitere Informationen dazu, wie Sie Copilot Studio-Themen erstellen, die Ausgaben zurückgeben, finden Sie unter Mit Variablen arbeiten.

  1. Wählen Sie im Composer-Erstellungsbereich Hinzufügen, dann Auf externe Ressourcen zugreifen und schließlich Mit einem Skill verbinden aus.

  2. Wählen Sie in der Liste Name des Fertigkeitsdialogs Ihren klassischen Bot aus.

  3. Suchen Sie den Namen der Ereignisaktivität für das klassische Bot-Thema, das Sie aufrufen möchten. Kopieren Sie den Wert, lassen Sie die Anführungszeichen weg, und speichern Sie ihn, um ihn in den nächsten Schritten zu verwenden.

  4. Suchen Sie die Eigenschaft resultValue des Themas. Die resultValue-Eigenschaft enthält eine Eigenschaft $ref. Kopieren Sie diesen Wert und speichern Sie ihn, um ihn im nächsten Schritt zu verwenden.

    Warnung

    Wenn ein Copilot Studio-Thema keine Ausgaben hat, enthält es keine resultValue-Eigenschaft.

  5. Suchen Sie die Eigenschaft Definitionen und suchen Sie dann nach einer verschachtelten Eigenschaft, die mit dem $ref-Wert übereinstimmt, den Sie im vorherigen Schritt gefunden haben. Notieren Sie sich die Namen und Typen der Ausgabevariablen des Copilot Studio Themas. Sie werden sie in den nächsten Schritten verwenden.

    Im folgenden Beispiel gibt das Copilot Studio-Thema zwei Ausgaben vom Typ Zeichenfolge zurück: pva_State und pva_Item.

  6. Wählen Sie Schließen aus.

  7. Wählen Sie im Bereich AktivitätCode anzeigen aus.

  8. Geben Sie den folgenden Code ein oder kopieren Sie ihn hinein. Ersetzen Sie TOPIC_ACTIVITY_NAME mit dem Namen Ihrer Ereignisaktivität des Themas. Stellen Sie sicher, dass keine Anführungszeichen in der Eigenschaft name enthalten sind.

    [Activity
        type = event
        name = TOPIC_ACTIVITY_NAME
    ]
    
  9. Legen Sie im Codebereich Eigenschaft auf eine Composer-Variable fest, um die Ausgabewerte von dem Copilot Studio-Fertigkeitsthema zu empfangen und zu speichern.

  10. Wählen Sie im Composer-Erstellungsbereich Hinzufügen aus, dann Eigenschaften verwalten und schließlich Eigenschaften festlegen.

  11. Legen Sie Eigenschaft auf den Composer-Wert fest, der den extrahierten Wert speichern soll. Dann legen Sie Wert auf die Composer-Variable fest, in der Sie die Ausgaben des Themas gespeichert haben.

    Im folgenden Beispiel werden die Ausgabewerte von dialog.skillResult.pvaState und dialog.skillResult.pvaItem in neue Composer-Variablen dialog.State und dialog.Item extrahiert.

Ihren klassischen Bot als Fertigkeit mit einem Bot Framework-Bot testen

Verwenden Sie den Bot Framework Emulator, um zu testen, ob Ihr Bot Framework-Bot einen klassischen Chatbot korrekt als Fertigkeit aufruft.

Wichtig

Ihrem Bot Framework Bot muss die klassischen Bot Positivliste hinzugefügt werden, damit die Fertigkeitsverbindung funktioniert.

Einen mehrinstanzenfähigen Bot Framework Bot auf einen Single-Tenant-Bot aktualisieren

Die folgende Abbildung zeigt das Szenario, in dem ein Bot Framework auf dem Bot Framework SDK erstellter Bot einen klassischen Chatbot aufruft, um ihn als Skill zu verwenden.

Illustration, die die Interaktionen zwischen einem Bot Framework Bot und einem klassischen Chatbot zeigt.

Sowohl der Bot Framework-Bot als auch der klassische Chatbot verfügen über eine Microsoft Entra ID-App-Registrierung, auf die von den Azure-Bot-Instanzen verwiesen wird. Diese Microsoft Entra ID-App-Registrierungen wurden als mehrinstanzenfähig erstellt. Der Bot Framework Bot fordert ein Token vom Bot Framework Mandanten an und verwendet dieses Token, um sich mit Azure Bot Service bei Copilot Studio zu authentifizieren. Copilot Studio verwendet den gleichen Mechanismus, um den Bot Framework Bot zu kontaktieren.

Die Anwendungsregistrierung von dem Copilot Studio Chatbot wird jetzt als einzelner Mandant erstellt, sodass diese Kommunikation nicht mehr funktioniert. Microsoft Entra ID weigert sich, Token für Anwendungsregistrierungen mit einem Mandanten zu erstellen, die sich nicht im selben Mandanten befinden.

Copilot Studio überprüft außerdem das eingehende Token und lehnt Anforderungen von Mandanten ab, die nicht erwartet werden, z. B. die Mandanten-ID, in der die Anwendungsregistrierung des klassischen Chatbot erstellt wurde.

Um dieses Problem zu beheben, gibt es zwei mögliche Lösungen.

Klassische Chatbots im selben Mandanten wie der Bot von Bot Framework

In Szenarien, in denen die Copilot Studio-Chatbot bereits im selben Mandanten wie der Bot Framework-Bot bereitgestellt und nur von diesem Bot verwendet wird, aktualisieren Sie den Bot auf eine Konfiguration mit einem Mandanten und stellen Sie dann Ihren Bot Framework-Bot erneut bereit. Weitere Informationen zum Konfigurieren eines Bot Framework Bots für einen einzelnen Mandanten finden Sie unter Bereitstellen und Veröffentlichen eines Bots.

Copilot Studio Chatbot, der nicht auf Einzelmandant aktualisiert werden können

In Szenarien, in denen der Copilot Studio Chatbot bereits im selben Mandanten wie der Bot Framework-Bot bereitgestellt wird, der Bot aber nicht für einen einzelnen Mandanten aktualisiert werden kann, müssen Sie den Code im Bot Framework Bot aktualisieren, um das Token für die Kommunikation mit dem Copilot Studio-Chatbot zu erstellen. Das Token muss für den Mandanten erstellt werden, in dem auch der Copilot Studio-Chatbot erstellt wurde. Darüber hinaus muss die Antwort akzeptiert werden, was wahrscheinlich voraussetzt, dass Sie die Schritte unter Konvertieren eines vorhandenen Skills von einem mehrinstanzenfähigen in einen einzelnen Mandanten ausführen.

Weitere Informationen