Funzioni di Azure ospita competenze

Funzioni di Azure hosted skills è un modello di programmazione per costruire capacità intelligenti cloud e guidate dagli eventi su Funzioni di Azure. Definisci il comportamento con Markdown, istruzioni in linguaggio naturale e configurazione dichiarativa. Puoi integrare competenze ospitate con le tue applicazioni tramite trigger e binding di Funzioni di Azure, oppure portare il tuo codice come strumento quando necessario.

Importante

Le skill ospitate in Funzioni di Azure sono attualmente in anteprima. Le funzionalità, i nomi di configurazione e i connettori supportati possono cambiare prima della disponibilità generale.

Un'app di competenze ospitata da Funzioni di Azure è un'app di funzionalità che utilizza il modello di programmazione delle competenze ospitata. Contiene compiti di IA definiti in .agent.md file, e i compiti possono opzionalmente utilizzare la guida Markdown riutilizzabile da SKILL.md file. In questo articolo, le competenze ospitate si riferiscono al modello di programmazione, task a un'unità eseguibile individuale e le skill alla guida Markdown riutilizzabile.

Scenarios

Le competenze ospitate da Funzioni di Azure funzionano meglio per carichi di lavoro AI orientati a eventi e ricchi di strumenti. Gli scenari comuni includono:

  • Task HTTP che ricevono una richiesta, chiamano strumenti e restituiscono una risposta strutturata.
  • Attività programmate che gestiscono report giornalieri, digest, pulizie o flussi di lavoro di riconciliazione.
  • Accoda o invia messaggi alle attività che elaborano elementi di lavoro che richiedono il ragionamento del modello o invocazioni di strumenti.
  • Compiti di modifica dati che reagiscono a file, record o righe di database nuovi o modificati.
  • Compiti attivati dai connettori che reagiscono agli eventi dei connettori gestiti, come messaggi su Teams, posta su Outlook o eventi del calendario.

Tip

Per provare le competenze ospitate da Funzioni di Azure, vedi Costruisci un'app AI guidata dagli eventi con competenze ospitate su Funzioni di Azure. Utilizzando un azd template, puoi avere un'app funzionante distribuita su Azure in pochi minuti.

Perché usare Functions per le tue app di IA?

I carichi di lavoro di IA in produzione richiedono più di un prompt e di un modello. Hanno bisogno di modi affidabili per avviare il lavoro, chiamare sistemi esterni, rendere persistente la cronologia delle conversazioni, eseguire codice non attendibile in modo sicuro, eseguire l'autenticazione senza segreti, generare dati di telemetria e ridimensionare su richiesta.

Functions fornisce un modello di calcolo guidato dagli eventi per queste preoccupazioni operative. Le competenze ospitate da Funzioni di Azure applicano lo stesso modello al tuo codice AI. I vantaggi includono:

  • Le attività di IA costituiscono l'unità di lavoro. Ogni compito è definito in un file separato .agent.md con istruzioni di configurazione dichiarativa e in linguaggio naturale.
  • Gli eventi danno inizio ai compiti. I trigger di Functions avviano attività di intelligenza artificiale da pianificazioni, richieste HTTP, messaggi in coda, modifiche ai BLOB, eventi di Event Grid, messaggi di bus di servizio e altri eventi supportati.
  • Le funzionalità vengono configurate per prime, con codice quando necessario. Puoi configurare i task per utilizzare server MCP remoti, server MCP ospitati in namespace di connettori, competenze ed esecuzioni di codice sandbox. Scrivi i tuoi strumenti basati su Python per la logica specifica per app.
  • L'hosting di Funzioni di Azure è integrato. Le competenze ospitate in Funzioni di Azure supportano i piani Flex Consumption, Premium e Dedicated (App Service). Flex Consumption consente la scalabilità fino a zero, la fatturazione al secondo e la scalabilità automatica. Tutti i piani supportano identità gestita, integrazione con rete virtuale e Application Insight.
  • L'impianto idraulico operativo è gestito per te. L'runtime gestisce la scoperta delle attività, la registrazione dei trigger, l'assemblaggio degli strumenti, la cronologia delle sessioni e gli endpoint integrati opzionali.

