Compartir a través de


Configuración de recursos de agente estándar

La configuración del agente estándar usa recursos de Azure administrados por el cliente para almacenar el estado del agente y mantener todos los datos del agente bajo su control. Utilice la configuración estándar cuando necesite una soberanía de datos completa, el cumplimiento de las políticas de seguridad empresarial o el aislamiento a nivel de proyecto.

En esta configuración:

  • Los estados del agente (conversaciones, respuestas) se almacenan en sus propios recursos Azure.
  • Mantiene un control completo sobre la residencia y el acceso de datos.

Sugerencia

Para obtener una configuración más sencilla que use recursos administrados por Microsoft, consulte Configuración del entorno y elija la opción de configuración básica del agente.

Prerrequisitos

Información general de recursos

La configuración estándar requiere que proporcione sus propios recursos (BYO) para que todos los datos del agente permanezcan en su cuenta de Azure.

Resource Lo que almacena
Azure Storage (Storage de archivos BYO) Archivos cargados por desarrolladores y usuarios finales
Azure AI Search (BYO - Servicio de Búsqueda Personalizada) Almacenes de vectores creados por el agente
Azure Cosmos DB (byO Thread Storage) Mensajes, historial de conversaciones y metadatos del agente

Todos los datos procesados por foundry Agent Service se almacenan automáticamente en reposo en estos recursos, lo que le ayuda a cumplir los requisitos de cumplimiento y a los estándares de seguridad de la empresa.

Requisitos de rendimiento de Cosmos DB

La cuenta de Cosmos DB para NoSQL Azure debe tener un límite de rendimiento total de al menos 3000 RU/s. Se admiten tanto el rendimiento aprovisionado como los modos sin servidor.

La configuración estándar aprovisiona tres contenedores en la cuenta de Cosmos DB, cada una de las cuales requiere 1000 RU/s:

Contenedor Propósito
thread-message-store Conversaciones de usuario final
system-thread-message-store Mensajes internos del sistema
agent-entity-store Metadatos del agente (instrucciones, herramientas, nombre)

Para varios proyectos en la misma cuenta de Foundry, multiplique por el número de proyectos. Por ejemplo, dos proyectos requieren al menos 6000 RU/s (3 contenedores × 1000 RU/s × 2 proyectos).

aislamiento de datos a nivel de proyecto

La configuración estándar impone el aislamiento de datos de nivel de proyecto de forma predeterminada. Dos contenedores de almacenamiento de blobs se aprovisionan automáticamente en tu cuenta de almacenamiento: uno para los archivos y otro para los datos del sistema intermedios (incrustaciones, fragmentos). Se aprovisionan tres contenedores en la cuenta de Cosmos DB: uno para subprocesos de usuario, uno para mensajes del sistema y otro para los datos de configuración del agente, como instrucciones, herramientas y nombres. Este comportamiento predeterminado reduce la complejidad de la configuración mientras se siguen aplicando límites de datos estrictos entre proyectos.

Hosts de funcionalidad

Capability hosts son subrecursos dentro de la cuenta y el proyecto que permiten la interacción con el servicio de agente.

  • Host de funcionalidad de la cuenta: tiene un cuerpo de solicitud vacío, excepto para el parámetro capabilityHostKind="Agents".
  • Host de capacidad de proyecto: Especifica los recursos para almacenar el estado del agente, ya sean recursos multicliente gestionados por Microsoft (configuración básica) o recursos de un solo inquilino propiedad del cliente (configuración estándar). El host de funcionalidad del proyecto funciona como las configuraciones del proyecto.

Limitaciones

  • No se puede actualizar el anfitrión de capacidades después de establecerlo para un proyecto o una cuenta.

Aprovisionamiento de recursos paso a paso

Nota:

Actualmente, el portal de Foundry solo admite la configuración básica del agente. Para configurar la configuración del agente estándar, use los pasos manuales o la plantilla de Bicep que se describe en esta sección.

Aprovisionamiento manual

