Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As bibliotecas de cliente Microsoft 365 Copilot APIs foram concebidas para facilitar o desenvolvimento de soluções de IA de alta qualidade, eficientes e resilientes que acedem às APIs copilot. Estas bibliotecas incluem bibliotecas de serviço e de núcleo.
As bibliotecas de serviços oferecem modelos e construtores de pedidos que proporcionam uma experiência avançada e escrita para trabalhar com apIs Microsoft 365 Copilot.
As bibliotecas principais oferecem funcionalidades avançadas para facilitar as interações com as APIs copilot. Estas funcionalidades incluem suporte incorporado para processamento de repetições, redirecionamentos seguros, autenticação transparente e compressão de payload. Estas capacidades ajudam-no a melhorar a qualidade das comunicações da sua solução de IA com as APIs copilot sem adicionar complexidade. Além disso, as bibliotecas principais simplificam as tarefas de rotina, como paginar através de coleções e criar pedidos em lote.
Idiomas compatíveis
As bibliotecas de cliente das APIs copilot estão atualmente disponíveis para os seguintes idiomas:
Bibliotecas de cliente no status de pré-visualização
As bibliotecas de cliente das APIs copilot podem estar em pré-visualização status quando são lançadas inicialmente ou após uma atualização significativa. Evite utilizar a versão de pré-visualização destas bibliotecas em soluções de produção, independentemente de a sua solução utilizar a versão 1.0 ou a versão beta das APIs copilot.
Suporte de bibliotecas de cliente
As bibliotecas da API copilot são projetos open source no GitHub. Se encontrar um erro, submeta um problema com os detalhes no separador Problemas . Os contribuidores analisam e lançam as correções conforme necessário.
Instalar as bibliotecas
As bibliotecas de cliente da API Copilot estão incluídas como um módulo no SDK de Agentes do Microsoft 365. Estas bibliotecas podem ser incluídas nos seus projetos através do GitHub e gestores de pacotes de plataforma populares.
Instalar as bibliotecas de cliente .NET das APIs Copilot
As bibliotecas de cliente .NET das APIs copilot estão disponíveis nos seguintes pacotes NuGet:
- Microsoft.Agents.M365Copilot.Beta - Contém os modelos e os construtores de pedidos para aceder ao ponto final beta. Microsoft.Agents.M365Copilot.Beta tem uma dependência em Microsoft.Agents.M365Copilot.Core. A mesma estrutura de dependência aplica-se também às bibliotecas TypeScript e Python.
- Microsoft.Agents.M365Copilot.Core – a biblioteca principal para fazer chamadas para as APIs copilot.
Para instalar os pacotes Microsoft.Agents.M365Copilot no seu projeto, utilize a CLI dotnet, a IU do Gestor de Pacotes no Visual Studio ou a Consola do Gestor de Pacotes no Visual Studio.
CLI do dotnet
dotnet add package Microsoft.Agent.M365Copilot.Beta
Consola do Gestor de Pacotes
Install-Package Microsoft.Agent.M365Copilot.Beta
Criar um cliente de APIs copilot e fazer uma chamada à API
O exemplo de código seguinte mostra como criar uma instância de um cliente de APIs Microsoft 365 Copilot com um fornecedor de autenticação nos idiomas suportados. O fornecedor de autenticação processa a aquisição de tokens de acesso para a aplicação. Estão disponíveis muitos fornecedores de autenticação diferentes para cada idioma e plataforma. Os diferentes fornecedores de autenticação suportam diferentes cenários de cliente. Para obter detalhes sobre que fornecedor e opções são adequados para o seu cenário, veja Escolher um Fornecedor de Autenticação.
O exemplo também mostra como fazer uma chamada à API de Obtenção. Para chamar esta API, primeiro tem de criar um objeto de pedido e, em seguida, executar o método POST no pedido.
O ID de cliente é o ID de registo da aplicação que é gerado quando regista a sua aplicação no portal do Azure.
using Azure.Identity;
using Microsoft.Agents.M365Copilot.Beta;
using Microsoft.Agents.M365Copilot.Beta.Models;
using Microsoft.Agents.M365Copilot.Beta.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 with explicit base URL
var baseURL = “https://graph.microsoft.com/beta”;
AgentsM365CopilotBetaServiceClient client = new AgentsM365CopilotBetaServiceClient (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);
}