Teams-KI-Bibliothek
Die Teams KI-Bibliothek ist eine Teams-zentrierte Schnittstelle für GPT-basierte Common Language-Modelle und Benutzerabsichts-Engines, die die Notwendigkeit vereinfacht, dass Sie komplexe und teure Aufgaben des Schreibens und Verwaltens von Konversationsbotlogik für die Integration in large Language Models (LLMs) übernehmen müssen.
Die KI-Bibliothek bietet einen einfachen funktionsgesteuerten Ansatz und hilft Ihnen, intelligente Apps schnell und einfach mit vordefinierten, wiederverwendbaren Codeausschnitten zu erstellen, sodass Sie sich auf die Erstellung der Geschäftslogik konzentrieren können, anstatt die Semantik von Teams-Konversationsanwendungen zu erlernen.
Gründe für die Verwendung der Teams KI-Bibliothek
Die KI-Bibliothek ist eine Teams-zentrierte Schnittstelle für große Sprachmodelle. Ihre Apps können LLMs verwenden, um natürlichere Konversationsinteraktionen mit Benutzern zu ermöglichen und diese Konversation in Ihre App-Fähigkeiten zu integrieren.
Sie können sich auf das Schreiben Ihrer Geschäftslogik konzentrieren und Es Teams ermöglichen, die Komplexität von Konversationsbots zu verarbeiten, sodass Sie benutzerspezifische Absichten in Ihren Apps problemlos extrahieren und nutzen können.
Die KI-Bibliothek ist eine Teams-zentrierte Schnittstelle für große Sprachmodelle. 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.
Die Bibliothek enthält eine Planungs-Engine, mit der das Modell die Absicht des Benutzers identifizieren und diese Absicht dann den von Ihnen implementierten Aktionen zuordnet.
Sie können ganz einfach Unterstützung für jede LLM Ihrer Wahl hinzufügen, ohne die Botlogik zu ändern.
Die Teams KI-Bibliothek ist in JavaScript- und C#-Sprachen verfügbar, sodass Sie die Leistungsfähigkeit von KI nutzen und intelligente, benutzerfreundliche Anwendungen für Microsoft Teams mit den Programmiersprachen erstellen können, mit denen sie am besten vertraut sind. Wir sind einer Denkweise verpflichtet, bei der Sie KI-Produkte mit den gewünschten Tools und Sprachen erstellen, um Ihren Kunden in Teams die bestmögliche Erfahrung zu bieten.
Im Folgenden finden Sie einige der Standard Features, die über die Teams KI-Bibliothek verfügbar sind:
Einfaches Teams-zentriertes Komponentengerüst
Die Teams KI-Bibliothek vereinfacht das Teams-App-Modell, um sich auf die erforderliche Erweiterung im Vergleich zum erforderlichen Protokoll zu konzentrieren. Sie können vordefinierte Vorlagen verwenden und Ihre Geschäftslogik zu diesem Gerüst hinzufügen, um Module wie Bots, Nachrichtenerweiterungen, adaptive Karten oder Linkentflechtung hinzuzufügen.
Modellierung in natürlicher Sprache
Die Teams KI-Bibliothek wurde mit GPT-gestützten Sprachmodellen erstellt, sodass Sie keine Zeit damit verbringen müssen, Ihre Konversationslogik zu schreiben und Benutzerabsichten zu identifizieren. Das Erstellen KI-gestützter Teams-Apps ist einfacher, konformer und konsistent nutzbar als je zuvor.
Bots können kontextintern ausgeführt werden und unterstützen, wenn der Bot eine Benutzerabsicht erkennt, die einer der Botaktionen zugeordnet ist. Dies fördert die Konversation, ohne dass Benutzer explizit mit dem Bot sprechen müssen, indem sie eine kleine Gruppe registrierter Aktionen verwenden.
Prompt Engineering
Prompt Engineering hilft Ihnen, Eingabeaufforderungen zu entwerfen, die die Absicht des Benutzers, den Kontext der Unterhaltung und die Botpersönlichkeit berücksichtigen. Bots können personalisiert und angepasst werden, um die Anforderungen der Benutzer zu erfüllen.
Verlauf der Konversationssitzung
Die KI-Bibliothek von Teams speichert den Kontext nachrichtenübergreifend und hilft, die Leistung des Bots zu verbessern, indem Muster im Benutzerverhalten analysiert werden.
Lokalisierung
Da die KI-Bibliothek von Teams das GPT-Modell von OpenAI verwendet, ist die Lokalisierung verfügbar. Wenn ein Benutzer in einer beliebigen Sprache eingibt, wird die Eingabe konsistent in Absichten, Entitäten und resultierende Aktionen übersetzt, die die App versteht, ohne dass Lokalisierungsdatensätze erstellt und verwaltet werden müssen.
LLM Modularität
Das Große Sprachmodell (Large Language Model, LLM) ist ein erweitertes Sprachmodell, das latente Variablen verwendet, um kohärenten und vielfältigen Text und Stil in natürlicher Sprache zu generieren.
Obwohl die Teams KI-Bibliothek für die Verwendung des GPT-Modells von Open AI entwickelt wurde, haben Sie die Flexibilität, mit jedem LLM Ihrer Wahl 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
Mit der Ki-Bibliothek von Teams können Sie ethische und verantwortungsvolle Konversations-Apps erstellen, indem Sie:
- Moderationshooks: Um Botantworten für jede Moderations-API zu regulieren.
- Konversations-Sweeping: Um Unterhaltungen zu überwachen und zu intervenieren, wenn die Konversation durch proaktive Erkennung und Wartung in die Irre geht.
- Feedbackschleifen: Um die Leistung des Bots für qualitativ hochwertige Unterhaltungen zu bewerten und die Benutzererfahrung zu verbessern.
Die KI-Bibliothek von Teams bietet Unterstützung von wenig Code bis hin zu komplexen Szenarien. Die Bibliothek erweitert die Funktionen um KI-Konstrukte, um modellierung natürlicher Sprache, szenariospezifische Benutzerabsichten, Personalisierung und automatisierte kontextbezogene Unterhaltungen zu erstellen.
Predictive Engine zum Zuordnen von Absichten zu Aktionen
Eine einfache Schnittstelle für Aktionen und Vorhersagen ermöglicht Bots, zu reagieren, wenn der Bot vertrauen kann, um Maßnahmen zu ergreifen. Mithilfe der Umgebungspräsenz können Bots die Absicht erlernen, Eingabeaufforderungen basierend auf der Geschäftslogik verwenden und Antworten generieren. Wenn ein Benutzer z. B. nicht mehr im Büro war und einen Thread schnell zusammenfassen muss, gilt für die Bibliothek Folgendes:
- Versteht die Absicht als Zusammenfassung.
- Ermöglicht Eingabeaufforderungen das Erstellen von Zusammenfassungen über einen Zeitraum, der sich auf den Vorgesetzten des Benutzers konzentriert.
- Stellt Aktionen bereit, um Chatinhalte zusammenzufassen, die Benutzer nutzen können.
Aktions-Planner
Action Planner ist die Standard Komponente, die Ihr LLM (Large Language Model) aufruft und mehrere Features enthält, um Ihr Modell zu verbessern und anzupassen. 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. Zusätzliche Plug-Ins für andere Modelle wie Llama-2 können problemlos hinzugefügt werden, sodass Sie flexibel auswählen können, welches Modell für Ihren Anwendungsfall am besten geeignet ist. 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 eine Vielzahl von Aufgaben ausführen können, die mit herkömmlichen Methoden schwer zu programmieren 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 Interaktion in natürlicher Sprache und ermöglicht die Entwicklung von Assistenten, die konversationsorientiert verstehen und darauf reagieren können.
Befolgen Sie die Schnellstartanleitung, um eine Assistent zu erstellen, die auf Mathematik spezialisiert ist.
Eingabeaufforderungsverwaltung
Die dynamische Eingabeaufforderungsverwaltung ist ein Feature des KI-Systems, das es ermöglicht, die Größe und den Inhalt der Eingabeaufforderung anzupassen, die an das Sprachmodell gesendet wird, basierend auf dem verfügbaren Tokenbudget und den Datenquellen oder Augmentationen. Es kann die Effizienz und Genauigkeit des Modells verbessern, indem sichergestellt wird, dass die Eingabeaufforderung das Kontextfenster nicht überschreitet oder irrelevante Informationen enthält.
Vergrößerung
Verbessern und leiten Sie die Antworten Ihres KI-Modells mit Augmentation effizient. Mithilfe verschiedener Augmentierungsmodi können Sie Ihr Modell an Ihre Anforderungen anpassen und so die Genauigkeit und die gewünschten Ergebnisse erhöhen.
Retrieval Augmented Generation (RAG): Integriert automatisch echtzeitbasierte, dynamische und angegebene externe Datenquellen in die Antworten Ihres Modells, sodass aktuelle und kontextgenaue Ergebnisse erzielt werden, ohne das Modell zu optimieren oder neu zu trainieren. Beantworten Sie Fragen zu den heutigen Verkaufszahlen, oder passen Sie sie an die Daten eines bestimmten Benutzers an. mit RAG ist Ihr Modell nicht mehr in der Vergangenheit hängen geblieben.
Monolog: Erstellen Sie Agents im AutoGPT-Stil, die in der Lage sind, mehrstufige Aktionen unabhängig und zuverlässig mit vollständiger Schemavalidierung und automatischer Reparatur auszuführen.
Sequenz: Ermöglichen Sie Ihren KI-Assistent, eine Sequenz von Aktionen für die Ausführung zurückzugeben, wobei die Zuverlässigkeit der Schemavalidierung erhöht wird.
Funktionen: Erstellen Sie strukturierte Antworten aus Ihrem Modell, indem Sie benutzerdefinierte Funktionen verwenden. Diese Funktionen können mithilfe von JSON-Schemas angepasst werden, um die Parameter und ihr Format zu definieren. Der ActionPlanner bewertet Modellantworten anhand des Schemas und nimmt bei Bedarf Reparaturen vor, um die Zuverlässigkeit und Konsistenz der Reaktion zu erhöhen.
Vektordatenquellen
Vektordatenbanken sind eine neue Art von Datenbank, die entwickelt wurde, um Vektoren zu speichern und eine effiziente Suche darüber zu ermöglichen. Sie geben die relevantesten Ergebnisse für die Abfrage eines Benutzers zurück. Die Vektorsuchfunktion in einer Vektordatenbank ermöglicht die Abruferweiterungsgenerierung, LLMs und benutzerdefinierte Daten oder domänenspezifische Informationen zu verwenden. 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, Abfrage oder Anforderung in eine Einbettung transformiert, und Vektorsuchtechniken werden verwendet, um die ähnlichsten Einbettungen in der Datenbank zu finden.
Erweitertes Denken
Die Teams KI-Bibliothek bietet ein integriertes Faktenüberprüfungssystem zur Bewältigung von Bot-Halluzinationen. Wenn ein Benutzer mit Ihrer KI-Assistent interagiert, fordert das System den Bot auf, sich in einen Prozess der Selbstreflektion einzulassen, der seine potenziellen Antworten vor dem Senden kritisch auswertet. Die Introspektion ermöglicht es dem Bot, Ungenauigkeiten zu identifizieren und seine Antworten zu korrigieren, 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 Ihr Produkt schafft und Benutzer jeden Tag zurück zieht.
Rückkopplungsschleife
Die Feedbackschleife ermöglicht es dem 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 dann, seine Fehler zu beheben, und gibt eine gültige Ausgabe zurück. Die Feedbackschleife kann die Zuverlässigkeit und Genauigkeit des KI-Systems verbessern und die Wahrscheinlichkeit von Halluzination oder ungültigen Aktionen verringern.
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 OAI als auch Azure OAI 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 OAI oder Azure OAI 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: Damit das Modell die Funktion auswählen kann, die es aufrufen muss, indem die Toolauswahl aktiviert wird. 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"
+ }
}
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 grundlegenden 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 ein grundlegendes Verhalten eines 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 (ME) 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 | Dieses Beispiel veranschaulicht das komplexere Verhalten von Konversationsbots in Microsoft Teams. 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 ein grundlegendes Verhalten eines 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 | In diesem Beispiel wird gezeigt, wie Sie ein grundlegendes Verhalten eines 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 einfache 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 | In diesem Beispiel wird gezeigt, wie Sie eine Konversations-Assistent erstellen, die Tools zum Aufrufen von Aktionen in Ihrem Bots-Code 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 |