Siga estos pasos para aprovisionar manualmente todos los recursos necesarios para la configuración del agente estándar. Permita aproximadamente entre 30 y 45 minutos para el proceso de aprovisionamiento completo.

Fase 1: Creación de recursos dependientes

  1. Cree o reutilice los siguientes recursos. Puede crear nuevos recursos o pasar el identificador de recurso de los existentes:
    • Cuenta de Azure Cosmos DB para NoSQL
    • cuenta de Azure Storage
    • recurso de Azure AI Search
    • Azure Key Vault recurso (que se usa para administrar secretos y cadenas de conexión para la infraestructura del agente)
    • [Opcional] recurso de Azure Application Insights
    • [Opcional] Recurso de fundición existente

Fase 2: Crear recursos y conexiones de fundición

  1. Cree un recurso de Microsoft Foundry.
  2. Cree conexiones de nivel de cuenta:
    • Cree una conexión de cuenta al recurso de Application Insights.
  3. Implemente gpt-4o u otro modelo compatible con el agente.
  4. Cree un project.
  5. Cree conexiones de proyecto:
    • Si se proporciona, conecte el proyecto al recurso Foundry.
    • Conectar a la cuenta de Azure Storage.
    • Conexión del proyecto al recurso de Azure AI Search.
    • Conexión del proyecto a la cuenta de Cosmos DB.

Fase 3: Asignar roles a la identidad administrada del proyecto

La identidad administrada del proyecto incluye tanto la identidad administrada asignada por el sistema (SMI) como la identidad administrada asignada por el usuario (UMI).

  1. Asigne a la identidad administrada del proyecto (para SMI) los siguientes roles:
    • Operador de Cosmos DB en el nivel de cuenta del recurso de Cosmos DB.
    • Colaborador de la Cuenta de Almacenamiento a nivel de cuenta para el recurso de cuenta de almacenamiento.

Fase 4: Configurar los hosts de capacidad

  1. Establezca el host de capacidad de la cuenta con una sección de propiedades vacías.
  2. Establezca el host de capacidad del proyecto con las conexiones de Cosmos DB, Azure Storage y AI Search.

Fase 5: Asignación de permisos de recursos granulares

  1. Asigne a la identidad administrada del proyecto (SMI y UMI) los siguientes roles en los ámbitos de recursos especificados:
    • Azure AI Search (asigne antes o después de la creación del host de funcionalidad):
      • Colaborador de datos de índice de búsqueda
      • colaborador de Search Service
    • Azure Blob Storage Container: <workspaceId>-azureml-blobstore
      • colaborador de datos de blobs de Storage
    • Azure Blob Storage Container: <workspaceId>-agents-blobstore
      • propietario de datos de blobs de Storage
    • Cosmos DB para base de datos NoSQL: enterprise_memory
      • Colaborador de datos integrado de Cosmos DB
      • Ámbito: nivel de base de datos para cubrir todos los contenedores (no se necesita ninguna asignación de roles específica del contenedor individual).

Fase 6: Conceder acceso de desarrollador

  1. Asigne a todos los desarrolladores que necesiten crear o editar agentes en el proyecto el rol de Azure AI User en el ámbito del proyecto.

Uso de una plantilla de Bicep

Usa una cuenta de Azure OpenAI existente, una cuenta de Azure Storage existente, una cuenta de Azure Cosmos DB para NoSQL existente o un recurso de Azure AI Search proporcionando el identificador de recurso completo de Azure Resource Manager (ARM) en el archivo de plantilla del agente estándar .

Uso de un recurso Azure OpenAI existente

  1. Siga los pasos descritos en Configuración del entorno para obtener el identificador de recurso de la cuenta de Foundry Tools.

  2. En el archivo de plantilla para agentes estándar, reemplace el marcador de posición siguiente:

    existingAoaiResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{serviceName}
    

