Teams-KI-Bibliothek
Die Teams KI-Bibliothek ist eine Teams-orientierte Schnittstelle zum Integrieren von GPT-basierten Sprachmodellen und Benutzerabsichtsmodulen. Es vereinfacht den Entwicklungsprozess, indem die Notwendigkeit reduziert wird, komplexe Konversations-Botlogik zu schreiben und zu verwalten.
Sie können vordefinierte, wiederverwendbare Codeausschnitte nutzen, mit denen Sie schnell intelligente Apps erstellen können. Dieser funktionsorientierte Ansatz ermöglicht es Ihnen, sich auf die Geschäftslogik zu konzentrieren, anstatt die Feinheiten von Microsoft Teams-Konversationsframeworks zu erlernen.
Gründe für die Verwendung der Teams KI-Bibliothek
Die KI-Bibliothek von Teams ermöglicht es Ihren Apps, Benutzer in natürliche und konversationsorientierte Interaktionen einzubinden. Diese Interaktionen können zu bestimmten App-Funktionen oder -Aufgaben geleitet werden, sodass Ihre App die Absicht der Benutzer besser verstehen und verarbeiten kann.
Sie können sich auf die integrierten Konversationsbotfunktionen in Teams (z. B. Power Virtual Agents oder Bot Framework) verlassen, um die Komplexität der Verarbeitung natürlicher Sprache zu bewältigen.
Sie können die KI-Bibliothek von Teams für Folgendes nutzen:
- Verwenden Sie vordefinierte Vorlagen, um Teams-App-Funktionen hinzuzufügen.
- Verwenden Sie Techniken wie prompt engineering, um Ihrem Bot ChatGPT wie Konversationserfahrungen und integrierte Sicherheitsfeatures wie Moderation hinzuzufügen, um sicherzustellen, dass Ihr Bot immer angemessen reagiert.
- Verwenden Sie die Planungs-Engine der Bibliothek, die es dem Modell ermöglicht, die Absicht des Benutzers zu identifizieren und diese Absicht dann aktionen zuzuordnen, die Sie implementieren.
- Fügen Sie Unterstützung für beliebige LLM Ihrer Wahl hinzu, ohne die Botlogik zu ändern.
Die KI-Bibliothek von Teams unterstützt sowohl JavaScript als auch C#. Damit können Sie KI-Funktionen nutzen, um intelligente, benutzerfreundliche Anwendungen für Microsoft Teams zu erstellen. Die Bibliothek bietet die Flexibilität, KI-gestützte Erfahrungen mit den Tools und Sprachen zu erstellen, die Ihren Projektanforderungen am besten entsprechen, und stellt die bestmöglichen Ergebnisse für Ihre Teams-Benutzer sicher.
Was sind die Vorteile der KI-Bibliotheksfeatures von Teams?
Die KI-Bibliothek von Teams bietet eine Vielzahl von Features, die die Entwicklung Ihres benutzerdefinierten Engine-Agents vereinfachen können.
Als Entwickler möchte ich einen intelligenten Lightbot erstellen, der das Licht als Reaktion auf den Befehl des Benutzers steuert. Ich erwägen die Verwendung der Teams KI-Bibliothek aufgrund ihrer Features, die das Erstellen meines benutzerdefinierten Engine-Agents zu einem Kinderspiel machen können. Ich möchte, dass mein KI-gestützter Lightbot die Benutzererfahrung verbessert und sie stärker involviert bleibt.
Wie kann ich die KI-Bibliothek von Teams verwenden, um sicherzustellen, dass mein benutzerdefinierter Engine-Agent reibungslos ausgeführt wird und Benutzern eine unterhaltsame und interaktive Erfahrung bietet?
Lokalisierung
Die KI-Bibliothek von Teams verwendet das GPT-Modell von OpenAI für die Lokalisierung. Benutzereingaben in einer beliebigen Sprache werden in Absichten, Entitäten und Aktionen übersetzt. Dieser Ansatz entfällt die Notwendigkeit, Lokalisierungsdatensätze zu verwalten.
LLM Modularität
Ein LLM generiert kohärenten und vielfältigen Text in natürlicher Sprache mit latenten Variablen. Die KI-Bibliothek von Teams verwendet das GPT-Modell von OpenAI, ermöglicht es Ihnen jedoch, es mit jedem LLM zu tauschen, ohne die Botlogik zu ändern. Dies bedeutet, dass Sie den Inhalt Ihrer App außerhalb der öffentlichen Domäne und auf Ihr bevorzugtes LLM-Modell beschränken können.
Verantwortungsvolle KI
Die KI-Bibliothek von Teams hilft beim Erstellen von Unterhaltungs-Apps mit Moderationshooks, Konversationsfegern und Feedbackschleifen. Es unterstützt sowohl low code als auch komplexe Szenarien. Die Bibliothek erweitert die Funktionen um KI-Konstrukte für die Modellierung natürlicher Sprache, Benutzerabsichten, Personalisierung und automatisierte kontextbezogene Unterhaltungen.
Predictive Engine zum Zuordnen von Absichten zu Aktionen
Eine einfache Schnittstelle für Aktionen und Vorhersagen ermöglicht es einem Bot, bei Bedarf zu reagieren. Umgebungspräsenz ermöglicht es einem Bot, die Absicht zu erlernen, Eingabeaufforderungen der Geschäftslogik zu verwenden und Antworten zu generieren. Wenn ein Benutzer z. B. nicht mehr im Büro ist und einen Thread zusammenfassen muss, gilt die Teams KI-Bibliothek:
- Versteht die Absicht als Zusammenfassung.
- Verwendet Eingabeaufforderungen, um Im Laufe der Zeit Zusammenfassungen zu erstellen, die sich auf die Interaktionen des Benutzers konzentrieren.
- Stellt Aktionen bereit, um den Chatinhalt zusammenzufassen.
Aktions-Planner
Action Planner ist die Standard Komponente, die Ihre LLM aufruft und mehrere Features zum Verbessern und Anpassen Ihres Modells enthält. Modell-Plug-Ins vereinfachen die Konfiguration Ihrer ausgewählten LLM für den Planner und werden mit einem OpenAIModel ausgeliefert, das sowohl OpenAI als auch Azure OpenAI LLMs unterstützt. Fügen Sie weitere Plug-Ins für andere Modelle wie Llama-2 hinzu, um Ihnen die Flexibilität zu geben, das beste Modell für Ihren Anwendungsfall auszuwählen. Eine interne Feedbackschleife erhöht die Zuverlässigkeit, indem die untergeordneten Antworten des LLM korrigiert werden.
Assistenten-API
Hinweis
Die KI-Bibliothek von Teams unterstützt sowohl OpenAI als auch die Azure OpenAI-Assistenten-API in der öffentlichen Entwicklervorschau , damit Sie mit dem Erstellen intelligenter Assistenten beginnen können.
Mit der Assistenten-API können Sie leistungsstarke KI-Assistenten erstellen, die Aufgaben ausführen können, die mit herkömmlichen Methoden schwer zu codieren sind. Es bietet programmgesteuerten Zugriff auf das GPT-System von OpenAI für Aufgaben, die von Chat über Bildverarbeitung, Audioverarbeitung und das Erstellen benutzerdefinierter Assistenten reichen. Die API unterstützt die Interaktion in natürlicher Sprache, um die Entwicklung von Assistenten zu ermöglichen, die konversationsorientiert verstehen und darauf reagieren können.
Befolgen Sie die Schnellstartanleitung für die Assistenten-API, um eine Assistent zu erstellen, die auf Mathematik spezialisiert ist.
Eingabeaufforderungsverwaltung
Die dynamische Eingabeaufforderungsverwaltung ermöglicht es dem Bot, die Größe und den Inhalt der an den LLM gesendeten Eingabeaufforderung basierend auf dem verfügbaren Tokenbudget und den Datenquellen oder Augmentationen anzupassen. Es verbessert die Effizienz und Genauigkeit der Eingabeaufforderung, indem sichergestellt wird, dass sie keine irrelevanten Informationen enthält oder das Kontextfenster überschreitet.
Vergrößerung
Verbessern Sie die Antworten Ihres KI-Modells mit Augmentation. Passen Sie Ihr Modell mit verschiedenen Modi an, um die Genauigkeit und die gewünschten Ergebnisse zu erzielen:
- Retrieval-Augmented Generation (RAG): Integrieren Sie dynamische externe Datenquellen in Echtzeit, um aktuelle, genaue Ergebnisse ohne erneutes Training zu erzielen.
- Monolog: Erstellen Sie Agents im AutoGPT-Stil für mehrstufige Aktionen mit vollständiger Schemaüberprüfung und automatischer Reparatur.
- Sequenz: Ermöglichen Sie Ihren KI-Assistent, eine Sequenz von Aktionen mit Schemavalidierung aus Gründen der Zuverlässigkeit zurückzugeben.
- Funktionen: Erstellen Sie strukturierte Antworten mithilfe anpassbarer benutzerdefinierter Funktionen. Die Aktion Planner bewertet und repariert Modellantworten auf Zuverlässigkeit und Konsistenz.
Vektordatenquellen
Vektordatenbanken sind zum Speichern von Vektoren konzipiert, um eine effiziente Suche zu ermöglichen. Sie geben die relevantesten Ergebnisse für die Abfrage eines Benutzers zurück. Sie ermöglichen rag die Verwendung von LLMs und benutzerdefinierten Daten oder domänenspezifischen Informationen. Dies umfasst das Extrahieren relevanter Informationen aus einer benutzerdefinierten Datenquelle und die Integration in die Modellanforderung durch Prompt Engineering. Vor dem Senden einer Anforderung an den LLM wird die Benutzereingabe in eine Einbettung transformiert, und Vektorsuchtechniken werden verwendet, um die am ähnlichsten einbettenden Elemente in der Datenbank zu finden.
Erweitertes Denken
Die KI-Bibliothek von Teams bietet ein integriertes Faktenüberprüfungssystem zur Bewältigung von Bot-Halluzinationen. Wenn ein Benutzer mit Ihrer KI-Assistent interagiert, fordert er den Bot auf, seine potenziellen Antworten vor dem Senden kritisch zu bewerten. Der Bot erkennt Ungenauigkeiten und korrigiert seine Antworten, was die Genauigkeit, Qualität und kontextbezogene Relevanz verbessert. Erweitertes Denken stellt sicher, dass Ihre KI-Assistent zu einer zuverlässigen Informations- und Beurteilungsquelle wird, die Vertrauen in das Produkt schafft und die Benutzerbindung erhöht.
Rückkopplungsschleife
Die Feedbackschleife ermöglicht es einem Bot, die Ausgabe des Sprachmodells zu überprüfen und zu korrigieren. Es überprüft die Struktur und die Parameter des Plans oder Monologs, den das Modell zurückgibt, und gibt Feedback zu Fehlern oder fehlenden Informationen. Das Modell versucht, seine Fehler zu beheben und eine gültige Ausgabe zurückzugeben. Die Feedbackschleife kann die Zuverlässigkeit und Genauigkeit des KI-Systems verbessern und die Wahrscheinlichkeit von Halluzinationen oder ungültigen Aktionen verringern.
Updates zur Ki-Bibliothek von Teams
In der folgenden Tabelle sind die Updates für die Teams KI-Bibliothek aufgeführt:
Typ | Beschreibung | .NET | JavaScript | Python |
---|---|---|---|---|
OpenAIModel | Mit der OpenAIModel-Klasse können Sie sowohl OpenAI als auch Azure OpenAI mit einer einzelnen Komponente aufrufen. Neue Modelle können für andere Modelltypen wie Llama2 definiert werden. | ✔️ | ✔️ | ✔️ |
Einbettungen | Mit der OpenAIEmbeddings-Klasse können Sie Einbettungen mit OpenAI oder Azure OpenAI generieren. Neue Einbettungen können für Dinge wie OSS-Einbettungen definiert werden. | ❌ | ✔️ | ✔️ |
Eingabeaufforderungen | Ein neues objektbasiertes Eingabeaufforderungssystem ermöglicht eine bessere Tokenverwaltung und verringert die Wahrscheinlichkeit, dass das Kontextfenster des Modells überläuft. | ✔️ | ✔️ | ✔️ |
Vergrößerung | Augmentationen vereinfachen die Aufgaben der Promptentwicklung, indem der Entwickler benannte Augmentationen zu seiner Eingabeaufforderung hinzufügen lässt. Nur functions die Stilerweiterungen , sequence und monologue werden unterstützt. |
✔️ | ✔️ | ✔️ |
Datenquellen | Ein neues DataSource-Plug-In erleichtert das Hinzufügen von RAG zu jeder Eingabeaufforderung. Sie können eine benannte Datenquelle beim Planner registrieren und dann die Namen der Datenquellen angeben, die die Eingabeaufforderung erweitern möchten. | ❌ | ✔️ | ✔️ |
Funktionsaufrufe mithilfe des AI SDK
Funktionsaufrufe, die im KI SDK implementiert sind, ermöglichen es dem KI-Modell, präzise Antworten nahtlos zu generieren. Es ermöglicht eine direkte Verbindung mit externen Tools und macht die KI noch leistungsfähiger. Zu diesen Funktionen gehören das Durchführen komplexer Berechnungen, das Abrufen wichtiger Daten, das Erstellen von reibungsloseren Workflows und das Ermöglichen dynamischer Interaktionen mit Benutzern.
Hinweis
Strukturierte Ausgaben werden nicht unterstützt.
So verwenden Sie Funktionsaufrufe mit der Chat-Vervollständigungs-API:
Richten Sie den Planer ein, in dem die Standardaufforderung die Tools Augmentation verwendet. Aktualisieren Sie eine der folgenden Dateien Ihrer Bot-App:
- Für eine JavaScript-App: Aktualisieren Sie
index.ts
. - Für eine C#-Bot-App: Aktualisieren Sie
Program.cs
. - Für eine Python-App: Aktualisieren Sie
bot.py
.
Der folgende Codeausschnitt zeigt, wie Die
ToolsAugmentation
-Klasse eingerichtet wird:const planner = new ActionPlanner({ model, prompts, defaultPrompt: 'tools' });
- Für eine JavaScript-App: Aktualisieren Sie
Geben Sie tools augmentation in der
config.json
Datei an.{ "schema": 1.1, "description": "", "type": "", "completion": { + "tool_choice": "auto", + "parallel_tool_calls": true, }, + "augmentation": { + "augmentation_type": "tools" + } }
Geben Sie alle in
function definitions
deractions.json
Datei an, die sich imprompts
Ordner befindet. Stellen Sie sicher, dass Sie das Schema befolgen, um Fehler zu vermeiden, wenn die Aktion vom LLM aufgerufen wird.[{ "name": "CreateList", "description": "Creates a list" }]
Registrieren Sie Ihre
handlers
in Ihremapplication
Kurs.- Jeder Handler ist eine Rückruffunktion, die ausgeführt wird, wenn ein bestimmtes Ereignis eintritt. Der Funktionsaufrufhandler führt Code als Reaktion auf das -Ereignis aus.
- Der Funktionsaufruf muss eine Zeichenfolge als Ausgabe des Funktionsaufrufs zurückgeben.
- Wenn das Modell den Aufruf von Funktionen anfordert
DO
, werden diese Befehlen innerhalb einesPlan
zugeordnet und in der KI-Klassenfunktionrun
aufgerufen. Die Ausgaben werden dann mit Toolaufruf-IDs an das Modell zurückgegeben, um zu zeigen, dass die Tools verwendet wurden.
Der folgende Codeausschnitt zeigt, wie Sie registrieren
handlers
:app.ai.action("createList", async (context: TurnContext, state: ApplicationTurnState, parameters: ListAndItems) => { // Ex. create a list with name "Grocery Shopping". ensureListExists(state, parameters.list); return `list created and items added. think about your next action`; });
Tooloptionen aktivieren
Sie können die folgenden Tooloptionen aktivieren:
Toolauswahl aktivieren: Erlauben Sie dem Modell, die Funktion auszuwählen, die es aufrufen muss, indem Sie die Toolauswahl aktivieren. In der
config.json
Datei:- Legen Sie als
required
festtool_choice
, damit das Modell immer mindestens eine Funktion aufruft. - Legen Sie
tool_choice
auf eine bestimmte Funktion fest, indem Sie deren Definition für die Verwendung dieser Funktion verwenden. - Legen Sie als
none
festtool_choice
, um das Tool zu deaktivieren.
Der Standardwert von
tool_choice
istauto
. Dadurch kann das Modell die Funktionen auswählen, die es aufrufen muss.- Legen Sie als
Parallele Toolaufrufe umschalten: Das parallele Ausführen von Tools ist schneller und reduziert die Anzahl der Hin- und Her-Aufrufe an die API. In der
config.json
Datei können Sie auftrue
oderfalse
festlegenparallel_tool_calls
. Standardmäßig ist derparallel_tool_calls
Parameter auftrue
festgelegt.
Der folgende Codeausschnitt zeigt, wie Sie die Toolauswahl aktivieren und parallele Toolaufrufe umschalten:
{
"schema": 1.1,
"description": "",
"type": "",
"completion": {
+ "tool_choice": "auto",
+ "parallel_tool_calls": true,
},
+ "augmentation": {
+ "augmentation_type": "tools"
+ }
}
Hinweis
Als Entwickler, der das KI SDK nutzt, können Sie wertvolles Feedback teilen oder Unterstützung anfordern , um Ihre Erfahrung zu verbessern.
Codebeispiele
Beispielname | Beschreibung | .NET | Node.js | Python |
---|---|---|---|---|
Echobot | In diesem Beispiel wird gezeigt, wie Sie mithilfe von Bot Framework und der KI-Bibliothek von Teams einen Konversationsfluss in eine Microsoft Teams-Anwendung integrieren. | View | View | View |
Suchbefehlsnachrichtenerweiterung | In diesem Beispiel wird gezeigt, wie Sie eine einfache Nachrichtenerweiterungs-App mithilfe von Bot Framework und der Teams KI-Bibliothek in eine Microsoft Teams-Anwendung integrieren. | View | View | View |
Typeahead-Bot | In diesem Beispiel wird gezeigt, wie Sie die Typeahead-Suchfunktion in adaptive Karten mithilfe von Bot Framework und der Teams KI-Bibliothek in eine Microsoft Teams-Anwendung integrieren. | View | View | View |
Konversationsbot mit KI: Teams Chef | In diesem Beispiel wird gezeigt, wie Sie das Verhalten von Konversationsbots in Microsoft Teams integrieren. Der Bot ist so aufgebaut, dass GPT die Konversation in seinem Namen erleichtern kann, indem nur eine Eingabeaufforderungsdatei in natürlicher Sprache verwendet wird, um sie zu leiten. | View | View | |
Nachrichtenerweiterungen: GPT-ME | Dieses Beispiel ist eine Nachrichtenerweiterung für Microsoft Teams, die das text-davinci-003-Modell verwendet, um Benutzern beim Generieren und Aktualisieren von Beiträgen zu helfen. | View | View | View |
Leichter Bot | In diesem Beispiel wird das verhalten komplexerer Konversationsbots in Microsoft Teams veranschaulicht. Der Bot ist so aufgebaut, dass GPT die Konversation in seinem Namen und manuell definierte Antworten erleichtern kann, und ordnet Benutzerabsichten benutzerdefinierten Aktionen zu. | View | View | View |
Bot auflisten | In diesem Beispiel wird gezeigt, wie Sie das Verhalten von Konversationsbots in Microsoft Teams integrieren. Der Bot nutzt die Leistungsfähigkeit von KI, um Ihren Workflow zu vereinfachen und Ordnung in Ihre täglichen Aufgaben zu bringen, und zeigt die Funktionen zur Aktionskette. | View | View | View |
DevOps-Bot | Dieses Beispiel zeigt, wie Sie das Verhalten von Konversationsbots in Microsoft Teams integrieren. Der Bot verwendet das modell gpt-3.5-turbo, um mit Teams-Benutzern zu chatten und DevOps-Aktionen wie Erstellen, Aktualisieren, Selektieren und Zusammenfassen von Arbeitselementen auszuführen. | View | View | View |
Zwanzig Fragen | Dieses Beispiel zeigt die unglaublichen Funktionen von Sprachmodellen und das Konzept der Benutzerabsicht. Fordern Sie Ihre Fähigkeiten als menschlicher Spieler heraus, und versuchen Sie, innerhalb von 20 Fragen ein Geheimnis zu erraten, während der KI-gestützte Bot Ihre Fragen zum Geheimnis beantwortet. | View | View | View |
Mathelehrer Assistent | In diesem Beispiel wird gezeigt, wie Sie mithilfe der Assistenten-APIs von OpenAI eine Konversationsumgebung erstellen. Es verwendet das Code Interpreter-Tool von OpenAI, um eine Assistent zu erstellen, die ein Experte für Mathematik ist. | View | View | View |
Assistent | Dieses Beispiel zeigt, wie Sie eine Konversations-Assistent erstellen, die Tools zum Aufrufen von Aktionen im Code Ihres Bots verwendet. Es ist eine Essensbestellung Assistent für ein fiktives Restaurant namens The Pub und ist in der Lage, komplexe Interaktionen mit dem Benutzer, während es seine Bestellung nimmt. | View | View | View |