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.
Os plug-ins permitem que os agentes declarativos no Microsoft 365 Copilot interajam com servidores MCP ou APIs REST que tenham uma descrição OpenAPI. Com um plug-in, os utilizadores podem pedir a um agente declarativo que consulte não só um servidor MCP ou a API REST para obter informações, mas também para criar, atualizar e eliminar dados e objetos. Tudo o que o servidor MCP ou a API REST pode fazer é acessível através de pedidos de linguagem natural.
Observação
Além de chamar servidores MCP ou APIs REST, existe uma funcionalidade de pré-visualização que permite que um plug-in chame APIs numa biblioteca local. Recomendamos que experimente esta funcionalidade, mas não deve ser utilizada num plug-in de produção. Para obter mais informações, veja Build API plugins for Microsoft 365 Copilot with the Office JavaScript Library (Criar plug-ins de API para Microsoft 365 Copilot com a Biblioteca JavaScript do Office).
Importante
Os plug-ins só são suportados como ações dentro de agentes declarativos. Não estão ativados no Microsoft 365 Copilot.
Um plug-in fornece um manifesto de plug-in que o Copilot utiliza para conhecer as capacidades do servidor MCP ou da API do plug-in. Em seguida, o Copilot pode decidir quando é que um plug-in instalado e ativado é adequado para responder a qualquer pedido. Para saber mais sobre o ficheiro de manifesto necessário para um plug-in, veja Plugin manifest schema for Microsoft 365 Copilot (Esquema de manifesto de plug-in para Microsoft 365 Copilot).
Exemplo de plug-in
Considere um servidor MCP de orçamentos que permita consultar e criar orçamentos, cobrar despesas ou adicionar fundos a orçamentos existentes. O pedido "Quanto falta no orçamento de viagem da Contoso" pode acionar um plug-in de orçamento, invocando a get-budgets ferramenta.
POST /mcp
Content-Type: application/json
{
"method": "tools/call",
"params": {
"name": "get-budgets",
"arguments": {
"budgetName": "contoso travel"
}
}
}
A Copilot utiliza a resposta do resultado da ferramenta para gerar a sua resposta: "O orçamento de viagens da Contoso tem atualmente 5 000 $ em fundos disponíveis. Se precisar de alocar fundos a categorias específicas ou controlar as despesas, também o posso ajudar. Deixe-me saber como posso ajudar!"
O pedido "Cobrar 500 dólares ao orçamento de viagem da Contoso para o bilhete de avião da Megan" pode ser traduzido para a seguinte chamada de ferramenta.
POST /mcp
Content-Type: application/json
{
"method": "tools/call",
"params": {
"name": "get-budgets",
"arguments": {
"budgetName": "contoso travel"
}
}
}
A Copilot utiliza a resposta da ferramenta para gerar a sua resposta: "O orçamento de viagens da Contoso tem atualmente 5000 $ em fundos disponíveis. Se precisar de alocar fundos a categorias específicas ou controlar as despesas, também o posso ajudar. Deixe-me saber como posso ajudar!"
O pedido "Cobrar 500 dólares ao orçamento de viagem da Contoso para o bilhete de avião da Megan" pode ser traduzido para a seguinte invocação da ferramenta MCP.
POST /mcp
Content-Type: application/json
{
"method": "tools/call",
"params": {
"name": "charge-budget",
"arguments": {
"budgetName": "contoso travel",
"amount": 500,
"description": "Megan's airline ticket"
}
}
}
Copilot responde ao utilizador, usando as informações devolvidas: "O custo de 500 dólares para o bilhete de avião da Megan foi processado com sucesso. O orçamento de viagens da Contoso tem agora $4.500 restantes em fundos disponíveis. Se precisar de efetuar mais transações ou precisar de mais assistência com o seu orçamento, informe-me!"
Como funcionam os plug-ins
O utilizador pergunta ao agente "Quanto resta no orçamento de renovação do Quarto Café?"
O agente identifica um plug-in relacionado com o orçamento a partir dos plug-ins disponíveis que tem uma ferramenta de servidor MCP ou API
GetBudgetpara obter detalhes do orçamento. Mapeia partes da pergunta do utilizador para os parâmetros da função:budgetName="".O agente pede ao utilizador para permitir o envio
Fourth Coffee lobby renovationpara o plug-in.O utilizador opta por permitir que os dados sejam partilhados com o plug-in uma vez ou opta por permitir sempre que os dados sejam partilhados para esta função.
Se o servidor MCP ou a API do plug-in exigir autenticação, o plug-in solicita um token ou chave de API a partir do arquivo de tokens.
O arquivo de tokens devolve um token ou chave. Se necessário, o arquivo de tokens faz com que o agente contacte o utilizador para iniciar sessão.
O agente envia um pedido para o servidor MCP ou API do plug-in, que está alojado fora do Microsoft 365.
O servidor ou API MCP devolve uma resposta.
{ "name": "Fourth Coffee lobby renovation", "availableFunds": 5000.00 }O agente gera uma resposta com base no servidor MCP ou na resposta da API.
O agente envia a resposta "Os fundos disponíveis deixados no orçamento de renovação do quarto café são $5.000."
Confirmar ações
O Copilot pergunta ao utilizador antes de enviar dados pela primeira vez para um plug-in.
Depois de o utilizador confirmar a ligação, as ferramentas do servidor MCP e as APIs que apenas obtêm dados não necessitam de confirmação, enquanto as ferramentas e APIs que modificam os dados o fazem. Os programadores de plug-in podem substituir estas predefinições. Para obter detalhes, veja Pedidos de confirmação para plug-ins de API para Microsoft 365 Copilot.
Personalizar a apresentação de resposta
O Copilot gera respostas de conversação com dados do servidor MCP ou respostas de API. Os plug-ins podem personalizar estas respostas ao fornecer modelos de Cartão Ajustável para apresentar dados de forma estruturada.
Otimizar o plug-in para o orquestrador Copilot
Microsoft 365 Copilot pode escolher exclusivamente a competência certa a partir das muitas competências no seu repertório. Mas como pode certificar-se de que o Copilot escolhe o plug-in para fornecer a competência certa?
A resposta reside na forma como descreve o plug-in, as suas competências e os parâmetros de iniciação de competências. Especifique descrições concisas e precisas no manifesto do plug-in para garantir que o orquestrador copilot sabe quando e como invocar o plug-in.
A forma como descreve o plug-in para o orquestrador depende do tipo de plug-in que criar, conforme descrito na tabela seguinte.
| Tipo de plug-in | Descrito por | Saiba mais |
|---|---|---|
| Plug-ins de API | Descrição de OpenAPI | Como tornar um documento OpenAPI eficaz na expansão do Copilot |
| Ações do Copilot Studio | Nomes e descrições no mapa de conversação Copilot Studio | Orquestrar tópicos e ações de copilot com IA geradora |
| Plug-ins de extensão de mensagem | Manifesto do aplicativo | Diretrizes para plug-ins de extensão de mensagens |
Gerar pacotes de plug-in
Existem duas ferramentas que os programadores podem utilizar para gerar pacotes de plug-ins de API.
- O Toolkit de Agentes do Microsoft 365 no Visual Studio ou Visual Studio Code pode criar pacotes de plug-ins com base num servidor MCP existente ou numa descrição openAPI. O Toolkit de Agentes também tem projetos de arranque com uma API de exemplo e um pacote de plug-in correspondente.
- O Kiota é uma ferramenta de linha de comandos e uma extensão de Visual Studio Code que pode gerar pacotes de plug-in com base numa descrição openAPI existente.
Limitações
Plug-ins do agente declarativo
Quando um agente declarativo inclui até cinco plug-ins definidos no manifesto do agente declarativo, os plug-ins são sempre injetados no pedido. Quando são definidos mais de cinco plug-ins, o agente utiliza a correspondência semântica. A correspondência semântica baseia-se na descrição do plug-in e não em nenhuma das funções individuais dentro do próprio plug-in.
Um plug-in pode incluir um número ilimitado de funções. Todas as funções são devolvidas, mesmo que apenas uma função seja correspondida. No entanto, devido aos limites das janelas de tokens, a qualidade das respostas poderá degradar-se se forem incluídas mais de 10 funções.
A janela de token para entradas e saídas de um plug-in trunca conteúdo grande. O limite funcional está sujeito a alterações à medida que os modelos melhoram e consoante qualquer sobrecarga do sistema. Otimize para comprimentos de tokens pequenos ou opte por opções de extensibilidade que permitem a transmissão em fluxo de conteúdos grandes, se necessário.
Conteúdo relacionado
- Criar plug-ins de API a partir de uma API existente para Microsoft 365 Copilot
- Criar plug-ins de API com uma nova API para Microsoft 365 Copilot
- Criar plug-ins a partir de um servidor MCP para Microsoft 365 Copilot
- Esquema de manifesto de plug-in para Microsoft 365 Copilot
- Escrever instruções efetivas para agentes declarativos com plug-ins de API