Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Functions Hosted Skills es un modelo de programación para construir capacidades inteligentes en la nube y orientadas a eventos en Azure Functions. Defines el comportamiento con Markdown, instrucciones en lenguaje natural y configuración declarativa. Puedes integrar habilidades alojadas con tus aplicaciones mediante desencadenadores y enlaces de Azure Functions, o usar tu propio código como herramientas cuando sea necesario.
Importante
Las habilidades hospedadas de Azure Functions se encuentran actualmente en versión preliminar. Las características, los nombres de configuración y los conectores admitidos pueden cambiar antes de la disponibilidad general.
Una aplicación de habilidades alojada en Azure Functions es una aplicación de funciones que utiliza el modelo de programación de habilidades alojada. Contiene tareas de IA definidas en .agent.md archivos, y las tareas pueden usar opcionalmente guías Markdown reutilizables de archivos SKILL.md . En este artículo, habilidades alojadas se refieren al modelo de programación, tarea a una unidad ejecutable individual y habilidad a la guía reutilizable de Markdown.
Scenarios
Las habilidades alojadas en Azure Functions funcionan mejor para cargas de trabajo de IA orientadas a eventos y ricas en herramientas. Entre los escenarios habituales se incluyen los siguientes:
- Tareas HTTP que reciben una petición, llaman a herramientas y devuelven una respuesta estructurada.
- Tareas programadas que ejecutan informes diarios, resúmenes, tareas de limpieza o flujos de conciliación.
- Tareas en cola o de mensajería que procesan elementos de trabajo que requieren razonamiento del modelo o llamadas a herramientas.
- Tareas de cambio de datos que reaccionan a archivos, registros o filas de bases de datos nuevos o modificados.
- Tareas activadas por el conector que reaccionan a eventos de conectores gestionados, como mensajes de Teams, correo de Outlook o eventos del calendario.
Sugerencia
Para probar habilidades alojadas en Azure Functions, consulta Construir una aplicación de IA orientada a eventos con habilidades alojadas en Azure Functions. Usando una azd plantilla, puedes tener una aplicación funcional desplegada en Azure en minutos.
¿Por qué usar Functions para tus aplicaciones de IA?
Las cargas de trabajo de IA en producción necesitan más que una instrucción y un modelo. Necesitan formas confiables de iniciar el trabajo, llamar a sistemas externos, conservar el historial de conversaciones, ejecutar código que no es de confianza de forma segura, autenticarse sin secretos, emitir telemetría y escalar a petición.
Functions proporciona un modelo de computación orientado a eventos para estas preocupaciones operativas. Las habilidades alojadas en Azure Functions aplican ese mismo modelo a tu código de IA. Entre las ventajas se incluyen:
- Las tareas de IA son la unidad de trabajo. Cada tarea está definida en un archivo separado
.agent.mdcon configuración declarativa e instrucciones en lenguaje natural. - Los eventos inician tareas. Las funciones activan tareas de IA a partir de horarios, peticiones HTTP, mensajes de cola, cambios en blob, eventos de la Cuadrícula de Eventos, mensajes del Service Bus y otros eventos soportados.
- Las capacidades se configuran primero, con código cuando sea necesario. Puedes configurar tareas para usar servidores MCP remotos, servidores MCP alojados en espacios de nombres de conectores, habilidades y ejecuciones de código en formato sandbox. Escribe tus propias herramientas basadas en Python para lógica específica de aplicaciones.
- El alojamiento de Azure Functions está integrado. Las habilidades hospedadas en Azure Functions admiten los planes Flex Consumption, Premium y Dedicated (App Service). Flex Consumption ofrece una escala a cero, facturación por segundo y escalado automático. Todos los planes soportan identidad gestionada, integración de redes virtuales y Application Insights.
- Nos encargamos por ti de la infraestructura operativa. El entorno de ejecución gestiona el descubrimiento de tareas, el registro de desencadenadores, la integración de herramientas, el historial de sesiones y los puntos de conexión integrados opcionales.
Funciona con otras plataformas de IA de Microsoft
Las habilidades alojadas en Azure Functions son complementarias a otras ofertas de IA de Microsoft y pueden usarse junto a ellas. Su punto ideal es construir capacidades inteligentes en la nube y orientadas a eventos en Azure Functions mediante un modelo de programación accesible. Las habilidades alojadas pueden exponer capacidades a través de HTTP o MCP para que las utilicen otras aplicaciones, agentes y entornos de ejecución de agentes.
Elige la capacidad de Azure que mejor se adapte a tu situación:
| Escenario | Opción |
|---|---|
| Exponer funciones deterministas como herramientas para otro cliente de IA | Extensión MCP de Azure Functions |
| Orquestación de varios pasos y de ejecución prolongada con aprobaciones con intervención humana | Durable Functions |
| Crea y gestiona agentes de IA sin hosting personalizado | Microsoft Foundry o Copilot Studio |
Definición del proyecto
Una aplicación de habilidades alojada en Azure Functions es un proyecto estándar de aplicación de funciones en Python v2 desplegado junto con archivos específicos de tiempo de ejecución. Los siguientes archivos de proyecto siempre son necesarios para las aplicaciones de funciones en Python:
| Archivo | Propósito |
|---|---|
function_app.py |
Importa create_function_app() y devuelve la aplicación de Azure Functions configurada. |
host.json |
Configura el host de Azure Functions. |
requirements.txt |
Incluye el paquete del entorno de ejecución de las habilidades hospedadas y cualquier dependencia de Python específica de la aplicación. |
Para más información, consulta la guía de referencia para desarrolladores de Azure Functions para aplicaciones en Python.
Archivos del entorno de ejecución del agente
El entorno de ejecución descubre estos archivos y carpetas, que se despliegan junto con el proyecto de la app:
| Archivo o carpeta | Propósito |
|---|---|
*.agent.md |
Define las tareas de la IA. El bloque de metadatos YAML configura la tarea, y el cuerpo en Markdown pasa a ser las instrucciones. Tu proyecto debe tener al menos un .agent.md archivo. |
agents.config.yaml |
(Opcional) Define los valores predeterminados de ejecución en toda la aplicación, como modelo, tiempo de espera y ajustes sandbox. |
mcp.json |
Define los servidores HTTP MCP remotos que las tareas de IA pueden usar como herramientas, incluyendo herramientas conectores para acciones como enviar correos electrónicos o trabajar con Teams. |
tools/ |
(Opcional) Incluye cualquier herramienta personalizada de Python que cree para proporcionar funcionalidades que no estén disponibles ya mediante servidores MCP, conexiones, habilidades o ejecuciones en entorno aislado. |
skills/ |
(Opcional) Contiene recursos de aviso reutilizables SKILL.md que las tareas de IA pueden cargar según sea necesario. |
Cada .agent.md archivo utiliza material inicial YAML seguido de instrucciones de marcado. Este ejemplo define una tarea de IA activada por temporizador que se ejecuta diariamente a las 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 parte preliminar indica cómo se invoca la tarea. El cuerpo de markdown es el bloque de instrucciones que el entorno de ejecución pasa al modelo durante la ejecución. La sustitución de variables de entorno permite que las instrucciones y los valores de configuración hagan referencia a la configuración de la aplicación, como $TO_EMAIL.
Cada .agent.md archivo define una tarea de IA. El nombre del archivo determina el nombre de la función de Azure y el segmento de ruta de los puntos de conexión integrados. El name campo es un nombre de visualización para registros, etiquetas y documentación.
Para la lista completa de campos de archivo agente, opciones de configuración de aplicaciones y reglas de sustitución de variables, consulta la referencia de habilidades alojadas en Azure Functions.
Proceso de inicio de la app
Cuando el anfitrión de Functions carga la aplicación, el create_function_app método descubre .agent.md archivos, servidores MCP, habilidades y herramientas personalizadas en el proyecto. Valida la configuración, prepara las herramientas para cada tarea y registra los disparadores y los puntos de conexión necesarios.
Cuando se activa un disparador, el entorno de ejecución construye la tarea con sus instrucciones resueltas, modelo, herramientas e historial de sesión, y luego la ejecuta utilizando el Microsoft Agent Framework.
Activar tareas de IA a partir de eventos
El entorno de ejecución admite varios desencadenadores en tu aplicación, pero solo uno por archivo .agent.md. Una definición de desencadenador tiene un objeto type y un objeto args.
type identifica la vinculación del desencadenador y args contiene la configuración específica del desencadenador que define qué evento inicia la tarea de IA.
Entre los patrones de desencadenador comunes se incluyen:
| Pattern | Example |
|---|---|
| Tarea HTTP | Reciba una solicitud, llame a las herramientas y devuelva una respuesta estructurada. |
| Tarea programada | Ejecute un flujo de trabajo diario de informe, resumen, limpieza o conciliación. |
| Tarea de cola o mensaje | Procesar elementos de trabajo que requieren razonamiento del modelo o llamadas a herramientas. |
| Tareas de almacenamiento o eventos de base de datos | Reaccione a los archivos, registros o eventos modificados. |
| Tarea desencadenada por un conector | Reacciona a eventos de conectores gestionados, como mensajes de Teams, correo de Outlook o eventos de calendario soportados por el conector. |
Para obtener detalles sobre la configuración de los desencadenadores, los tipos admitidos y la referencia de args, consulta la referencia de las aptitudes hospedadas en Azure Functions.
Herramientas de IA compatibles
Las habilidades alojadas por Azure Functions soportan varios tipos de herramientas. Empieza con capacidades configuradas y usa herramientas personalizadas de Python para lógica específica de la app que no encaje con esas opciones.
Servidores MCP remotos
Defina servidores HTTP remotos o HTTP MCP transmitibles en mcp.json. El runtime descubre estos servidores y pone sus herramientas a disposición de todas las tareas de IA. Utiliza servidores MCP remotos cuando las tareas necesiten llamar a herramientas alojadas por otro servicio o componer capacidades a través de los límites de la aplicación.
Conectores de Azure
Los conectores permiten que las tareas de IA funcionen con servicios externos sin necesidad de código cliente personalizado de API. Un Espacio de Nombres de Conectores aloja conexiones, disparadores y servidores MCP para servicios como Microsoft 365 Outlook, Teams, Salesforce, SAP o SQL. Utiliza desencadenadores de conectores para iniciar tareas a partir de eventos externos y herramientas MCP de conector para invocar acciones de servicio desde las instrucciones de las tareas.
Habilidades
Guarda los recursos de prompts reutilizables bajo la skills/ carpeta. Cada carpeta de habilidades contiene un archivo SKILL.md con un nombre, una descripción e instrucciones en Markdown. El runtime descubre automáticamente habilidades y las pone a disposición de las tareas de la IA. Las habilidades ayudan a mantener las instrucciones básicas pequeñas y a la vez que ofrecen orientación específica para cada dominio cuando es necesario.
Ejecución en espacio aislado
El entorno de ejecución puede usar sesiones dinámicas de Azure Container Apps para proporcionar a las tareas de IA una herramienta execute_python. Esta herramienta ejecuta Python en un pool de sesiones aislado, lo cual es útil para la ejecución de código y el análisis de datos. Configura el punto final del pool de sesiones en agents.config.yaml.
Herramientas de Python personalizadas
Utiliza herramientas personalizadas de Python para capacidades específicas de cada app. Añade los archivos .py a la carpeta tools/ y decora las funciones con @tool del paquete de ejecución. El entorno de ejecución descubre y registra automáticamente estas herramientas.
Para detalles de configuración, tablas de campos y ejemplos de código para cada tipo de herramienta, consulta la referencia de habilidades alojada en Azure Functions.
Sesiones y estado
Las interacciones en varios turnos requieren un historial de sesión. En Azure, el tiempo de ejecución almacena el historial de sesiones en Blob Storage a través de la cuenta de AzureWebJobsStorage de la aplicación de funciones. Para el desarrollo local, el tiempo de ejecución vuelve al historial de sesión basado en archivos. La ejecución en formato sandboxed también es consciente de la sesión y utiliza sesiones aisladas para ejecuciones no relacionadas.
Observability
A partir de la versión azure-functions-agents-runtime0.1.0b6, el entorno de ejecución incluye un conjunto de funciones de observabilidad que aún está en desarrollo activo y está sujeto a cambios.
Para los últimos detalles de configuración, campos de telemetría y guías de uso, utiliza la documentación del repositorio en tiempo de ejecución:
Contenido relacionado
- Referencia de habilidades alojada en Azure Functions
- Crea una aplicación de IA orientada a eventos con habilidades alojadas en Azure Functions
- Use los modelos y herramientas de IA en Azure Functions
- Compila un servidor MCP remoto personalizado con Azure Functions
- Hospedaje del plan de consumo flexible