Freigeben über


Erstellen eines KI-Agent-Bots in Teams

Ein KI-Agent in Microsoft Teams ist ein Konversations-Chatbot, der große Sprachmodelle (LLMs) verwendet, um mit den Benutzern zu interagieren. Es versteht die Absichten der Benutzer und wählt eine Abfolge von Aktionen aus, sodass der Chatbot allgemeine Aufgaben erledigen kann.

Screenshot: Erstellung von Ki-Agent-Botanforderungen und -antworten

Voraussetzungen

Installieren Zum Benutzen...
Visual Studio Code JavaScript-, TypeScript- oder Python-Buildumgebungen. Verwenden Sie die neueste Version.
Teams Toolkit Microsoft Visual Studio Code-Erweiterung, die ein Projektgerüst für Ihre App erstellt. Verwenden Sie die neueste Version.
Node.js Back-End-JavaScript-Laufzeitumgebung. Weitere Informationen finden Sie unter Node.js Versionskompatibilitätstabelle für den Projekttyp.
Microsoft Teams Microsoft Teams für die Zusammenarbeit mit allen Personen, mit denen Sie über Apps für Chats, Besprechungen und Anrufe zusammenarbeiten, alles an einem Ort.
Azure OpenAI Erstellen Sie zunächst Ihren OpenAI-API-Schlüssel, um den Generative Pretrained Transformer (GPT) von OpenAI zu verwenden. Wenn Sie Ihre App hosten oder auf Ressourcen in Azure zugreifen möchten, müssen Sie einen Azure OpenAI-Dienst erstellen.