Usar una cuenta de almacenamiento de Azure existente para el almacenamiento de archivos

  1. Inicie sesión en el Azure CLI y seleccione la suscripción con la cuenta de storage:

    az login
    
  2. Ejecute el siguiente comando para obtener el identificador de recurso de la cuenta de storage:

    az storage account show --resource-group <your-resource-group> --name <your-storage-account> --query "id" --output tsv
    

    La salida es el valor aiStorageAccountResourceID que necesita en la plantilla.

  3. En el archivo de plantilla para agentes estándar, reemplace el marcador de posición siguiente:

    aiStorageAccountResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
    

Uso de una cuenta existente de Azure Cosmos DB para NoSQL para el almacenamiento de subprocesos

Se crea una Azure cuenta de Cosmos DB para NoSQL para cada cuenta de Foundry. Para conocer los requisitos de rendimiento y el escalado de varios proyectos, consulte Requisitos de rendimiento de Cosmos DB.

Nota:

Una capacidad insuficiente de RU/s en la cuenta de Cosmos DB genera errores de aprovisionamiento del host de capacidad durante la implementación.

  1. Inicie sesión en el Azure CLI y seleccione la suscripción con su cuenta de Cosmos DB:

    az login
    
  2. Ejecute el siguiente comando para obtener el identificador de recurso de la cuenta de Cosmos DB de Azure:

    az cosmosdb show --resource-group <your-resource-group> --name <your-cosmosdb-account> --query "id" --output tsv
    

    La salida es el valor cosmosDBResourceId que necesita en la plantilla.

  3. En el archivo de plantilla para agentes estándar, reemplace el marcador de posición siguiente:

    cosmosDBResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}
    

Uso de un recurso de Azure AI Search existente

  1. Inicie sesión en el Azure CLI y seleccione la suscripción con el recurso de búsqueda:

    az login
    
  2. Ejecute el siguiente comando para obtener el identificador de recurso de Azure AI Search:

    az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsv
    
  3. En el archivo de plantilla para agentes estándar, reemplace el marcador de posición siguiente:

    aiSearchServiceResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}
    

Comprobación de la configuración

Después de completar el aprovisionamiento, compruebe que la configuración funciona correctamente:

  1. En el portal de Azure, vaya a su proyecto Foundry y confirme que todas las conexiones (Storage, Cosmos DB, AI Search) aparecen en la configuración del proyecto.
  2. Compruebe que el estado del host de capacidad se muestre como Succeeded para la cuenta y el proyecto.
  3. Para comprobar las asignaciones de roles, vaya a la página Access control (IAM) de cada recurso y confirme que la identidad administrada del proyecto tiene los roles esperados.
  4. Cree un agente de prueba para confirmar la funcionalidad de un extremo a otro.

Solucionar problemas comunes

Síntoma Causa Resolución
CapabilityHostProvisioningFailed o el estado del host de capacidad indica Error Rendimiento insuficiente de Cosmos DB Asegúrese de que la cuenta de Cosmos DB tiene al menos 3000 RU/s (1000 RU/s por contenedor × 3 contenedores). Para varios proyectos, multiplique por el número de proyectos.
403 Forbidden cuando el agente lee o escribe archivos Faltan asignaciones de roles de almacenamiento Compruebe que la identidad administrada del proyecto tiene el rol Storage Blob Data Contributor en el contenedor <workspaceId>-azureml-blobstore y el rol Storage Blob Data Owner en el contenedor <workspaceId>-agents-blobstore.
SearchIndexNotFound o 403 en las operaciones de búsqueda Faltan roles de búsqueda Confirme que la identidad administrada del proyecto tiene tanto Search Index Data Contributor como Search Service Contributor en su recurso de Azure AI Search.
AuthorizationFailed al crear o editar agentes Falta el rol de usuario Asigne el rol Azure AI User al desarrollador en el ámbito del proyecto.
La solicitud de actualización al host de capacidad devuelve 400 BadRequest Actualización no admitida Los hosts de capacidad no se pueden actualizar después de la creación. Elimine y vuelva a crear el project si se necesitan cambios de configuración.