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.
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
Öffnen Sie Visual Studio Code.
Wählen Sie das Teams Toolkit-Symbol in der Visual Studio Code-Aktivitätsleiste aus.
Wählen Sie Neue App erstellenaus.
Wählen Sie Benutzerdefinierter Engine-Agent aus.
Wählen Sie KI-Agent aus.
Wählen Sie zum Erstellen einer App eine der folgenden Optionen aus:
Wählen Sie Neu erstellen aus.
Wählen Sie JavaScript aus.
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.
Wählen Sie Standardordneraus.
Führen Sie die folgenden Schritte aus, um den Standardspeicherort zu ändern:
- Wählen Sie Durchsuchen aus.
- Wählen Sie den Speicherort für den Projektarbeitsbereich aus.
- Wählen Sie Ordner auswählen aus.
Geben Sie einen App-Namen für Ihre App ein, und drücken Sie dann die EINGABETASTE .
Sie haben Ihren KI-Agent-Bot erfolgreich erstellt.
Wechseln Sie unter EXPLORER zur Datei env.env.testtool.user>.
Aktualisieren Sie die folgenden Werte:
SECRET_AZURE_OPENAI_API_KEY=<your-key>
AZURE_OPENAI_ENDPOINT=<your-endpoint>
AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>
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).
Das Testtool öffnet den Bot auf einer Webseite.
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_type
in 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);