Erstellen eines neuen KI-Agent-Projekts

  1. Öffnen Sie Visual Studio Code.

  2. Wählen Sie das Teams Toolkit-Symbol in der Visual Studio Code-Aktivitätsleiste aus.

  3. Wählen Sie Neue App erstellenaus.

    Screenshot: Position des Links

  4. Wählen Sie Benutzerdefinierter Engine-Agent aus.

    Screenshot: Option zum Auswählen des benutzerdefinierten Engine-Agents als das zu erstellende neue Projekt

  5. Wählen Sie KI-Agent aus.

    Screenshot: Option zum Auswählen von App-Features mithilfe der KI-Bibliotheksliste

  6. Wählen Sie zum Erstellen einer App eine der folgenden Optionen aus:

    1. Wählen Sie Neu erstellen aus.

      Screenshot: Option zum Auswählen der verfügbaren KI-Agents

    2. Wählen Sie JavaScript aus.

      Screenshot: Option zum Auswählen der Programmiersprache

    3. Standardmäßig wird der OpenAI-Dienst ausgewählt. Optional können Sie die Anmeldeinformationen für den Zugriff auf OpenAI eingeben. Drücken Sie die EINGABETASTE.

      Screenshot: Speicherort zum Eingeben des azure open-API-Schlüssels

    4. Wählen Sie Standardordneraus.

      Screenshot des zu speichernden Speicherort-App-Ordners.

      Führen Sie die folgenden Schritte aus, um den Standardspeicherort zu ändern:

      1. Wählen Sie Durchsuchen aus.
      2. Wählen Sie den Speicherort für den Projektarbeitsbereich aus.
      3. Wählen Sie Ordner auswählen aus.
    5. Geben Sie einen App-Namen für Ihre App ein, und drücken Sie dann die EINGABETASTE .

      Screenshot: Option zum Eingeben des geeigneten Namens

      Sie haben Ihren KI-Agent-Bot erfolgreich erstellt.

      Screenshot: Erstellter KI-Chatbot und Verfügbarer Infodatei

    6. Wechseln Sie unter EXPLORER zur Datei env.env.testtool.user>.

    7. Aktualisieren Sie die folgenden Werte:

      • SECRET_AZURE_OPENAI_API_KEY=<your-key>
      • AZURE_OPENAI_ENDPOINT=<your-endpoint>
      • AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>

      Screenshot: Aktualisierte Details in der env-Datei

    8. Klicken Sie zum Debuggen Ihrer App auf F5 oder im linken Bereich auf Ausführen und Debuggen (STRG+UMSCHALT+D) und dann in der Dropdownliste auf Debuggen im Testtool (Vorschau).

      Screenshot: Auswahl der Debugoption aus der Liste der Optionen

    Das Testtool öffnet den Bot auf einer Webseite.

    Screenshot: endgültige Ausgabe des neuen Bots zum Erstellen eines ki-Agents.

    Machen Sie einen Überblick über den Quellcode der Bot-App

    Ordner Inhalt
    .vscode Visual Studio Code-Dateien zum Debuggen.
    appPackage Vorlagen für das Teams-App-Manifest.
    env Umgebungsdateien.
    infra Vorlagen für die Bereitstellung von Azure-Ressourcen.
    src Der Quellcode für die App.

    Die folgenden Dateien können angepasst werden, und sie zeigen ein Beispiel für die Implementierung, um Ihnen den Einstieg zu erleichtern:

    File Inhalt
    src/index.js Richtet den Bot-App-Server ein.
    src/adapter.js Richtet den Botadapter ein.
    src/config.js Definiert die Umgebungsvariablen.
    src/prompts/planner/skprompt.txt Definiert die Eingabeaufforderung.
    src/prompts/planner/config.json Konfiguriert die Eingabeaufforderung.
    src/prompts/planner/actions.json Definiert die Aktionen.
    src/app/app.js Verarbeitet Geschäftslogiken für den KI-Agent.
    src/app/messages.js Definiert die Nachrichtenaktivitätshandler.
    src/app/actions.js Definiert die KI-Aktionen.

    Im Folgenden finden Sie Teams Toolkit-spezifische Projektdateien. Weitere Informationen zur Funktionsweise des Teams-Toolkits finden Sie in einem vollständigen Leitfaden auf GitHub:

    File Inhalt
    teamsapp.yml Dies ist die Standard Teams Toolkit-Projektdatei. Die Projektdatei definiert die Eigenschaften und Konfigurationsphasendefinitionen.
    teamsapp.local.yml Dies wird mit Aktionen überschrieben teamsapp.yml , die die lokale Ausführung und das Debuggen ermöglichen.
    teamsapp.testtool.yml Dies wird mit Aktionen überschrieben teamsapp.yml , die die lokale Ausführung und das Debuggen im Teams App Test Tool ermöglichen.

Erstellen eines KI-Agents mithilfe der Teams KI-Bibliothek

Neu erstellen

Die KI-Bibliothek von Teams bietet einen umfassenden Flow, der den Prozess der Erstellung Ihres eigenen KI-Agents vereinfacht. Die folgenden wichtigen Konzepte müssen Sie verstehen:

  • Aktionen: Eine Aktion ist eine atomische Funktion, die im KI-System registriert ist.
  • Planner: Der Planer empfängt die Anforderung des Benutzers in Form einer Aufforderungs- oder Eingabeaufforderungsvorlage und gibt einen Plan zurück, um sie zu erfüllen. Dies wird erreicht, indem ki verwendet wird, um atomische Funktionen zu mischen und abzugleichen, die als Aktionen bezeichnet werden, die im KI-System registriert sind. Diese Aktionen werden in eine Reihe von Schritten zusammengefasst, die ein Ziel erreichen.
  • Aktions-Planner: Aktions-Planner verwendet eine LLM zum Generieren von Plänen. Es kann parametrisierte Aktionen auslösen und textbasierte Antworten an den Benutzer senden.

Erstellen mit der Assistenten-API

Die Assistenten-API von OpenAI vereinfacht den Entwicklungsaufwand beim Erstellen eines KI-Agents. OpenAI als Plattform bietet vordefinierte Tools wie Codeinterpreter, Wissensabruf und Funktionsaufrufe, die den Code vereinfachen, den Sie für gängige Szenarien schreiben müssen.

