Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Funções do Azure hosted skills é um modelo de programação para construir capacidades inteligentes orientadas a eventos e alojadas na cloud no Funções do Azure. Defines o comportamento com Markdown, instruções em linguagem natural e configuração declarativa. Pode integrar competências alojadas com as suas aplicações através de triggers e bindings do Funções do Azure, ou trazer o seu próprio código como ferramentas quando necessário.
Importante
As habilidades hospedadas do Funções do Azure estão atualmente em pré-visualização. Funcionalidades, nomes de configuração e conectores suportados podem mudar antes da disponibilidade geral.
Uma aplicação de competências alojada no Funções do Azure é uma aplicação de funções que utiliza o modelo de programação de competências alojado. Contém tarefas de IA definidas em .agent.md ficheiros, e as tarefas podem opcionalmente usar orientações Markdown reutilizáveis a partir de SKILL.md ficheiros. Neste artigo, competências alojadas referem-se ao modelo de programação, tarefa a uma unidade individual executável, e competência à orientação reutilizável do Markdown.
Scenarios
As competências alojadas no Funções do Azure funcionam melhor para cargas de trabalho de IA orientadas por eventos e ricas em ferramentas. Cenários comuns incluem:
- Tarefas HTTP que recebem um pedido, chamam ferramentas e devolvem uma resposta estruturada.
- Tarefas agendadas que executam relatórios diários, resumos, fluxos de trabalho de limpeza ou reconciliação.
- Tarefas de fila ou de mensagens que processam itens de trabalho que necessitam de raciocínio do modelo ou de chamadas a ferramentas.
- Tarefas de alteração de dados que reagem a ficheiros, registos ou linhas de base de dados novos ou alterados.
- Tarefas acionadas por conectores que reagem a eventos provenientes de conectores geridos, como mensagens do Teams, correio do Outlook ou eventos de calendário.
Dica
Para experimentar competências alojadas no Funções do Azure, consulte Construir uma aplicação de IA orientada a eventos com competências alojadas no Funções do Azure. Ao usar um azd modelo, pode ter uma aplicação funcional implementada no Azure em minutos.
Por que usar Funções para as suas aplicações de IA?
As cargas de trabalho de IA em produção precisam de mais do que um prompt e um modelo. Precisam de formas fiáveis para iniciar o trabalho, ligar para sistemas externos, persistir o histórico de conversas, executar código não confiável em segurança, autenticar sem segredos, emitir telemetria e escalar a pedido.
O Functions fornece um modelo de computação orientado a eventos para estas preocupações operacionais. As competências alojadas no Funções do Azure aplicam esse mesmo modelo ao teu código de IA. Os benefícios incluem:
- As tarefas de IA são a unidade de trabalho. Cada tarefa é definida num ficheiro separado
.agent.mdcom configuração declarativa e instruções em linguagem natural. - Os eventos iniciam tarefas. As funções desencadeiam tarefas de IA a partir de agendamentos, pedidos HTTP, mensagens de fila, alterações de blobs, eventos da Grade de Eventos, mensagens do Service Bus e outros eventos suportados.
- As funcionalidades configuram-se primeiro, recorrendo a código apenas quando necessário. Pode configurar as tarefas para usar servidores MCP remotos, servidores MCP hospedados em espaços de nomes de conectores, competências e execuções de código isoladas. Escreve as tuas próprias ferramentas baseadas em Python para lógica específica de aplicações.
- O alojamento do Funções do Azure está integrado. As competências alojadas no Funções do Azure suportam os planos Flex Consumption, Premium e Dedicated (App Service). O Flex Consumption oferece dimensionamento até zero, faturação por segundo e dimensionamento automático. Todos os planos suportam identidade gerida, integração com redes virtuais e Application Insights.
- A canalização operacional é tratada por si. O runtime gere a descoberta de tarefas, registo de gatilhos, montagem de ferramentas, histórico de sessões e endpoints opcionais incorporados.
Funciona com outras plataformas de IA da Microsoft
As competências alojadas no Funções do Azure são complementares a outras ofertas de IA da Microsoft e podem ser usadas em conjunto. O seu ponto ideal é construir capacidades inteligentes alojadas na cloud e orientadas por eventos no Funções do Azure através de um modelo de programação acessível. As competências hospedadas podem expor capacidades através de HTTP ou MCP para serem utilizadas por outras aplicações, agentes e estruturas de teste para agentes.
Escolha a funcionalidade Azure que melhor se adapta ao seu cenário:
| Scenario | Option |
|---|---|
| Expor funções determinísticas como ferramentas para outro cliente de IA | extensão MCP do Funções do Azure |
| Orquestração de longa duração, com várias etapas e aprovações com intervenção humana | Durable Functions |
| Criar e gerir agentes de IA sem alojamento personalizado | Microsoft Foundry ou Copilot Studio |
Definição do projeto
Uma aplicação de competências hospedada no Funções do Azure é um projeto padrão de aplicação de funções em Python v2, implementado juntamente com ficheiros específicos de runtime. Os seguintes ficheiros de projeto são sempre necessários para aplicações de funções em Python:
| File | Purpose |
|---|---|
function_app.py |
Importa create_function_app() e devolve a aplicação de Funções do Azure configurada. |
host.json |
Configura o host do Funções do Azure. |
requirements.txt |
Inclui o pacote de runtime de skills alojado e quaisquer dependências específicas de Python da aplicação. |
Para mais informações, consulte o guia de referência para programadores do Funções do Azure para aplicações Python.
Ficheiros de execução do agente
O runtime descobre estes ficheiros e pastas, que são implementados com o projeto da aplicação:
| Ficheiro ou pasta | Purpose |
|---|---|
*.agent.md |
Define tarefas de IA. O front matter em YAML configura a tarefa, e o corpo em Markdown constitui as instruções. O teu projeto deve ter pelo menos um .agent.md ficheiro. |
agents.config.yaml |
(Opcional) Define as predefinições de runtime para toda a aplicação, como o modelo, o timeout e as definições da sandbox. |
mcp.json |
Define os servidores HTTP MCP remotos que as tarefas de IA podem usar como ferramentas, incluindo ferramentas de ligação para ações como enviar emails ou trabalhar com o Teams. |
tools/ |
(Opcional) Contém quaisquer ferramentas Python personalizadas que crie para fornecer capacidades que não sejam já fornecidas por servidores MCP, ligações, competências ou execuções em sandbox. |
skills/ |
(Opcional) Contém recursos reutilizáveis de instruções SKILL.md que as tarefas de IA podem carregar conforme necessário. |
Cada ficheiro .agent.md utiliza um cabeçalho YAML seguido de instruções em Markdown. Este exemplo define uma tarefa de IA ativada por temporizador que se executa diariamente às 15h (UTC):
---
name: Daily Tech News Email
description: Fetches top tech news and emails a summary daily.
trigger:
type: timer_trigger
args:
schedule: "0 0 15 * * *"
---
You are a news assistant. When triggered, do the following:
1. Gather today's top technology news from reputable sources.
1. Summarize the stories in a concise HTML email body.
1. Email the summary to $TO_EMAIL with the subject "Daily Tech News Summary".
A secção introdutória especifica como a tarefa é invocada. O corpo em Markdown é o bloco de instruções que o ambiente de execução passa ao modelo durante a execução. A substituição de variáveis de ambiente permite que instruções e valores de configuração referenciam definições de aplicação, como $TO_EMAIL.
Cada .agent.md ficheiro define uma tarefa de IA. O nome do ficheiro determina o nome da Azure Function e o segmento de rota dos pontos finais incorporados. O name campo é um nome de exibição para registos, etiquetas e documentação.
Para a lista completa de campos de ficheiros agentes, opções de configuração de aplicações e regras de substituição de variáveis, consulte a referência de competências hospedadas no Funções do Azure.
Processo de arranque da aplicação
Quando o anfitrião do Functions carrega a aplicação, o método create_function_app deteta ficheiros .agent.md, servidores MCP, capacidades e ferramentas personalizadas no projeto. Valida a configuração, reúne as ferramentas para cada tarefa e regista os gatilhos e endpoints necessários.
Quando um gatilho é ativado, o runtime constrói a tarefa com as suas instruções resolvidas, modelo, ferramentas e histórico de sessões, executando-a depois usando o Microsoft Agent Framework.
Ativar tarefas de IA a partir de eventos
O runtime suporta múltiplos gatilhos na tua aplicação, mas apenas um gatilho por ficheiro .agent.md. Uma definição de gatilho tem um type e um args objeto. O type identifica a associação do acionador, e args contém as definições específicas do acionador que configuram que evento inicia a tarefa de IA.
Padrões comuns de gatilho incluem:
| Padrão | Exemplo |
|---|---|
| Tarefa HTTP | Receber uma solicitação, invocar ferramentas e devolver uma resposta estruturada. |
| Tarefa agendada | Execute um fluxo de trabalho diário de criação de relatórios, resumo, limpeza ou reconciliação. |
| Tarefa de fila ou mensagem | Processar itens de trabalho que necessitem de raciocínio de modelo ou chamadas de ferramentas. |
| Tarefa de armazenamento ou evento de base de dados | Reagir a ficheiros, registos ou eventos alterados. |
| Tarefa acionada por conector | Reagir a eventos de conectores geridos, como mensagens do Teams, correio do Outlook ou eventos de calendário suportados pelo conector. |
Para obter detalhes sobre a configuração de acionadores, os tipos suportados e a args referência, consulte a referência de competências alojadas no Funções do Azure.
Ferramentas de IA suportadas
As competências alojadas do Funções do Azure suportam vários tipos de ferramentas. Começa com capacidades configuradas e usa ferramentas Python personalizadas para lógica específica da aplicação que não se encaixe nessas opções.
Servidores MCP remotos
Defina servidores HTTP remotos ou HTTP MCP transmitíveis em mcp.json. O runtime descobre estes servidores e disponibiliza as suas ferramentas para todas as tarefas de IA. Use servidores MCP remotos quando as tarefas precisarem de ligar a ferramentas alojadas por outro serviço ou compor capacidades através dos limites da aplicação.
Conectores do Azure
Os conectores permitem que tarefas de IA funcionem com serviços externos sem código cliente personalizado da API. Um Espaço de nomes do conector acolhe conexões, acionadores e servidores MCP para serviços como o Microsoft 365 Outlook, o Teams, o Salesforce, o SAP ou o SQL. Utilize acionadores de conector para iniciar tarefas a partir de eventos externos e ferramentas MCP do conector para invocar ações de serviço a partir das instruções da tarefa.
Competências
Guarde os recursos de prompt reutilizáveis na pasta skills/. Cada pasta de habilidades contém um SKILL.md ficheiro com um nome, descrição e instruções de marcação. O runtime descobre automaticamente competências e torna-as disponíveis para tarefas de IA. As competências ajudam a manter as instruções base pequenas, ao mesmo tempo que disponibilizam orientações específicas para cada domínio quando necessário.
Execução em sandbox
O ambiente de execução pode usar sessões dinâmicas do Azure Container Apps para fornecer às tarefas de IA uma ferramenta execute_python. Esta ferramenta executa Python num pool de sessões isolado, o que é útil para execução de código e análise de dados. Configure o ponto final do pool de sessões em agents.config.yaml.
Ferramentas personalizadas de Python
Usa ferramentas Python personalizadas para capacidades específicas da aplicação. Adicione ficheiros .py à pasta tools/ e decore funções com @tool do pacote de runtime. O runtime descobre e regista automaticamente estas ferramentas.
Para detalhes de configuração, tabelas de campos e exemplos de código para cada tipo de ferramenta, consulte a referência de competências hospedadas no Funções do Azure.
Sessões e estado
As interações com vários turnos precisam de histórico de sessões. No Azure, o tempo de execução armazena o histórico de sessões no Armazenamento de Blobs na conta da aplicação de funções AzureWebJobsStorage. Para desenvolvimento local, o runtime recorre ao histórico de sessões baseado em ficheiros. A execução em sandbox tem também em conta a sessão e utiliza sessões isoladas para execuções não relacionadas.
Observability
A partir da azure-functions-agents-runtime versão 0.1.0b6, o runtime inclui um conjunto de funcionalidades de observabilidade que ainda está em desenvolvimento ativo e sujeito a alterações.
Para os detalhes de configuração mais recentes, campos de telemetria e orientações de utilização, utilize a documentação do repositório em tempo de execução:
Conteúdo relacionado
- Referência de competências hospedadas no Funções do Azure
- Construa uma aplicação de IA orientada a eventos com competências alojadas no Funções do Azure
- Usa ferramentas e modelos de IA em Funções do Azure
- Construa um servidor MCP remoto personalizado usando Funções do Azure
- Alojamento do plano Flex Consumption