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.
Las habilidades alojadas en Azure Functions te permiten añadir razonamiento de IA a tus aplicaciones de función. En un .agent.md archivo, proporcionas instrucciones en lenguaje natural, una configuración de disparador y asignaciones opcionales de herramientas. Cuando se activa un evento, el tiempo de ejecución llama a un modelo, ejecuta cualquier herramienta que el modelo solicite y devuelve un resultado. Despliegas la app como cualquier otra app de funciones.
Para empezar, elige la experiencia que se ajuste a tu objetivo:
- Para crear y probar una habilidad alojada localmente usando un lienzo interactivo en GitHub Copilot, consulta Construir y probar una habilidad alojada con el lienzo de habilidades alojadas en Azure Functions.
- Para provisionar recursos de Azure y desplegar una aplicación de habilidades alojada completa utilizando la CLI de Azure Developer (
azd), consulte Construir una aplicación de IA orientada a eventos con habilidades alojadas en Azure Functions.
Para obtener la documentación del entorno de ejecución más actualizada y completa, consulte Azure Functions Agents Runtime.
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 habilidad alojada es una única unidad de trabajo impulsada por IA definida en un .agent.md archivo. Cada habilidad alojada se asigna a una función de Azure. Una habilidad por sí sola se refiere a una guía reutilizable de Markdown almacenada en un SKILL.md archivo que las habilidades alojadas pueden cargar bajo demanda.
Cuándo usar habilidades alojadas
Utiliza habilidades alojadas en Azure Functions cuando un evento empresarial necesite razonamiento de IA antes de tomar una acción. Por ejemplo:
- Triaje de correos entrantes. Un desencadenador de conector se activa cuando llega una queja a un buzón compartido. La habilidad alojada lee el mensaje, clasifica la gravedad y lo dirige a la cola de soporte correcta.
- Enriquece los nuevos leads del CRM. Se activa un desencadenador de conector cuando se añade un cliente potencial a Salesforce o Dynamics 365. La habilidad alojada busca en la web contexto sobre el cliente potencial y envía un resumen al vendedor asignado.
- Validar los cambios de datos. Un blob o un disparador de base de datos se activa cuando se actualiza un registro de ingresos. La habilidad alojada comprueba si los ingresos han caído por debajo de un umbral, genera una explicación y comienza un flujo de trabajo de revisión.
- Proporcione una herramienta MCP específica del dominio. Un agente externo o un entorno de agentes invoca una habilidad alojada a través de HTTP o MCP. La habilidad alojada aplica lógica de IA a datos almacenados o en una base de datos y devuelve una respuesta estructurada, actuando como una herramienta inteligente y específica de dominio que otros clientes de IA pueden consumir.
Las habilidades alojadas encajan bien cuando necesitas disparadores impulsados por eventos, razonamiento de IA con herramientas y las funciones operativas de Azure Functions (identidad gestionada, monitorización, escalabilidad a cero e integración de redes virtuales).
Para ejemplos que combinan eventos, razonamiento de IA y sistemas empresariales, véase escenarios de habilidades alojadas en Azure Functions.
¿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:
- Cada habilidad alojada es un archivo
.agent.md. La configuración declarativa y las instrucciones en lenguaje natural conviven juntas. Cada archivo se asigna a una función de Azure. - Los eventos inician las habilidades hospedadas. Los activadores de funciones inician habilidades alojadas a partir de calendarios, solicitudes 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 habilidades alojadas para usar servidores MCP remotos, servidores MCP alojados en espacios de nombres de conectores, habilidades reutilizables y ejecución 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.
- La infraestructura operativa se administra automáticamente. El entorno de ejecución gestiona la detección de habilidades alojadas, el registro de disparadores, el ensamblado 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 de larga duración con aprobaciones humanas en el bucle | 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 de proyectos de habilidades alojados. 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.
Importante
Las habilidades alojadas de Azure Functions solo admiten funciones de streaming HTTP. Cualquier otra función HTTP en la misma app de habilidades alojada también debe usar streaming. No se soporta combinar funciones HTTP de streaming y no streaming dentro de la misma aplicación. Para más información, consulta flujos HTTP en Python.
Archivos de proyectos de habilidades alojados
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 habilidades hospedadas. Los metadatos iniciales en YAML configuran la habilidad alojada, y el cuerpo en Markdown se convierte en 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 habilidades alojadas 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 SKILL.md recursos de indicaciones reutilizables que las habilidades hospedadas pueden cargar según sea necesario. |
Cada .agent.md archivo utiliza material inicial YAML seguido de instrucciones de marcado. Este ejemplo define una habilidad alojada 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 habilidad alojada. 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 habilidad alojada. 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 .agent.md archivo, opciones de configuración de aplicaciones y reglas de sustitución de variables, consulta la referencia de habilidades alojadas en Azure Functions.
Crea y prueba con el lienzo de habilidades alojado
Como parte de la vista previa de habilidades alojadas, Azure Functions ofrece un canvas opcional de habilidades alojadas en GitHub Copilot. El lienzo es una superficie interactiva en la que tú y GitHub Copilot podéis crear una aplicación de inicio, elegir controles de eventos de temporizador, HTTP o cola, editar las instrucciones de la habilidad, seleccionar un modelo compatible, iniciar el host local de Functions, invocar el desencadenador e inspeccionar la actividad y el resultado.
Desde el lienzo, puedes abrir el proyecto generado en Visual Studio Code o usar la acción integrada Desplegar en Azure. La acción de despliegue utiliza la CLI de desarrollo de Azure (azd).
El canvas guía y visualiza el flujo de trabajo de desarrollo, pero no reemplaza el entorno de ejecución de skills hospedadas ni el formato del proyecto. Una aplicación creada a través del lienzo sigue siendo una aplicación estándar de funciones en Python v2 que utiliza los archivos alojados del proyecto de skills. Puedes seguir editando, ejecutando y desplegando la app fuera del lienzo.
La guía de inicio rápido del lienzo se centra en crear, ejecutar e inspeccionar una habilidad hospedada localmente y activada por un temporizador. Para el flujo de trabajo guiado, consulta Construir y probar una habilidad alojada con el lienzo de habilidades alojado 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 habilidad alojada y registra los disparadores y los puntos de conexión necesarios.
Cuando se activa un disparador, el entorno de ejecución construye la habilidad alojada con sus instrucciones resueltas, modelo, herramientas e historial de sesión, y luego la ejecuta.
Activar habilidades alojadas 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 el enlace del desencadenador y args contiene la configuración específica del desencadenador que determina qué evento inicia la habilidad hospedada.
Entre los patrones de desencadenador comunes se incluyen:
| Pattern | Example |
|---|---|
| HTTP | Reciba una solicitud, llame a las herramientas y devuelva una respuesta estructurada. |
| Programación | Ejecute un flujo de trabajo diario de informe, resumen, limpieza o conciliación. |
| Cola o mensaje | Procesar elementos de trabajo que requieren razonamiento del modelo o llamadas a herramientas. |
| Evento de almacenamiento o base de datos | Reaccione a los archivos, registros o eventos modificados. |
| Desencadenador del 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 habilidades alojadas. Utiliza servidores MCP remotos cuando las habilidades alojadas 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 habilidades alojadas funcionen con servicios externos sin necesidad de código cliente API personalizado. 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 conector para iniciar habilidades alojadas a partir de eventos externos, y herramientas MCP del conector para invocar acciones del servicio desde las instrucciones de las habilidades alojadas.
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 habilidades alojadas. 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 Integration Runtime puede utilizar sesiones dinámicas de Azure Container Apps para proporcionar a las habilidades hospedadas una execute_python herramienta. 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.
Flujos de trabajo dinámicos
Los flujos de trabajo dinámicos permiten que las tareas de IA soportadas inicien planes duraderos y de varios pasos compuestos por llamadas a herramientas seguras para el flujo de trabajo, tareas de subagentes y esperas. Extienden el patrón de llamada de herramientas programáticas con Durable Functions para que una tarea pueda dispersar el trabajo, ejecutar especialistas aislados, esperar temporizadores duraderos, sobrevivir a reinicios de trabajadores y mantener los resultados intermedios grandes fuera de la conversación hasta que haya un resumen final listo.
En la versión experimental v1 actual, habilite flujos de trabajo en un archivo .agent.md que se pueda ejecutar de forma independiente. Las tareas de flujo de trabajo pueden llamar a funciones de Python que decoras explícitamente con @workflow_tool o a tareas especializadas que habilitas mediante workflows.subagents. Para más información, consulta Flujos de trabajo dinámicos en habilidades alojadas 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:
Para monitorizar la configuración, consultas KQL, uso de tokens, latencia y comprobaciones de conectores, consulta Monitorizar y solucionar problemas de habilidades alojadas.
Contenido relacionado
- Escenarios de aptitudes hospedadas en Azure Functions
- Documentación de Azure Functions Agents Runtime
- Guía para desarrolladores de habilidades alojadas en Azure Functions
- Referencia de habilidades alojada en Azure Functions
- Crea y prueba una habilidad alojada con el canvas de habilidades alojadas de Azure Functions
- Crea una aplicación de IA orientada a eventos con habilidades alojadas en Azure Functions
- Flujos de trabajo dinámicos en habilidades alojadas por 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