Funziona con altre piattaforme Microsoft AI

Le competenze ospitate da Funzioni di Azure sono complementari ad altre offerte di IA Microsoft e possono essere utilizzate insieme a esse. Il loro punto ideale è costruire capacità intelligenti cloud e guidate dagli eventi su Funzioni di Azure attraverso un modello di programmazione accessibile. Le skill ospitate possono esporre funzionalità tramite HTTP o MCP per essere utilizzate da altre applicazioni, agenti e agent harness.

Scegli la funzionalità Azure che meglio si adatta al tuo scenario:

Scenario Option
Espone funzioni deterministiche come strumenti per un altro client AI Estensione MCP di Funzioni di Azure
Orchestrazione di lunga durata in più fasi con approvazioni con intervento umano Durable Functions
Crea e gestisci agenti AI senza hosting personalizzato Microsoft Foundry o Copilot Studio

Definizione del Project

Un'app di competenze ospitata da Funzioni di Azure è un progetto standard di app funzione Python v2 distribuito insieme a file specifici per runtime. I seguenti file di progetto sono sempre richiesti per le applicazioni di funzione Python:

File Scopo
function_app.py Importa create_function_app() e restituisce l'app Funzioni di Azure configurata.
host.json Configura l'host di Funzioni di Azure.
requirements.txt Include il pacchetto di runtime delle competenze ospitate e tutte le dipendenze Python specifiche dell'app.

Per ulteriori informazioni, consulta la guida di riferimento per sviluppatori di Funzioni di Azure sulle app Python.

File di runtime dell'agente

L'runtime scopre questi file e cartelle, che vengono distribuiti insieme al progetto app:

File o cartella Scopo
*.agent.md Definisce i compiti dell'IA. L'intestazione YAML configura l'attività e il corpo Markdown diventa le istruzioni. Il tuo progetto deve avere almeno un .agent.md file.
agents.config.yaml (Opzionale) Definisce impostazioni predefinite di runtime a livello di app, come modello, timeout e impostazioni sandbox.
mcp.json Definisce i server HTTP MCP remoti che le attività di IA possono utilizzare come strumenti, inclusi strumenti di collegamento per azioni come inviare email o lavorare con Teams.
tools/ (Opzionale) Contiene qualsiasi strumento Python personalizzato che crei per fornire funzionalità non già fornite da server MCP, connessioni, competenze o esecuzioni sandbox.
skills/ (Opzionale) Contiene risorse di prompt riutilizzabili SKILL.md che le attività di IA possono caricare secondo necessità.

Ogni file .agent.md utilizza un'intestazione YAML seguita da istruzioni Markdown. Questo esempio definisce un compito di IA attivato da timer che si svolge quotidianamente alle 15:00 (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".

La sezione introduttiva specifica come viene invocata l'attività. Il corpo markdown è il blocco di istruzioni che il runtime passa al modello durante l'esecuzione. La sostituzione delle variabili di ambiente consente alle istruzioni e ai valori di configurazione di fare riferimento alle impostazioni dell'app, $TO_EMAILad esempio .

Ogni .agent.md file definisce un compito di IA. Il nome del file determina il nome dell'Azure Function e il segmento della route per gli endpoint integrati. Il name campo è un nome visualizzato per log, etichette e documentazione.

Per l'elenco completo dei campi file agente, opzioni di configurazione dell'app e regole di sostituzione variabile, consulta il riferimento alle competenze ospitate su Funzioni di Azure.

Processo di avvio dell'app

Quando l'host di Functions carica l'app, il metodo create_function_app individua i file .agent.md, i server MCP, le abilità e gli strumenti personalizzati nel progetto. Valida la configurazione, assembla gli strumenti per ogni task e registra i trigger e gli endpoint richiesti.

Quando si attiva un trigger, l'runtime costruisce il compito con le sue istruzioni risolte, il modello, gli strumenti e la cronologia delle sessioni, poi lo esegue utilizzando il Microsoft Agent Framework.

Attiva compiti di IA dagli eventi

