Compartir a través de


Uso de Azure Functions con Azure AI Foundry Agent Service

Azure AI Foundry Agent Service se integra con Azure Functions, lo que le permite crear aplicaciones inteligentes controladas por eventos con una sobrecarga mínima. Esta combinación permite que los flujos de trabajo controlados por IA aprovechen la escalabilidad y flexibilidad de la informática sin servidor, lo que facilita la compilación e implementa soluciones que responden a eventos en tiempo real o a flujos de trabajo complejos.

Azure Functions proporciona compatibilidad con desencadenadores y enlaces, lo que simplifica cómo interactúan los agentes de IA con sistemas y servicios externos. Los desencadenadores determinan cuándo se ejecuta una función, como una solicitud HTTP, un mensaje de una cola o una carga de archivos en Azure Blob Storage y permite a los agentes actuar dinámicamente en función de eventos entrantes.

Mientras tanto, los enlaces facilitan conexiones simplificadas a orígenes de datos de entrada o salida, como bases de datos o API, sin necesidad de código reutilizable extenso. Por ejemplo, puede configurar un desencadenador para ejecutar una Azure Function cada vez que se reciba un mensaje de un cliente en un bot de chat y usar enlaces de salida para enviar una respuesta a través del Agente de Azure AI.

Modelos compatibles

Para usar todas las características de la llamada de función, incluidas las funciones paralelas, debe usar un modelo que se publicó después del 6 de noviembre de 2023.

Prerrequisitos

Preparación de su entorno local

En los ejemplos siguientes se destaca cómo usar la funcionalidad del Servicio de Agente de Azure AI Foundry para realizar llamadas a funciones, donde dichas llamadas se colocan en una cola de almacenamiento por el Servicio de Agente para ser procesadas por una Función de Azure que escucha esa cola.

Puede encontrar la plantilla y el código que se usan aquí en GitHub.

Soporte de uso

Compatibilidad con la Fundición de IA de Azure SDK de Python SDK DE C# REST API Instalación básica del agente Configuración del agente estándar
✔️ ✔️ ✔️

Creación de recursos de Azure para pruebas de desarrollo locales y en la nube

Una vez que tenga la suscripción de Azure, ejecute lo siguiente en una nueva ventana de terminal para crear Azure OpenAI y otros recursos necesarios:

azd init --template https://github.com/Azure-Samples/azure-functions-ai-services-agent-python

Mac o Linux:

chmod +x ./infra/scripts/*.sh 

Windows:

set-executionpolicy remotesigned

Aprovisionamiento de recursos

Ejecute el comando siguiente para crear los recursos necesarios en Azure.

azd provision

Creación de local.settings.json

Nota:

Este archivo debe estar en la misma carpeta que host.json. Se crea automáticamente si ejecutó azd provision.

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "STORAGE_CONNECTION__queueServiceUri": "https://<storageaccount>.queue.core.windows.net",
    "PROJECT_CONNECTION_STRING": "<project connnection for AI Project>",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true"
    }
}

Ejecución de la aplicación con Visual Studio Code

  1. Abra la carpeta en un nuevo terminal.
  2. Ejecute el comando de código code . para abrir el proyecto en Visual Studio Code.
  3. En la paleta de comandos (F1), escriba Azurite: Start, que permite la depuración con almacenamiento local para el entorno de ejecución de Azure Functions.
  4. Presione Ejecutar/Depurar (F5) para ejecutar en el depurador. Seleccione Depurar de todos modos si se le pide que el emulador local no se ejecute.
  5. Envíe puntos de conexión POST prompt respectivamente mediante la herramienta de prueba HTTP. Si tiene instalada la extensión RestClient, podrá ejecutar solicitudes directamente desde el archivo de proyecto test.http.

Implementación en Azure

Ejecute este comando para aprovisionar la aplicación de funciones, con los recursos de Azure necesarios, e implementar el código:

azd up

Se le pedirá que proporcione estos parámetros de implementación necesarios:

Parámetro Descripción
Nombre del entorno Un entorno que se usa para mantener un contexto de implementación único para la aplicación. No se le pedirá si creó el proyecto local mediante azd init.
Suscripción a Azure Suscripción en la que se crean los recursos.
Ubicación de Azure Región de Azure en la que se va a crear el grupo de recursos que contiene los nuevos recursos de Azure. Solo se muestran las regiones que admiten actualmente el Plan de consumo flexible.

Una vez finalizada la publicación correctamente, azd proporciona los puntos de conexión de dirección URL de las nuevas funciones, pero sin los valores de clave de función necesarios para acceder a los puntos de conexión. Para aprender a obtener estos mismos puntos de conexión junto con las claves de función necesarias, consulte Invocar la función en Azure en el artículo complementario Inicio rápido: Creación e implementación de funciones en Azure Functions usando Azure Developer CLI.

Reimplementación del código

Puede ejecutar el azd up comando tantas veces como sea necesario aprovisionar los recursos de Azure e implementar actualizaciones de código en la aplicación de funciones.

Nota:

El paquete de implementación más reciente siempre sobrescribe los archivos de código implementados.

Limpieza de recursos

Cuando haya terminado de trabajar con su aplicación de funciones y los recursos relacionados, puede utilizar este comando para eliminar la aplicación de funciones y sus recursos relacionados de Azure y evitar incurrir en más costes (--purge no deja una eliminación temporal del recurso de IA y recupera su cuota):

azd down --purge