Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Functions hostade färdigheter är en programmeringsmodell för att bygga molnhostade, händelsedrivna intelligenta funktioner på Azure Functions. Du definierar beteende med Markdown, naturliga språkinstruktioner och deklarativ konfiguration. Du kan integrera hostade färdigheter med dina applikationer via Azure Functions-triggers och bindningar, eller ta med egen kod som verktyg när det behövs.
Important
Azure Functions värdbaserade kunskaper är för närvarande i förhandsversion. Funktioner, konfigurationsnamn och anslutningsprogram som stöds kan ändras innan allmän tillgänglighet.
En Azure Functions hostad färdighetsapp är en funktionsapp som använder den hostade färdighetsprogrammeringsmodellen. Den innehåller AI-uppgifter definierade i .agent.md filer, och uppgifter kan valfritt använda återanvändbar Markdown-vägledning från SKILL.md filer. I denna artikel avser värdsfärdigheter programmeringsmodellen, uppgift syftar på en enskild körbar enhet och färdighet på återanvändbar Markdown-vägledning.
Scenarios
Azure Functions-hostade färdigheter fungerar bäst för händelsedrivna, verktygsrika AI-arbetsbelastningar. Vanliga scenarier är:
- HTTP-uppgifter som tar emot en förfrågan, anropar verktyg och returnerar ett strukturerat svar.
- Schemalagda uppgifter som kör dagliga rapporter, sammanfattningar, rensning eller avstämningsflöden.
- Kö- eller meddelandeuppgifter som bearbetar arbetsobjekt som kräver modellresonemang eller verktygsanrop.
- Dataändringsåtgärder som reagerar på nya eller ändrade filer, poster eller databasrader.
- Uppgifter som utlöses av anslutningsprogram som reagerar på händelser från hanterade anslutningsprogram, till exempel Teams-meddelanden, e-post i Outlook eller kalenderhändelser.
Tip
För att prova Azure Functions hostade färdigheter, se Bygg en händelsedriven AI-app med Azure Functions hostade färdigheter. Genom att använda en azd mall kan du ha en fungerande app distribuerad till Azure på några minuter.
Varför använda Functions för dina AI-appar?
Produktions-AI-arbetsbelastningar kräver mer än en prompt och en modell. De behöver tillförlitliga sätt att börja arbeta, anropa externa system, bevara konversationshistorik, köra obetrodd kod på ett säkert sätt, autentisera utan hemligheter, generera telemetri och skala på begäran.
Functions tillhandahåller en händelsedriven beräkningsmodell för dessa operativa frågor. Färdigheter som finns i Azure Functions använder samma modell för din AI-kod. Här är några fördelar:
- AI-uppgifter är den arbetsenheten. Varje uppgift definieras i en separat
.agent.mdfil med deklarativ konfiguration och instruktioner i naturligt språk. - Händelser startar aktiviteter. Utlösare i Functions startar AI-uppgifter utifrån scheman, HTTP-förfrågningar, kömeddelanden, ändringar i blobbar, Event Grid-händelser, Service Bus-meddelanden och andra händelser som stöds.
- Funktioner konfigureras först, med kod när det behövs. Du kan konfigurera uppgifter för att använda fjärr-MCP-servrar, MCP-servrar som hostas i connector-namnrymder, skills och sandboxade kodexekveringar. Skriv dina egna Python-baserade verktyg för app-specifik logik.
- Azure Functions-hosting är inbyggt. Kompetenser som finns i Azure Functions stöder planerna Flex Consumption, Premium och Dedicated (App Service). Flex Consumption erbjuder skalning till noll, debitering per sekund och automatisk skalning. Alla abonnemang stödjer hanterad identitet, virtuell nätverksintegration och Application Insights.
- Driften av VVS sköts åt dig. Körmiljön hanterar uppgiftsupptäckt, registrering av utlösare, sammanställning av verktyg, sessionshistorik och valfria inbyggda slutpunkter.
Fungerar med andra Microsoft AI-plattformar
Azure Functions-hostade färdigheter kompletterar andra AI-lösningar från Microsoft och kan användas parallellt med dem. Deras favorit är att bygga molnbaserade, händelsedrivna intelligenta funktioner på Azure Functions genom en tillgänglig programmeringsmodell. Värdbaserade färdigheter kan exponera funktioner via HTTP eller MCP som kan användas av andra applikationer, agenter och agentramverk.
Välj den Azure-funktion som bäst passar ditt scenario:
| Scenario | Option |
|---|---|
| Exponera deterministiska funktioner som verktyg för en annan AI-klient | Azure Functions MCP-tillägg |
| Långkörande orkestrering i flera steg med human-in-the-loop-godkännanden | Durable Functions |
| Skapa och hantera AI-agenter utan anpassad hosting | Microsoft Foundry eller Copilot Studio |
Projektdefinition
En skills-app som finns på Azure Functions är ett standardprojekt för en Python v2-funktionsapp som distribueras tillsammans med runtime-specifika filer. Följande projektfiler krävs alltid för Python-funktionsappar:
| File | Syfte |
|---|---|
function_app.py |
Importerar create_function_app() och returnerar den konfigurerade Azure Functions appen. |
host.json |
Konfigurerar Azure Functions-värden. |
requirements.txt |
Inkluderar det hostade skills-runtime-paketet och eventuella app-specifika Python-beroenden. |
För mer information, se Azure Functions utvecklarreferensguide för Python-appar.
Agentens körtidsfiler
Runtimen upptäcker dessa filer och mappar, som distribueras med appprojektet:
| Fil eller mapp | Syfte |
|---|---|
*.agent.md |
Definierar AI-uppgifter. YAML-metadata konfigurerar uppgiften, och brödtexten i Markdown utgör instruktionerna. Ditt projekt måste ha minst en .agent.md fil. |
agents.config.yaml |
(Valfritt) Definierar standardinställningar för hela appen under körtid, såsom modell, timeout och sandlådeinställningar. |
mcp.json |
Definierar de fjärrstyrda HTTP MCP-servrar som AI-uppgifter kan använda som verktyg, inklusive anslutningsverktyg för åtgärder som att skicka e-post eller arbeta med Teams. |
tools/ |
(Valfritt) Innehåller alla anpassade Python-verktyg du skapar för att erbjuda funktioner som inte redan tillhandahålls av MCP-servrar, anslutningar, färdigheter eller sandboxade körningar. |
skills/ |
(Valfritt) Innehåller återanvändbara SKILL.md prompt-resurser som AI-uppgifter kan ladda vid behov. |
Varje .agent.md-fil använder inledande YAML-metadata följt av Markdown-instruktioner. Detta exempel definierar en tidsutlöst AI-uppgift som körs dagligen klockan 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".
Frontmaterialet anger hur uppgiften åberopas. Brödtexten i Markdown är det instruktionsblock som körmiljön skickar till modellen vid körning. Med miljövariabelersättning kan instruktioner och konfigurationsvärden referera till appinställningar som $TO_EMAIL.
Varje .agent.md fil definierar en AI-uppgift. Filnamnet härleder Azure-funktionens namn och ruttsegmentet för inbyggda slutpunkter. Fältet name är ett visningsnamn för loggar, etiketter och dokumentation.
En fullständig lista över fält i agentfiler, alternativ för appkonfiguration och regler för variabelsubstitution finns i Azure Functions hosted skills reference.
Appstartprocess
När Functions-värden laddar appen upptäcker create_function_app.agent.md metoden filer, MCP-servrar, färdigheter och anpassade verktyg i projektet. Den validerar konfigurationen, sammanställer verktygen för varje uppgift och registrerar de nödvändiga triggers och endpoints.
När en trigger aktiveras bygger runtimen uppgiften med dess lösta instruktioner, modell, verktyg och sessionshistorik, och kör den sedan med hjälp av Microsoft Agent Framework.
Utlös AI-uppgifter från händelser
Runtime-versionen stödjer flera triggers i din app, men bara en trigger per .agent.md fil. En utlösardefinition har ett type och ett args -objekt. Den type identifierar trigger-bindningen och args innehåller trigger-specifika inställningar som konfigurerar vilken händelse som startar AI-uppgiften.
Vanliga utlösarmönster är:
| Pattern | Example |
|---|---|
| HTTP-uppgift | Ta emot en begäran, anropa verktyg och returnera ett strukturerat svar. |
| Schemalagd aktivitet | Kör ett dagligt arbetsflöde för rapportering, sammanfattning, rensning eller avstämning. |
| Kö- eller meddelandeuppgift | Bearbeta arbetsobjekt som behöver modellskäl eller verktygsanrop. |
| Lagrings- eller databashändelseuppgift | Reagera på ändrade filer, poster eller händelser. |
| Uppgift som utlöses av en anslutning | Reagera på händelser från hanterade kopplingar, såsom Teams-meddelanden, Outlook-mail eller kalenderhändelser som stöds av kopplaren. |
För detaljer om triggerkonfiguration, stödda typer och args referens, se Azure Functions hosted skills-referens.
Stödda AI-verktyg
Azure Functions hostade färdigheter stöder flera typer av verktyg. Börja med konfigurerade funktioner och använd anpassade Python-verktyg för app-specifik logik som inte passar de alternativen.
Fjärr-MCP-servrar
Definiera fjärr-HTTP eller strömningsbara HTTP MCP-servrar i mcp.json. Runtimen upptäcker dessa servrar och gör deras verktyg tillgängliga för alla AI-uppgifter. Använd fjärr-MCP-servrar när uppgifter behöver anropa verktyg som hostas av en annan tjänst eller komponera kapabiliteter över appgränser.
Azure-anslutningar
Connectors låter AI-uppgifter arbeta med externa tjänster utan anpassad API-klientkod. Ett Connector-namnutrymme är värd för anslutningar, triggers och MCP-servrar för tjänster som Microsoft 365 Outlook, Teams, Salesforce, SAP eller SQL. Använd anslutningsutlösare för att starta uppgifter från externa händelser och anslutningars MCP-verktyg för att anropa tjänståtgärder från uppgiftsinstruktioner.
Färdigheter
Spara återanvändbara prompt-resurser under mappen skills/ . Varje färdighetsmapp innehåller en SKILL.md fil med namn, beskrivning och instruktioner för markdown. Runtimen upptäcker automatiskt färdigheter och gör dem tillgängliga för AI-uppgifter. Färdigheter hjälper till att hålla grundinstruktionerna små samtidigt som domänspecifika riktlinjer finns tillgängliga när det behövs.
Körning i sandbox
Runtimen kan använda dynamiska sessioner från Azure Container Apps för att ge AI-uppgifter ett execute_python verktyg. Detta verktyg kör Python i en isolerad sessionspool, vilket är användbart för kodexekvering och dataanalys. Konfigurera sessionpooländpunkten i agents.config.yaml.
Anpassade Python verktyg
Använd anpassade Python-verktyg för app-specifika funktioner. Lägg till .py filer i tools/ mappen och dekorera funktioner med @tool från runtime-paketet. Körtiden upptäcker och registrerar automatiskt dessa verktyg.
För konfigurationsdetaljer, fälttabeller och kodexempel för varje verktygstyp, se Azure Functions hosted skills-referens.
Sessioner och tillstånd
Flerstegsinteraktioner kräver sessionshistorik. I Azure lagrar runtime-sessionshistoriken i Blob Storage via funktionsappens AzureWebJobsStorage konto. För lokal utveckling faller körtiden tillbaka till filbaserad sessionshistorik. Sandboxad körning är också sessionmedveten och använder isolerade sessioner för orelaterade körningar.
Observability
Från och med azure-functions-agents-runtime version 0.1.0b6 innehåller runtimen en uppsättning funktioner för observerbarhet som fortfarande är under aktiv utveckling och kan komma att ändras.
För de senaste konfigurationsdetaljerna, telemetrifälten och användningsguiden, använd dokumentationen för runtime-arkivet: