KI-Dienste und Orchestrierung hinzufügen

Das Microsoft 365 Agents SDK erstellt einen Agent, der Entwicklern einen Container zum Hinzufügen ihrer ausgewählten KI-Dienste bereitstellt. Der Agent kann:

  • Verwalten Sie den Status über mehrere Interaktionen hinweg, einschließlich des Chatverlaufs der KI.
  • Speichern des Zustands oder der Daten dauerhaft im Speicher Ihrer Wahl (mit integrierten Optionen für Blobs und CosmosDb)
  • Aktivitäten und Ereignisse verwalten

Der Agent kann in jedem Kanal eingesetzt werden, einschließlich Microsoft Copilot und Microsoft Teams.

KI-Dienste enthalten in der Regel Chatendpunkte, können aber auch Assistenten oder gehostete Agents enthalten, z. B. In Copilot Studio integrierte Agents. Orchestrierung kann abhängig von der Geschäftslogik sowie davon hinzugefügt werden, wie Entwickler den Zustand verwalten und Tools/Plugins aufrufen möchten. Entwickler können abhängig von Ihren Anforderungen verschiedene technische Plattformen je nach definierter Geschäftslogik auswählen, um Muster mit mehreren Agent-Szenarien zu implementieren.

Hinzufügen von semantischem Kernel und Azure OpenAI

Sie haben die Wahl, wo Sie KI-Dienste zum Agent hinzufügen möchten.

Sie können KI-Dienste gleichzeitig implementieren, während der Kern-Agent-Container erstellt wird, zusammen mit den Diensten in einer Webanwendung.

Sie können dieses Verhalten im Semantischen Kernel mit mehreren Interaktionen mit dem Wetteragenten .NET-Beispiel im GitHub-Beispiel-Repository sehen.

builder.Services.AddKernel();

builder.Services.AddAzureOpenAIChatCompletion(
    deploymentName: builder.Configuration.GetSection("AIServices:AzureOpenAI").GetValue<string>("DeploymentName"),
    endpoint: builder.Configuration.GetSection("AIServices:AzureOpenAI").GetValue<string>("Endpoint"),
    apiKey: builder.Configuration.GetSection("AIServices:AzureOpenAI").GetValue<string>("ApiKey"),
    modelId: builder.Configuration.GetSection("AIServices:OpenAI").GetValue<string>("ModelId")
);

Entwickler können unterschiedliche Agents mit diesen Diensten erstellen, die jeweils über ein eigenes Plug-In verfügen. Anschließend können Sie die Agenten als Parameter an den Container des Agents SDK übergeben.

Sie können sich auch dafür entscheiden, KI-Dienste an anderer Stelle zu implementieren. Sie können beispielsweise die Dienste in der Agentklasse implementieren, die zur Laufzeit an den Agent erstellt und übergeben wird. Diese Klasse wird in einigen Beispielen als MyAgent angezeigt. Mit diesem Ansatz können Sie Semantischer Kernel oder sogar mehrere Orchestratoren verwenden, und er ist separat vom Haupt-Agenten aufgebaut.

var builder = Kernel.CreateBuilder();

builder.AddAzureOpenAIChatCompletion(
    deploymentName: deploymentName,
    endpoint: endpoint,
    apiKey: apiKey);

var kernel = builder.Build();