Il runtime supporta più trigger nella tua app, ma solo un trigger per file .agent.md . Una definizione di trigger ha un type oggetto e un args oggetto . L'elemento type identifica l'associazione del trigger e args contiene le impostazioni specifiche del trigger che configurano quale evento avvia l'attività di IA.

I modelli di trigger comuni includono:

Modello Example
Attività HTTP Ricevere una richiesta, chiamare gli strumenti e restituire una risposta strutturata.
Attività pianificata Eseguire un flusso di lavoro giornaliero per report, riepilogo, pulizia o riconciliazione.
Compito di coda o messaggio Elaborare gli elementi di lavoro che richiedono il ragionamento del modello o le chiamate agli strumenti.
Attività relativa ad archiviazione o eventi del database Reagire a file, record o eventi modificati.
Compito attivato dal connettore Reagisci agli eventi provenienti dai connettori gestiti, come messaggi di Teams, posta di Outlook o eventi di calendario supportati dal connettore.

Per dettagli sulla configurazione dei trigger, tipi supportati e args riferimenti, consulta Funzioni di Azure hosted skills reference.

Strumenti di IA supportati

Le competenze ospitate da Funzioni di Azure supportano diversi tipi di strumenti. Inizia con capacità configurate e usa strumenti Python personalizzati per la logica specifica dell'app che non si adatta a quelle opzioni.

Server MCP remoti

Definisci server HTTP remoti o server MCP HTTP con supporto per lo streaming in mcp.json. Il runtime scopre questi server e rende disponibili i loro strumenti per tutte le attività di IA. Usa server MCP remoti quando i compiti devono chiamare strumenti ospitati da un altro servizio o comporre capacità oltre i confini dell'app.

Connettori di Azure

I connettori permettono ai compiti di IA di lavorare con servizi esterni senza codice client API personalizzato. Un Namespace Connector ospita connessioni, trigger e server MCP per servizi come Microsoft 365 Outlook, Teams, Salesforce, SAP o SQL. Usa i trigger dei connettori per avviare attività da eventi esterni e gli strumenti MCP dei connettori per richiamare le azioni del servizio dalle istruzioni delle attività.

Competenze

Conserva asset prompt riutilizzabili sotto la skills/ cartella. Ogni cartella delle abilità contiene un SKILL.md file con un nome, una descrizione e istruzioni di markdown. Il runtime scopre automaticamente le abilità e le rende disponibili per compiti di IA. Le competenze aiutano a mantenere le istruzioni di base contenute, rendendo disponibili indicazioni specifiche per il dominio quando necessario.

Esecuzione in modalità sandbox

Il runtime può utilizzare sessioni dinamiche di App contenitore di Azure per fornire uno execute_python strumento ai compiti di IA. Questo strumento esegue Python in un pool di sessioni isolato, utile per l'esecuzione del codice e l'analisi dei dati. Configura l'endpoint del pool di sessioni in agents.config.yaml.

Strumenti di Python personalizzati

Usa strumenti Python personalizzati per le capacità specifiche dell'app. Aggiungi i file .py alla cartella tools/ e decora le funzioni con @tool del pacchetto runtime. L'esecuzione scopre e registra automaticamente questi strumenti.

Per dettagli di configurazione, tabelle di campo ed esempi di codice per ogni tipo di strumento, consulta il riferimento alle competenze ospitate su Funzioni di Azure.

Sessioni e stato

Le interazioni a più turni richiedono la cronologia delle sessioni. In Azure, il runtime archivia la cronologia delle sessioni in Archiviazione BLOB tramite l'account AzureWebJobsStorage dell'app per le funzioni. Per lo sviluppo locale, il runtime torna alla cronologia delle sessioni basata su file. L'esecuzione in ambiente sandbox tiene conto anche della sessione e utilizza sessioni isolate per esecuzioni non correlate tra loro.

Observability

A partire dalla azure-functions-agents-runtime versione 0.1.0b6, il runtime include un set di funzionalità di osservabilità ancora in sviluppo attivo e soggetto a modifiche.

Per i dettagli di configurazione più recenti, i campi di telemetria e le linee guida sull'uso, utilizza la documentazione del repository in tempo reale: