Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Microsoft 365 Copilot-APIs-Clientbibliotheken sind so konzipiert, dass sie die Entwicklung von hochwertigen, effizienten und resilienten KI-Lösungen erleichtern, die auf die Copilot-APIs zugreifen. Zu diesen Bibliotheken gehören Dienst- und Kernbibliotheken.
Die Dienstbibliotheken bieten Modelle und Anforderungsgeneratoren, die eine umfangreiche, typisierte Erfahrung für die Arbeit mit Microsoft 365 Copilot-APIs bieten.
Die Kernbibliotheken bieten erweiterte Features, um Interaktionen mit den Copilot-APIs zu erleichtern. Zu diesen Features gehören eingebettete Unterstützung für die Wiederholungsbehandlung, sichere Umleitungen, transparente Authentifizierung und Nutzlastkomprimierung. Diese Funktionen helfen Ihnen, die Qualität der Kommunikation Ihrer KI-Lösung mit den Copilot-APIs zu verbessern, ohne die Komplexität zu erhöhen. Darüber hinaus vereinfachen die Kernbibliotheken Routineaufgaben wie das Paging durch Sammlungen und das Erstellen von Batchanforderungen.
Unterstützte Sprachen
Die Clientbibliotheken der Copilot-APIs sind derzeit für die folgenden Sprachen verfügbar:
Clientbibliotheken in der Vorschauversion status
Die Copilot-APIs-Clientbibliotheken können sich bei der ersten Veröffentlichung oder nach einem wichtigen Update in der Vorschauversion status befinden. Vermeiden Sie die Verwendung der Vorschauversion dieser Bibliotheken in Produktionslösungen, unabhängig davon, ob Ihre Lösung Version 1.0 oder die Betaversion der Copilot-APIs verwendet.
Unterstützung von Clientbibliotheken
Die Copilot-API-Bibliotheken sind Open-Source-Projekte auf GitHub. Wenn ein Fehler auftritt, melden Sie ein Problem mit den Details auf der Registerkarte Probleme . Mitwirkende überprüfen und veröffentlichen Korrekturen nach Bedarf.
Installieren der Bibliotheken
Die Copilot-API-Clientbibliotheken sind als Modul im Microsoft 365 Agents SDK enthalten. Diese Bibliotheken können über GitHub und beliebte Plattformpaket-Manager in Ihre Projekte einbezogen werden.
Installieren der Copilot-APIs .NET-Clientbibliotheken
Die .NET-Clientbibliotheken der Copilot-APIs sind in den folgenden NuGet-Paketen verfügbar:
- Microsoft.Agents.M365Copilot : Enthält die Modelle und Anforderungsgeneratoren für den Zugriff auf den v1.0-Endpunkt. Microsoft.Agents.M365Copilot hat eine Abhängigkeit von Microsoft.Agents.M365Copilot.Core. Die gleiche Abhängigkeitsstruktur gilt sowohl für die TypeScript- als auch für die Python-Bibliotheken.
- Microsoft.Agents.M365Copilot.Beta : Enthält die Modelle und Anforderungsersteller für den Zugriff auf den Betaendpunkt. Microsoft.Agents.M365Copilot.Beta ist von Microsoft.Agents.M365Copilot.Core abhängig. Die gleiche Abhängigkeitsstruktur gilt sowohl für die TypeScript- als auch für die Python-Bibliotheken.
- Microsoft.Agents.M365Copilot.Core : Die Kernbibliothek für Aufrufe an die Copilot-APIs.
Um die Microsoft.Agents.M365Copilot-Pakete in Ihrem Projekt zu installieren, verwenden Sie die dotnet CLI, die Benutzeroberfläche des Paket-Managers in Visual Studio oder die Paket-Manager-Konsole in Visual Studio.
dotnet CLI
Für den v1.0-Endpunkt:
dotnet add package Microsoft.Agent.M365Copilot
Für den Betaendpunkt:
dotnet add package Microsoft.Agent.M365Copilot.Beta
Paket-Manager-Konsole
Für den v1.0-Endpunkt:
Install-Package Microsoft.Agent.M365Copilot
Für den Betaendpunkt:
Install-Package Microsoft.Agent.M365Copilot.Beta
Installieren der Python-Clientbibliotheken der Copilot-APIs
Die Python-Clientbibliotheken der Copilot-APIs sind im Python-Paketindex verfügbar.
Für den v1.0-Endpunkt:
pip install microsoft-agents-m365copilot
Für den Betaendpunkt:
pip install microsoft-agents-m365copilot-beta
Installieren der TypeScript-Clientbibliotheken der Copilot-APIs
Die TypeScript-Clientbibliotheken der Copilot-APIs sind in npm verfügbar.
Für den v1.0-Endpunkt:
npm install @microsoft/agents-m365copilot –save
Für den Betaendpunkt:
npm install @microsoft/agents-m365copilot-beta –save
Erstellen eines Copilot-APIs-Clients und Durchführen eines API-Aufrufs
Das folgende Codebeispiel zeigt, wie Sie eine instance eines Microsoft 365 Copilot-APIs-Clients mit einem Authentifizierungsanbieter in den unterstützten Sprachen erstellen. Der Authentifizierungsanbieter übernimmt das Abrufen von Zugriffstoken für die Anwendung. Für jede Sprache und Plattform sind viele verschiedene Authentifizierungsanbieter verfügbar. Die verschiedenen Authentifizierungsanbieter unterstützen unterschiedliche Clientszenarien. Weitere Informationen darüber, welcher Anbieter und welche Optionen für Ihr Szenario angemessen sind, finden Sie unter Auswählen eines Authentifizierungsanbieters.
Das Beispiel zeigt auch, wie Sie die Abruf-API aufrufen. Um diese API aufzurufen, müssen Sie zunächst ein Anforderungsobjekt erstellen und dann die POST-Methode für die Anforderung ausführen.
Die Client-ID ist die App-Registrierungs-ID, die generiert wird, wenn Sie Ihre App im Azure-Portal registrieren.
using Azure.Identity;
using Microsoft.Agents.M365Copilot;
using Microsoft.Agents.M365Copilot.Models;
using Microsoft.Agents.M365Copilot.Copilot.Retrieval;
var scopes = new[] {"Files.Read.All", "Sites.Read.All"};
// Multi-tenant apps can use "common",
// single-tenant apps must use the tenant ID from the Azure portal
var tenantId = "YOUR_TENANT_ID";
// Value from app registration
var clientId = "YOUR_CLIENT_ID";
// using Azure.Identity;
var deviceCodeCredentialOptions = new DeviceCodeCredentialOptions
{
ClientId = clientId,
TenantId = tenantId,
// Callback function that receives the user prompt
// Prompt contains the generated device code that user must
// enter during the auth process in the browser
DeviceCodeCallback = (deviceCodeInfo, cancellationToken) =>
{
Console.WriteLine(deviceCodeInfo.Message);
return Task.CompletedTask;
},
};
// https://learn.microsoft.com/dotnet/api/azure.identity.devicecodecredential
var deviceCodeCredential = new DeviceCodeCredential(deviceCodeCredentialOptions);
//Create the client
AgentsM365CopilotServiceClient client = new AgentsM365CopilotServiceClient (deviceCodeCredential, scopes, baseURL);
try
{
var requestBody = new RetrievalPostRequestBody
{
DataSource = RetrievalDataSource.SharePoint,
QueryString = "What is the latest in my organization?",
MaximumNumberOfResults = 10
};
var result = await client.Copilot.Retrieval.PostAsync(requestBody);
Console.WriteLine($"Retrieval post: {result}");
if (result != null)
{
Console.WriteLine("Retrieval response received successfully");
Console.WriteLine("\nResults:");
Console.WriteLine(result.RetrievalHits.Count.ToString());
if (result.RetrievalHits != null)
{
foreach (var hit in result.RetrievalHits)
{
Console.WriteLine("\n---");
Console.WriteLine($"Web URL: {hit.WebUrl}");
Console.WriteLine($"Resource Type: {hit.ResourceType}");
if (hit.Extracts != null && hit.Extracts.Any())
{
Console.WriteLine("\nExtracts:");
foreach (var extract in hit.Extracts)
{
Console.WriteLine($" {extract.Text}");
}
}
if (hit.SensitivityLabel != null)
{
Console.WriteLine("\nSensitivity Label:");
Console.WriteLine($" Display Name: {hit.SensitivityLabel.DisplayName}");
Console.WriteLine($" Tooltip: {hit.SensitivityLabel.Tooltip}");
Console.WriteLine($" Priority: {hit.SensitivityLabel.Priority}");
Console.WriteLine($" Color: {hit.SensitivityLabel.Color}");
if (hit.SensitivityLabel.IsEncrypted.HasValue)
{
Console.WriteLine($" Is Encrypted: {hit.SensitivityLabel.IsEncrypted.Value}");
}
}
}
}
else
{
Console.WriteLine("No retrieval hits found in the response");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error making retrieval request: {ex.Message}");
Console.Error.WriteLine(ex);
}