Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel biedt de configuratiereferentie voor door Azure Functions gehoste vaardigheden. Voor een overzicht van de runtime en richtlijnen over wanneer deze te gebruiken, zie Azure Functions hosted skills.
Important
Azure Functions hosted skills zijn momenteel in preview. Functies, configuratienamen en ondersteunde connectors kunnen vóór algemene beschikbaarheid veranderen.
Agentbestandreferentie
Een agentbestand (.agent.md) gebruikt YAML front matter om de agent te configureren, gevolgd door markdown-instructies.
Frontmaterievelden
Gebruik deze frontmatter-velden om een agent te configureren:
| Veld | Required | Description |
|---|---|---|
name |
Yes | Weergavenaam voor de agent. |
description |
Yes | Korte beschrijving van wat de agent doet en wanneer deze moet worden gebruikt. |
trigger |
Ja (tenzij builtin_endpoints ingeschakeld) |
Hiermee definieert u hoe de agent wordt aangeroepen. Er is slechts één trigger toegestaan per agentbestand. |
builtin_endpoints |
No | Maakt ingebouwde foutopsporings- en samenstellingseindpunten mogelijk. Gebruik true om alle ingebouwde eindpunten in te schakelen, of configureer debug_chat_ui, chat_api en mcp afzonderlijk.
debug_chat_ui: true maakt ook de backing- chat en chatstreameindpuntroutes mogelijk omdat de ingebouwde UI die API's aanroept. |
input_schema |
No | JSON-schema dat wordt gebruikt om de hoofdtekst van HTTP-aanvragen te valideren voor agents die door HTTP worden geactiveerd. |
logger |
No | Bepaalt of runtime-logboekregistratie voor de agent is ingeschakeld. Wordt standaard ingesteld op true. |
mcp |
No | Hiermee bepaalt u de toegang tot MCP-servers die zijn gedetecteerd vanuit mcp.json. Gebruik false dit om MCP-servers voor deze agent uit te schakelen of om exclude specifieke servers te verwijderen. |
metadata |
No | Aangepaste metagegevens voor uw eigen organisatie of hulpprogramma's. |
model |
No | Overschrijft het standaardmodel dat is geconfigureerd in agents.config.yaml of app-instellingen. |
response_example |
No | Voorbeeldantwoordvorm die wordt gebruikt als leidraad voor gestructureerde antwoorden van via HTTP geactiveerde agents. |
response_schema |
No | JSON-schema dat wordt gebruikt om gestructureerde antwoorden te valideren die worden geretourneerd door door HTTP geactiveerde agents. |
skills |
No | Beheert de toegang tot ontdekte vaardigheden. Gebruik false dit om vaardigheden voor deze agent uit te schakelen of om exclude specifieke vaardigheden te verwijderen. |
substitute_variables |
No | Bepaalt of de substitutie van omgevingsvariabelen wordt toegepast op de voorste materie en instructies. Wordt standaard ingesteld op true. |
system_tools |
No | Hiermee kan een agent zich afmelden van geconfigureerde systeemtools, zoals sandboxed execution. |
timeout |
No | Overschrijft de standaardtime-out voor uitvoering, in seconden. |
tools |
No | Beheert de toegang tot ontdekte aangepaste Python-tools. Gebruik false om aangepaste hulpprogramma's voor deze agent uit te schakelen, of gebruik exclude om specifieke hulpprogramma's te verwijderen. |
Triggerconfiguratie
Elk agentbestand ondersteunt één trigger, gedefinieerd in het trigger object in de voorste content.
| Veld | Required | Description |
|---|---|---|
type |
Yes | Het type triggerbinding. Zie de tabel met ondersteunde types voor toegestane waarden. |
args |
Afhankelijk van het type | Trigger-specifieke instellingen die configureren welk event de agent start. |
Ondersteunde triggertypen
De volgende tabel geeft een overzicht van de ondersteunde trigger.type waarden, hun vereiste args, en links naar de volledige referentie per type:
trigger.type |
Verplicht args |
Referentie |
|---|---|---|
http_trigger |
route |
HTTP-trigger |
timer_trigger |
schedule |
timer-trigger |
queue_trigger |
queue_name, connection |
Wachtrijtrigger |
blob_trigger |
path, connection |
Blobtrigger |
event_grid_trigger |
(geen) | Event Grid-trigger |
event_hub_message_trigger |
event_hub_name, connection |
Event Hub trigger |
service_bus_queue_trigger |
queue_name, connection |
Service Bus queue trigger |
service_bus_topic_trigger |
topic_name, subscription_name, connection |
Service Bus topic trigger |
cosmos_db_trigger |
connection, database_name, container_name |
Cosmos DB-trigger |
cosmos_db_trigger_v3 |
database_name, collection_name, connection_string_setting |
Cosmos DB trigger v3 |
sql_trigger |
table_name, connection_string_setting |
SQL-trigger |
mysql_trigger |
table_name, connection_string_setting |
MySQL trigger |
kafka_trigger |
topic, broker_list |
Kafka-trekker |
dapr_binding_trigger |
binding_name |
Dapr-bindende trekker |
dapr_service_invocation_trigger |
method_name |
Dapr-dienstoproep-trigger |
dapr_topic_trigger |
pub_sub_name, topic |
Dapr-topictrigger |
generic_trigger |
type (naam van het bindende type) |
Generieke trigger |
connector_trigger |
Geconfigureerd in de Connector Namespace. | Connector trigger |
Triggervoorbeelden
De volgende voorbeelden tonen veelvoorkomende triggerconfiguraties:
- Timer trigger (draait dagelijks om 15:00 uur UTC)
trigger:
type: timer_trigger
args:
schedule: "0 0 15 * * *"
- HTTP-trigger
trigger:
type: http_trigger
args:
route: summarize
auth_level: FUNCTION
- Wachtrijtrigger
trigger:
type: queue_trigger
args:
queue_name: work-items
connection: AzureWebJobsStorage
- Blobtrigger
trigger:
type: blob_trigger
args:
path: uploads/{name}
connection: AzureWebJobsStorage
App-brede configuratie (agents.config.yaml)
Gebruiken agents.config.yaml voor runtime-standaardinstellingen voor de hele app die elke agent kan overnemen. De runtime kan een app laden zonder dit bestand. Voeg deze toe wanneer u gedeelde instellingen nodig hebt, zoals een modelimplementatie, time-out of eindpunt voor sandbox-uitvoering.
Dit bestand is één invoer op app-niveau. De runtime detecteert ook MCP-servers van mcp.json, vaardigheden van skills/ en aangepaste Python-hulpprogramma's van tools/. Deze mogelijkheden zijn standaard ingeschakeld voor agents. De front matter van de agent kan de standaardinstellingen van de runtime overschrijven of geërfde MCP-servers, vaardigheden en hulpprogramma's filteren.
system_tools:
dynamic_sessions_code_interpreter:
endpoint: $ACA_SESSION_POOL_ENDPOINT
model: $FOUNDRY_MODEL
timeout: 900
Afzonderlijke agents kunnen de ondersteunde runtime-instellingen in hun eigen front matter overschrijven.
Configuratievelden
Gebruik deze velden op het hoogste niveau in agents.config.yaml:
| Veld | Required | Description |
|---|---|---|
model |
No | Standaardmodel- of modelimplementatie die wordt gebruikt door agents die niet in hun eigen front-matter zijn ingesteld model . |
timeout |
No | Standaard uitvoeringstime-out, in seconden. De runtime-standaardwaarde is 900 seconden. |
system_tools.dynamic_sessions_code_interpreter.endpoint |
Bij gebruik van uitvoering in een sandbox | Beheereindpunt voor de Azure Container Apps dynamische sessiegroep die wordt gebruikt door sandbox-hulpprogramma's. |
system_tools.dynamic_sessions_code_interpreter.client_id |
No | Client-id van de beheerde identiteit die wordt gebruikt om de sessiegroep aan te roepen. |
tools.exclude |
No | Algemene uitsluitingslijst voor aangepaste Python hulpprogramma's die zijn gedetecteerd in de map tools/. |
Resolutievolgorde
De runtime lost eerst waarden op van agentfront matter, vervolgens agents.config.yamlen vervolgens app-instellingen en runtime-standaardwaarden. Tekenreekswaarden in agents.config.yaml kunnen verwijzen naar app-instellingen, zoals $AZURE_OPENAI_DEPLOYMENT of $ACA_SESSION_POOL_ENDPOINT.
Behoud de standaardwaarden voor model, time-out en systeemtools in agents.config.yaml. Behoud externe MCP-serverdefinities, inclusief MCP-servereindpunten uit connectornaamruimten, in mcp.json.
Variabele vervanging
De runtime kan app-instellingen en omgevingsvariabelen vervangen door tekenreekswaarden in agentfront matter, agentinstructieteksten en agents.config.yaml.mcp.json
Voor substituties gebruik ofwel $SETTING_NAME of.%SETTING_NAME% De runtime behandelt deze twee formaten op dezelfde manier. Variabelenamen moeten beginnen met een letter of onderstrepingsteken en kunnen letters, cijfers en onderstrepingstekens bevatten.
model: $FOUNDRY_MODEL
system_tools:
dynamic_sessions_code_interpreter:
endpoint: %ACA_SESSION_POOL_ENDPOINT%
Email the summary to $TO_EMAIL.
{
"servers": {
"office365": {
"type": "http",
"url": "$O365_MCP_SERVER_URL"
}
}
}
Substitutieregels:
- Gilt voor stringwaarden, inclusief strings die genest zijn in objecten of lijsten. Dat geldt niet voor objectsleutels.
- Omheinde codeblokken in agentinstructieteksten worden niet vervangen, dus voorbeelden kunnen letterlijke
$VALUEtekst of%VALUE%tekst bevatten. - Gebruik
$$SETTING_NAMEof%%SETTING_NAME%%voor letterlijke plaatsvervangers in vervangen inhoud. - Ontbrekende variabelen blijven ongewijzigd. Lege waarden worden opgelost in lege strings.
- Substitutie is een enkele pass. De
${SETTING_NAME}syntaxis wordt niet ondersteund. - Om substitutie voor één agent uit te schakelen, zet
substitute_variables: falseje in het agentbestand. Met deze instelling wordt vervanging niet uitgeschakeld inagents.config.yamlofmcp.json.
MCP-serverconfiguratie (mcp.json)
Wanneer een app externe MCP-servers gebruikt, voegt u mcp.json toe aan de hoofdmap van het project van de functie-app. De runtime detecteert externe HTTP- of streambare HTTP MCP-servers uit dit bestand en maakt hun hulpprogramma's beschikbaar voor agents, afhankelijk van eventuele filters per agent.
Serverinvoervelden
Gebruik deze velden in elke servers vermelding:
| Veld | Required | Description |
|---|---|---|
type |
Yes | Gebruik http of streamable-http. De runtime ondersteunt geen lokale stdio MCP-servers. |
url |
Yes | Extern MCP-servereindpunt. Vervanging van omgevingsvariabelen wordt ondersteund. |
headers |
No | Statische headers voor een algemene externe MCP-server. Sla statische geheimen niet op in mcp.json. |
auth.scope |
Wanneer u Microsoft Entra-verificatie gebruikt | Microsoft Entra tokenbereik dat wordt gebruikt voor het verifiëren van aanroepen naar de MCP-server. |
auth.client_id |
No | Client-id van de beheerde identiteit die moet worden gebruikt bij het verifiëren met deze MCP-server. Laat dit veld weg om de door het systeem toegewezen beheerde identiteit van de functie-app in Azure te gebruiken. |
Authenticatie
Gebruik het Azure API Hub-bereik wanneer de agent een beheerde MCP-server uit een connectornaamruimte verbruikt. Sla geen gebruikersgeheimen op in mcp.json.
{
"servers": {
"office365-outlook": {
"type": "http",
"url": "$O365_MCP_SERVER_URL",
"auth": {
"scope": "https://apihub.azure.com/.default",
"client_id": "$O365_MCP_CLIENT_ID"
}
}
}
}
De auth.client_id instelling selecteert welke beheerde identiteit wordt geverifieerd bij de MCP-server. Stel deze in op de client-id van een door de gebruiker toegewezen beheerde identiteit. Laat deze weg om de door het systeem toegewezen beheerde identiteit van de functie-app in Azure te gebruiken. De geselecteerde identiteit, of uw lokale ontwikkelaarsidentiteit wanneer u lokaal werkt, moet gemachtigd zijn om de MCP-server aan te roepen.
Azure connectoren
Met connectors kunnen agents met externe services werken zonder aangepaste API-clientcode. Een Microsoft 365 Outlook-connector kan bijvoorbeeld e-mail verzenden, een Teams-connector kan werken met berichten en andere connectors kunnen acties aanroepen in systemen zoals Salesforce, SAP of SQL. Een connectornaamruimte fungeert als host voor de verbindingen, triggers en MCP-servers die deze integraties beschikbaar maken voor uw app.
Om connectormogelijkheden te gebruiken in een gehoste vaardighedenapp, maak je eerst een Connector Namespace-resource, maak je een verbinding met de service en autoriseer je die verbinding. Kies vervolgens hoe de taak de verbinding gebruikt:
- Connector activeert agents wanneer er iets gebeurt in een verbonden service, zoals een nieuw e-mailbericht, Teams-bericht of agendagebeurtenis. Als u er een wilt gebruiken, maakt u een trigger in de connectornaamruimte die gebruikmaakt van de geautoriseerde verbinding en configureert u vervolgens de agent met de triggernaam en argumenten van die connectortriggerdefinitie.
-
Met MCP-hulpprogramma's voor connectors kunnen agents serviceacties aanroepen, zoals het verzenden van e-mail of het bijwerken van een record. Als u deze wilt gebruiken, maakt u een MCP-server in de connectornaamruimte die gebruikmaakt van de geautoriseerde verbinding en voegt u vervolgens het MCP-servereindpunt toe aan
mcp.json.
Voor meer informatie, zie Gebruik connectoren in Azure Functions.
Skills
Bewaar herbruikbare prompt-assets onder skills/. Ze helpen de basisagentinstructies klein te houden en domeinspecifieke instructies beschikbaar te maken wanneer dat nodig is. De runtime maakt gebruik van de indeling Agent Skills .
Vaardigheidsformaat
De runtime scant skills/ in de hoofdmap van het Function App-project en detecteert vervolgens recursief mappen die SKILL.md bevatten.
skills/
incident-response/
SKILL.md
triage-checklist.md
escalation-policy.md
Het SKILL.md-bestand bevat YAML front matter, gevolgd door Markdown-instructies.
---
name: incident-response
description: Triage production incidents, summarize impact, and recommend next steps. Use when the task mentions incidents, outages, alerts, or severity levels.
---
Follow the incident response checklist in [triage-checklist.md](triage-checklist.md).
Auteursregels
Volg deze richtlijnen bij het aanmaken van je agentbestanden en andere projectbronnen:
- Elke vaardigheidsmap moet een
SKILL.mdbestand bevatten. - De
namevelden endescriptionvelden zijn vereist. - Gebruik kleine letters, cijfers en enkele koppeltekens voor vaardigheidsnamen. Gebruik geen spaties, onderstrepingstekens, hoofdletters, koppeltekens aan het begin, koppeltekens aan het einde of opeenvolgende koppeltekens.
- Namen van vaardigheden moeten uniek zijn in de app.
- In de beschrijving moet worden uitgelegd wat de vaardigheid doet en wanneer de agent deze moet gebruiken. De runtime laadt eerst namen en beschrijvingen van vaardigheden, zodat de agent kan bepalen wanneer de volledige vaardigheid moet worden geladen.
- Vaardigheden kunnen meerdere markdownbestanden bevatten in dezelfde vaardigheidsmap. Verwijzen naar ondersteunende Markdown-bestanden
SKILL.mdmet behulp van relatieve koppelingen. - De door Azure Functions gehoste vaardigheden ondersteunen alleen markdown-bestanden als vaardigheidsinhoud. Als een vaardigheid uitvoerbaar gedrag nodig heeft, pak die code dan als een aangepaste Python-tool en verwijs naar de tool bij naam uit de vaardigheidsinstructies.
Filtervaardigheden per agent
Agents nemen standaard alle gedetecteerde vaardigheden over. Vaardigheden in een agentbestand uitschakelen of uitsluiten wanneer een specifieke agent deze niet mag gebruiken:
skills: false
skills:
exclude:
- incident-response
Uitvoering in een sandbox
Voor code-uitvoering of browserautomatisering kan de runtime gebruikmaken van Azure Container Apps dynamische sessies. Dynamische sessies bieden geïsoleerde omgevingen van sessiegroepen. De runtime maakt gebruik van code-interpretersessies om agents een execute_python hulpprogramma te bieden.
Configuration
Uitvoering in sandbox configureren in agents.config.yaml:
system_tools:
dynamic_sessions_code_interpreter:
endpoint: $ACA_SESSION_POOL_ENDPOINT
Vereisten
- De sessiegroep moet een Python code-interpretersessiegroep zijn, zoals een pool die is gemaakt met
--container-type PythonLTS. - De
endpointwaarde is het eindpunt voor sessiegroepbeheer. - In Azure moet de beheerde identiteit die door de functie-app wordt gebruikt, de roltoewijzingen hebben die nodig zijn om code uit te voeren in de sessiepool. voor Azure Container Apps code-interpretersessies zijn de rollen
Azure ContainerApps Session ExecutorenContributorin de sessiegroep vereist. - Wanneer u lokaal werkt, moet uw ontwikkelaarsidentiteit dezelfde vereiste toegangsrechten hebben tot de sessiepool.
- Als u een door de gebruiker toegewezen beheerde identiteit wilt gebruiken voor uitvoering in een sandbox, stelt u
system_tools.dynamic_sessions_code_interpreter.client_idin op de client-id van de identiteit die over de vereiste roltoewijzingen beschikt. Als deze instelling niet is geconfigureerd, gebruikt de runtimeAZURE_CLIENT_IDen vervolgens de standaardketen met aanmeldingsgegevens.
Het sandbox-hulpprogramma voert Python uit in een geïsoleerde sessie. Variabelen, importbewerkingen en bestanden kunnen worden bewaard tussen aanroepen van hulpprogramma's in dezelfde agentsessie. Wanneer er geen agentsessie-id beschikbaar is, gebruikt de runtime een nieuwe sandbox-sessie, zodat niet-gerelateerde uitvoeringen de status niet delen.
Uitschakelen per agent
Agents nemen de uitvoering van de sandbox over wanneer deze globaal is geconfigureerd. Je kunt de uitvoering voor een specifieke agent uitschakelen door in het agentbestand te dynamic_sessions_code_interpreter zettenfalse.
system_tools:
dynamic_sessions_code_interpreter: false
Aangepaste hulpprogramma's voor Python
Gebruik aangepaste Python-tools wanneer je app-specifieke logica nodig hebt die de ingebouwde mogelijkheden van de runtime niet dekken. Aangepaste tools draaien in het functie-appproces, niet in een sandbox-sessie.
Ontdekking van tools
Voeg hulpprogrammabestanden toe aan de tools/ map in de hoofdmap van het functie-app-project:
tools/
submit_ticket.py
lookup_customer.py
De runtime detecteert .py bestanden in tools/ wiens bestandsnamen niet beginnen met _. In de huidige preview registreert de runtime het eerste ondersteunde hulpprogramma van elk bestand. Gebruik één hulpprogramma per bestand om detectie voorspelbaar te houden.
Definiërende hulpmiddelen
Definieer een tool door een functie te decoreren met @tool uit het runtime-pakket:
from azure_functions_agents import tool
@tool(name="submit_ticket", description="Create a support ticket with a title and summary.")
async def submit_ticket(title: str, summary: str) -> str:
return f"Created ticket for {title}: {summary}"
Voor uitgebreidere parameterbeschrijvingen en validatie gebruikt u een Pydantic-model als het hulpprogrammaschema:
from pydantic import BaseModel, Field
from azure_functions_agents import tool
class LookupCustomerParams(BaseModel):
customer_id: str = Field(description="Customer identifier from the CRM system.")
@tool(schema=LookupCustomerParams, description="Look up customer details by customer ID.")
async def lookup_customer(params: LookupCustomerParams) -> str:
return f"Customer details for {params.customer_id}"
U kunt ook een gewone Python functie definiëren zonder de decorator. De runtime verpakt de eerste gewone functie die in het bestand wordt gevonden, gebruikt de functienaam als de naam van het hulpprogramma en gebruikt de docstring als de beschrijving van het hulpprogramma.
def summarize_order(order_id: str) -> str:
"""Summarize an order by order ID."""
return f"Summary for order {order_id}"
Met hulpprogrammanamen, beschrijvingen, typehints en beschrijvingen van Pydantic-velden kan het model bepalen wanneer en hoe het hulpprogramma moet worden aangeroepen. Voeg pakketafhankelijkheden toe die door aangepaste hulpprogramma's worden gebruikt voor requirements.txt, net zoals voor andere Python code in een Azure Functions-app.
Filtertools per agent
Agents erven standaard ontdekte aangepaste hulpprogramma's. Schakel aangepaste hulpprogramma's uit of sluit deze uit in een agentbestand wanneer een specifieke agent deze niet mag gebruiken:
tools: false
tools:
exclude:
- submit_ticket
Configuratie van modelaanbieders
De runtime maakt gebruik van Microsoft Agent Framework om modelproviders aan te roepen. Preview-ondersteuning omvat Azure OpenAI, Azure AI Foundry en OpenAI.
Providerselectie
Je moet ten minste één provider-signaal configureren voor de runtime om een chatclient te maken. Je kunt de provider expliciet instellen door de AZURE_FUNCTIONS_AGENTS_PROVIDER instelling te gebruiken of de runtime de provider laten afleiden uit je andere app-instellingen.
Gebruik deze instellingen voor zorgverlener:
| Aanbieder | Waarde AZURE_FUNCTIONS_AGENTS_PROVIDER |
Verplichte instellingen | Optionele instellingen | Gedrag van modelsetting |
|---|---|---|---|---|
| Azure AI Foundry | foundry |
FOUNDRY_PROJECT_ENDPOINT |
AZURE_CLIENT_ID Wanneer je een door de gebruiker toegewezen beheerde identiteit wilt |
Stel in FOUNDRY_MODEL op de model-implementatienaam die het Foundry-project zou moeten gebruiken. |
| Azure OpenAI | azure_openai |
AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_DEPLOYMENT |
AZURE_OPENAI_API_KEY, AZURE_OPENAI_API_VERSION, AZURE_CLIENT_ID wanneer je een door de gebruiker toegewezen beheerde identiteit wilt |
Zet AZURE_OPENAI_DEPLOYMENT dit op de Azure OpenAI-implementatienaam. |
| OpenAI | openai |
OPENAI_API_KEY |
Geen | Stel AZURE_FUNCTIONS_AGENTS_MODEL de naam van het OpenAI-model in wanneer je een model niet doorgeeft in agent- of runtime-configuratie. |
Wanneer je niet instelt AZURE_FUNCTIONS_AGENTS_PROVIDER, detecteert de runtime automatisch de provider in deze volgorde:
-
AZURE_OPENAI_ENDPOINTselects Azure OpenAI. -
FOUNDRY_PROJECT_ENDPOINTselects Azure AI Foundry. -
OPENAI_API_KEYselecteert OpenAI.
Wanneer je op automatische detectie vertrouwt, moet de provider-specifieke instelling die de provider identificeerde nog steeds worden vergezeld door de vereiste modelinstelling van de provider. Bijvoorbeeld, FOUNDRY_PROJECT_ENDPOINT heeft nog steeds nodig FOUNDRY_MODEL, en AZURE_OPENAI_ENDPOINT heeft nog steeds .AZURE_OPENAI_DEPLOYMENT
AZURE_FUNCTIONS_AGENTS_MODEL is een runtime-brede fallback-modelinstelling. De geldige waarden hangen af van de actieve aanbieder:
- Voor Azure AI Foundry gebruik je een modelimplementatienaam die in het Foundry-project voorkomt, zoals
gpt-5.4. - Voor Azure OpenAI gebruik je de deployment name alleen als je bewust de runtime-brede fallback wilt. In de meeste apps kun je in plaats daarvan instellen
AZURE_OPENAI_DEPLOYMENT. - Voor OpenAI gebruik de modelnaam die door de OpenAI API wordt geaccepteerd, zoals
gpt-4o-mini.
Modelprecedent
Modelselectie volgt deze algemene volgorde:
- Het model dat door de agent of de runtime-aanroep is opgevraagd.
- Providerspecifieke instellingen, zoals
AZURE_OPENAI_DEPLOYMENTofFOUNDRY_MODEL. - Het model zette in
AZURE_FUNCTIONS_AGENTS_MODEL. - Het ingebouwde standaardmodel van de actieve aanbieder.
Configuratie van beheerde identiteit
De runtime gebruikt beheerde identiteiten bij verbinding met Azure-bronnen die Microsoft Entra-authenticatie ondersteunen. Gebruik AZURE_CLIENT_ID het als standaard identiteitsselector van de app, of gebruik feature-specifieke instellingen voor fijnere controle:
| runtimefunctie | Identiteitsinstelling | Terugval1 |
|---|---|---|
| Azure OpenAI model provider2 | AZURE_CLIENT_ID |
DefaultAzureCredential |
| Azure AI Foundry-modelaanbieder | AZURE_CLIENT_ID |
DefaultAzureCredential |
| Azure Container Apps-sandbox voor dynamische sessies | system_tools.dynamic_sessions_code_interpreter.client_id |
AZURE_CLIENT_ID, dan DefaultAzureCredential |
| MCP-servers die worden gehost in naamruimtes van connectors | De auth.client_id waarde in de serververmelding in mcp.json |
AZURE_CLIENT_ID, dan DefaultAzureCredential |
| Blob-backed sessiegeschiedenis3 | AzureWebJobsStorage__clientId |
AZURE_CLIENT_ID, dan DefaultAzureCredential |
- Wanneer je geen identiteitsinstelling configureert, gebruikt de runtime DefaultAzureCredential, dat wordt opgelost naar de door het systeem toegewezen beheerde identiteit in Azure en je ontwikkelaarsidentiteit (Azure CLI of Visual Studio) lokaal.
- Wanneer je een API-sleutel configureert in Azure OpenAI (met ),
AZURE_OPENAI_API_KEYgebruikt de modelprovider de sleutel in plaats van een beheerde identiteit. Voor meer informatie, zie Azure OpenAI extensie voor Azure Functions. - De sessiegeschiedenis gebruikt dezelfde standaard opslagidentiteitsconfiguratie van de host als de Azure Functions-host. Gebruik
AzureWebJobsStorage,AzureWebJobsStorage__blobServiceUrienAzureWebJobsStorage__clientIdom op identiteit gebaseerde opslag te configureren voor geschiedenis op basis van blobs. De runtime gebruikt geen afzonderlijke agentspecifieke identiteitsinstelling voor sessiegeschiedenis. Voor meer informatie, zie Define connections in de Functions ontwikkelaarsgids.
Ingebouwde eindpunten
De runtime stelt optionele ingebouwde endpoints bloot wanneer een agent zich aanmeldt via de builtin_endpoints instellingen in zijn frontmatter. Deze eindpunten zijn nuttig voor ontwikkeling, testen en diagnostiek. Ze zijn niet ontworpen als de primaire productieapplicatie-interface.
Schakel ingebouwde eindpunten in de front-matter van de agent in:
builtin_endpoints:
debug_chat_ui: true
chat_api: true
mcp: true
Instellen debug_chat_ui: true maakt ook de chat en chatstream API's mogelijk omdat de UI daarvan afhankelijk is. Stel het zelf in chat_api: true wanneer je programmatische chattoegang wilt zonder de debug-interface.
Eindpuntroutes
Het <AGENT_NAME> routesegment komt van de .agent.md bestandsnaam, niet van het weergaveveld name . Bijvoorbeeld, main.agent.md gebruikt /agents/main/.
| Oppervlak | Route | Belangrijke vereiste |
|---|---|---|
| Chatgebruikersinterface | /agents/<AGENT_NAME>/ |
Functietoets (gevraagd in de browser). |
| HTTP-chat-API | POST /agents/<AGENT_NAME>/chat |
Functietoets. |
| Streaming chat-API | POST /agents/<AGENT_NAME>/chatstream |
Functietoets. |
| MCP-eindpunt | /runtime/webhooks/mcp |
mcp_extension systeemsleutel. |
Sleutels ophalen
Wanneer je de chatinterface in Azure host, vraagt deze om een functietoets voordat berichten worden verzonden. Je kunt de sleutel gebruiken bij het direct aanroepen van de HTTP-chat-API's.
Gebruik het volgende az functionapp keys list commando om de standaard functietoets voor je app op te halen:
az functionapp keys list \
--resource-group <RESOURCE_GROUP> \
--name <FUNCTION_APP_NAME> \
--query "functionKeys.default" \
--output tsv
In dit voorbeeld vervang <RESOURCE_GROUP> en <FUNCTION_APP_NAME> door je groeps- en appnamen. Je kunt de teruggegeven sleutel opnemen in de x-functions-key header of een code querystringparameter in het HTTP-verzoek naar het eindpunt.
Bij het verbinden met een MCP-client vraag dan in plaats daarvan het MCP-extensiesysteem aan met het volgende commando:
az functionapp keys list \
--resource-group <RESOURCE_GROUP> \
--name <FUNCTION_APP_NAME> \
--query "systemKeys.mcp_extension" \
--output tsv
Het MCP-eindpunt vereist deze systeemsleutel.
Chat-API-verzoekflow
Beide ingebouwde chat-API's verwachten een JSON-body met een prompt veld:
{
"prompt": "Summarize today's failures."
}
Gebruik POST /agents/<AGENT_NAME>/chat wanneer je één JSON-respons wilt. Het responslichaam omvat session_id, response, en tool_calls. De runtime weerspiegelt ook dezelfde sessie-ID in de x-ms-session-id response header.
Gebruik POST /agents/<AGENT_NAME>/chatstream wanneer je wilt Server-Sent Events (SSE). De stream begint met een session gebeurtenis die de opgeloste sessie-ID bevat, gevolgd door nul of meer delta, intermediate, tool_start, en tool_end gebeurtenissen, en eindigt met ofwel done of error.
Om een multi-turn conversie voort te zetten, stuur je de sessie-ID van het eerdere antwoord in de x-ms-session-id request header op later chat of chatstream calls. Als je die header weglaat, maakt de runtime automatisch een nieuwe sessie aan.
POST /agents/main/chatstream HTTP/1.1
Content-Type: application/json
Accept: text/event-stream
x-ms-session-id: <SESSION_ID_FROM_A_PREVIOUS_RESPONSE>
{"prompt":"Continue the last summary and add blockers."}
Sessies en toestand
Interacties tussen meerdere beurten vereisen sessiegeschiedenis. De runtime beheert de sessieopslag automatisch op basis van de omgeving:
| Milieu | Storage | Configuration |
|---|---|---|
| Azuur | Blob Storage in het standaard host-opslagaccount (AzureWebJobsStorage) |
Verbindingsstring of identiteitsgebaseerd (voorkeur). Zie Beheerde identiteitsconfiguratie. |
| Lokale ontwikkeling | Bestandsgebaseerd onder de configuratiemap van lokale agenten | Geen configuratie nodig. |
De runtime vereist geen aparte sessiedatabase. Sandbox-uitvoering is ook sessiebewust: wanneer er geen expliciete sessie-ID beschikbaar is, gebruikt de runtime een verse geïsoleerde sandbox-sessie zodat niet-gerelateerde aanroepen geen status delen.
Ondersteunde hostingplannen
Azure Functions hosted skills ondersteunen deze Azure Functions hostingplannen:
| Plannen | Serverless scaling | Aantekeningen |
|---|---|---|
| Flexverbruik | Yes | Schaal-tot-nul, per seconde facturering en automatische schaalverdeling. Aanbevolen voor de meeste werklasten. |
| Premium | Yes | Voorverwarmde instanties, virtuele netwerkintegratie en onbeperkte uitvoeringsduur. Gebruik voor workloads die consistente lage latentie of privénetwerken nodig hebben. |
| Toegewezen (App Service) | No | Altijd-aan instanties met handmatige of regelgebaseerde schaalbaarheid. Gebruik wanneer je al capaciteit hebt voor een App Service-abonnement. |
Alle plannen ondersteunen beheerde identiteit, virtuele netwerkintegratie en Application Insights.