Comparison Neu erstellen Erstellen mit der Assistenten-API
Kosten Nur Kosten für LLM-Dienste Kosten für LLM-Dienste und die Verwendung von Tools in der Assistenten-API führen zu zusätzlichen Kosten.
Entwicklungsaufwand Mittel Relativ klein
LLM-Dienste Azure OpenAI oder OpenAI Nur OpenAI
Beispielimplementierungen in einer Vorlage Diese App-Vorlage kann chatten und Benutzern helfen, die Aufgaben zu verwalten. Diese App-Vorlagen verwenden das Tool CodeInterpreter, um mathematische Probleme zu lösen, und auch das Tool Funktionsaufrufe, um das Stadtwetter zu erhalten.
Begrenzungen Die Ki-Bibliothek von Teams unterstützt das Knowledge Retrieval-Tool nicht.

Anpassen der App-Vorlage

Anpassen der Eingabeaufforderungserweiterung

Das SDK bietet eine Funktion zum Erweitern der Eingabeaufforderung.

  • Die in der src/prompts/planner/actions.json Datei definierten Aktionen werden in die Eingabeaufforderung eingefügt. Dadurch kann der LLM die verfügbaren Funktionen kennen.
  • Ein interner Eingabeaufforderungstext wird in die Eingabeaufforderung eingefügt, um LLM anzuweisen, basierend auf den verfügbaren Funktionen zu bestimmen, welche Funktionen aufgerufen werden sollen. Dieser Eingabeaufforderungstext ordnet LLM an, die Antwort in einem strukturierten JSON-Format zu generieren.
  • Das SDK überprüft die LLM-Antwort und ermöglicht ES LLM, die Antwort zu korrigieren oder zu verfeinern, wenn die Antwort im falschen Format vorliegt.

Konfigurieren Sie augmentation.augmentation_typein der src/prompts/planner/config.json Datei . Mögliche Optionen:

  • Sequence: Geeignet für Aufgaben, die mehrere Schritte oder komplexe Logik erfordern.
  • Monologue: Geeignet für Aufgaben, die natürliches Sprachverständnis und -generierung sowie mehr Flexibilität und Kreativität erfordern.

Erstellen neuer Funktionen zum Hinzufügen von Funktionen

  • Definieren Sie in der src/prompts/planner/actions.json Datei Ihr Aktionsschema.

    [
        ...
        {
            "name": "myFunction",
            "description": "The function description",
            "parameters": {
                "type": "object",
                "properties": {
                    "parameter1": {
                        "type": "string",
                        "description": "The parameter1 description"
                    },
                },
                "required": ["parameter1"]
            }
        }
    ]
    
  • Definieren Sie in der src/app/actions.ts Datei die Aktionshandler.

    // Define your own function
    export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> {
      // Implement your function logic
      ...
      // Return the result
      return "...";
    }
    
  • Registrieren Sie in der src/app/app.ts Datei die Aktionen.

    app.ai.action("myFunction", myFunction);
    

Anpassen Assistent Erstellung

Die src/creator.ts Datei erstellt einen neuen OpenAI-Assistenten. Sie können die Assistent anpassen, indem Sie die Parameter einschließlich Anweisung, Modell, Tools und Funktionen aktualisieren.

Hinzufügen von Funktionen zum Erstellen mit der Assistenten-API

Wenn die Assistent eine Funktion und ihre Argumente für die Ausführung bereitstellt, richtet das SDK diese Funktion an einer vorregistrierten Aktion aus. Später wird der Aktionshandler aktiviert und das Ergebnis an den Assistent übermittelt. Um Ihre Funktionen zu integrieren, registrieren Sie die Aktionen in der App.

  • Definieren Sie in der src/app/actions.ts Datei die Aktionshandler.

    // Define your own function
    export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> {
      // Implement your function logic
      ...
      // Return the result
      return "...";
    }
    
  • Registrieren Sie in der src/app/app.ts Datei die Aktionen.

    app.ai.action("myFunction", myFunction);
    

Siehe auch

Teams-KI-Bibliothek