Arquitectura básica de referencia de chat de Azure AI Foundry
En este artículo se proporciona una arquitectura básica que le ayudará a aprender a ejecutar aplicaciones de chat mediante azure AI Foundry y modelos de lenguaje de Azure OpenAI. La arquitectura incluye una interfaz de usuario (UI) de cliente que se ejecuta en Azure App Service. Para capturar datos de puesta a tierra para el modelo de lenguaje, la interfaz de usuario usa un agente de Azure AI para orquestar el flujo de trabajo desde las solicitudes entrantes a los almacenes de datos. La arquitectura está diseñada para funcionar desde una sola región.
Importante
Esta arquitectura no es para aplicaciones de producción. Es una arquitectura introductoria para fines de aprendizaje y prueba de concepto (POC). Al diseñar las aplicaciones de chat empresariales de producción, use la arquitectura de referencia de chat de AI Foundry de línea base, que agrega decisiones de diseño de producción a esta arquitectura básica.
Importante
Una implementación de ejemplo admite esta guía. Incluye pasos de implementación para una implementación básica de chat de un extremo a otro. Puede usar esta implementación como base para que la POC funcione con aplicaciones de chat que usan agentes de Azure AI Foundry.
Arquitectura
Descargue un archivo de Visio de esta arquitectura.
Flujo de trabajo
El siguiente flujo de trabajo corresponde al diagrama anterior:
Un usuario de aplicación interactúa con una aplicación web que contiene la funcionalidad de chat. Emiten una solicitud HTTPS al dominio predeterminado de App Service en
azurewebsites.net
. Este dominio apunta automáticamente a la dirección IP pública integrada de App Service. La conexión seguridad de la capa de transporte se establece desde el cliente directamente a App Service. Azure administra completamente el certificado.La característica de App Service denominada Easy Auth garantiza que el usuario que accede al sitio web se autentique a través de Microsoft Entra ID.
El código de aplicación implementado en App Service controla la solicitud y representa una interfaz de usuario de chat para el usuario de la aplicación. El código de la interfaz de usuario de chat se conecta a las API que también se hospedan en esa misma instancia de App Service. El código de API se conecta a un agente de Azure AI en Azure AI Foundry mediante el SDK de agentes persistentes de Azure AI.
Azure AI Foundry Agent Service se conecta a Azure AI Search para capturar datos de base de la consulta. Los datos de puesta a tierra se agregan al símbolo del sistema que se envía al modelo de Azure OpenAI en el paso siguiente.
Foundry Agent Service se conecta a un modelo de Azure OpenAI que se implementa en Azure AI Foundry y envía el mensaje que incluye los datos de puesta a tierra y el contexto de chat pertinentes.
Application Insights registra información sobre la solicitud original a App Service y las interacciones del agente de llamada.
Componentes
Muchos de los componentes de esta arquitectura son los mismos que la arquitectura básica de la aplicación web de App Service porque la interfaz de usuario de chat se basa en esa arquitectura. En esta sección se resaltan los servicios de datos, los componentes que puede usar para crear y organizar flujos de chat y servicios que exponen modelos de lenguaje.
Azure AI Foundry es una plataforma que se usa para compilar, probar e implementar soluciones y modelos de IA como servicio (MaaS). Esta arquitectura usa Azure AI Foundry para implementar un modelo de Azure OpenAI.
Los proyectos de Azure AI Foundry establecen conexiones a orígenes de datos, definen agentes e invocan modelos implementados, incluidos los modelos de Azure OpenAI. Esta arquitectura solo tiene un proyecto de Azure AI Foundry dentro de la cuenta de Azure AI Foundry.
Foundry Agent Service es una funcionalidad hospedada en Azure AI Foundry. Los desarrolladores usan este servicio para definir y hospedar agentes para controlar las solicitudes de chat. Administra subprocesos de chat, organiza llamadas a herramientas, aplica la seguridad del contenido y se integra con sistemas de identidad, redes y observabilidad. En esta arquitectura, Foundry Agent Service organiza el flujo que captura los datos de puesta a tierra de una instancia de AI Search y lo pasa junto con el mensaje al modelo de Azure OpenAI implementado.
Los agentes definidos en foundry Agent Service son sin código y no deterministas de forma eficaz. La solicitud del sistema, combinada con
temperature
los parámetros ytop_p
, define cómo se comportan los agentes para las solicitudes.Los modelos de Azure AI Foundry permiten implementar modelos insignia, incluidos los modelos openAI, desde el catálogo de Azure AI en un entorno hospedado por Microsoft. Este enfoque se considera una implementación de MaaS. Esta arquitectura implementa modelos mediante la configuración global estándar con una cuota fija.
AI Search es un servicio de búsqueda en la nube que admite búsqueda de texto completo, búsqueda semántica, búsqueda vectorialy búsqueda híbrida. Esta arquitectura incluye la búsqueda de IA porque se usa normalmente en orquestaciones detrás de aplicaciones de chat. Puede usar AI Search para recuperar datos indexados relevantes para las consultas de usuario de la aplicación. Ai Search sirve como almacén de conocimiento para el patrón de generación aumentada de recuperación . Este patrón extrae una consulta adecuada de un mensaje, consulta AI Search y usa los resultados como datos de base para un modelo de Azure OpenAI.
Consideraciones
Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para obtener más información, consulte Microsoft Azure Well-Architected Framework.
Esta arquitectura básica no está pensada para implementaciones de producción. La arquitectura favorece la simplicidad y la rentabilidad sobre la funcionalidad para que pueda aprender a crear aplicaciones de chat de un extremo a otro mediante Azure AI Foundry y Azure OpenAI. En las secciones siguientes se describen las deficiencias de esta arquitectura básica y se describen las recomendaciones y consideraciones.
Fiabilidad
La confiabilidad ayuda a garantizar que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.
En la lista siguiente se describen las características de confiabilidad críticas que esta arquitectura omite:
Esta arquitectura usa el nivel Básico de App Service, que no tiene compatibilidad con la zona de disponibilidad de Azure . La instancia de App Service deja de estar disponible si hay algún problema con la instancia, el bastidor o el centro de datos que hospeda la instancia. A medida que avanza hacia la producción, siga las instrucciones de confiabilidad de las instancias de App Service.
Esta arquitectura no habilita el escalado automático para la interfaz de usuario del cliente. Para evitar problemas de confiabilidad debido a recursos de proceso ineficaces, los recursos de aprovisionamiento excesivo siempre se ejecutan con suficiente proceso para controlar la capacidad simultánea máxima.
Esta arquitectura implementa el servicio Foundry Agent como una solución totalmente hospedada por Microsoft. En esta configuración, Microsoft hospeda una base de datos de Azure Cosmos DB, un contenedor de cuentas de Azure Storage y un índice de AI Search en su nombre. La suscripción no muestra estos recursos dependientes. No tiene ningún control sobre la confiabilidad de Foundry Agent Service o sus dependencias. Puede adquirir el control de estas dependencias para realizar acciones como implementar una estrategia de continuidad empresarial y recuperación ante desastres. Para obtener instrucciones sobre cómo aportar sus propias dependencias, consulte la arquitectura de línea de base.
Nota:
La instancia de AI Search en la sección de componentes y el diagrama es diferente de la instancia que es una dependencia del servicio Foundry Agent. La instancia de la sección componentes almacena los datos de puesta a tierra. La dependencia realiza la fragmentación en tiempo real de los archivos que se cargan dentro de una sesión de chat.
Para una arquitectura básica destinada al aprendizaje, puede usar el tipo de implementación del
Global Standard
modelo. A medida que avanza hacia la producción, debe tener una mejor idea de los requisitos de rendimiento y residencia de datos. Después de comprender los requisitos de rendimiento, considere la posibilidad de usar el rendimiento aprovisionado eligiendo unData Zone Provisioned
tipo de implementación oGlobal Provisioned
. Si tiene requisitos de residencia de datos, elija elData Zone Provisioned
tipo de implementación.Esta arquitectura usa el nivel Básico de búsqueda de IA, que no admite zonas de disponibilidad de Azure. Para lograr redundancia zonal, implemente el plan de tarifa estándar de AI Search o superior en una región que admita zonas de disponibilidad e implemente tres o más réplicas.
Para más información, consulte Arquitectura de referencia de chat de AI Foundry de línea base.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el uso indebido de sus valiosos datos y sistemas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.
En esta sección se describen las recomendaciones clave que implementa esta arquitectura. Estas recomendaciones incluyen el filtrado de contenido y la supervisión de abusos, la administración de identidades y acceso y el control de acceso basado en rol. Esta arquitectura no está diseñada para implementaciones de producción, por lo que esta sección también incluye la seguridad de red. La seguridad de red es una característica de seguridad clave que esta arquitectura no implementa.
Filtrado de contenido y supervisión de abusos
Azure AI Foundry incluye un sistema de filtrado de contenido que usa una combinación de modelos de clasificación. Este filtrado detecta y bloquea categorías específicas de contenido potencialmente perjudicial en solicitudes de entrada y finalizaciones de salida. Este contenido potencialmente perjudicial incluye el odio, el contenido sexual, el autolesión, la violencia, la profanidad y el jailbreak (contenido diseñado para omitir las restricciones del modelo de lenguaje). Puede configurar la estricta de filtrado para cada categoría mediante opciones bajas, medias o altas. Esta arquitectura de referencia usa el DefaultV2
filtro de contenido al implementar modelos. Puede ajustar la configuración según sus requisitos.
Administración de identidades y acceso
La siguiente guía se expande en la guía de administración de identidades y acceso en la arquitectura de línea de base de App Service. La interfaz de usuario de chat usa su identidad administrada para autenticar el código de la API de interfaz de usuario de chat en foundry Agent Service mediante el SDK de agentes persistentes de Azure AI.
El proyecto Azure AI Foundry también tiene una identidad administrada. Esta identidad se autentica en servicios como AI Search a través de definiciones de conexión. El proyecto hace que esas conexiones estén disponibles para foundry Agent Service.
Una cuenta de Azure AI Foundry puede contener varios proyectos de Azure AI Foundry. Cada proyecto debe usar su propia identidad administrada asignada por el sistema. Si distintos componentes de carga de trabajo requieren acceso aislado a orígenes de datos conectados, cree proyectos independientes de Azure AI Foundry dentro de la misma cuenta y evite compartir conexiones entre ellos. Si la carga de trabajo no requiere aislamiento, use un solo proyecto.
Roles de acceso basado en roles
Es responsable de crear las asignaciones de roles necesarias para las identidades administradas asignadas por el sistema. En la tabla siguiente se resume la asignación de roles que debe agregar a App Service, el proyecto Azure AI Foundry y las personas que usan el portal:
Recurso | Rol | Ámbito |
---|---|---|
Servicio de Aplicaciones | Usuario de Azure AI | Cuenta de Azure AI Foundry |
Proyecto de Azure AI Foundry | Lector de datos de índice de búsqueda | Búsqueda IA |
Usuario del portal (para cada individuo) | Desarrollador de Azure AI | Cuenta de Azure AI Foundry |
Seguridad de red
Para simplificar la experiencia de aprendizaje para crear una solución de chat de un extremo a otro, esta arquitectura no implementa la seguridad de red. Usa la identidad como perímetro y usa construcciones de nube pública. Los servicios como AI Search, Azure AI Foundry y App Service son accesibles desde Internet. Esta configuración aumenta la superficie expuesta a ataques de la arquitectura.
Esta arquitectura tampoco restringe el tráfico de salida. Por ejemplo, un agente se puede configurar para conectarse a cualquier punto de conexión público en función de la especificación openAPI del punto de conexión. Por lo tanto, no se puede evitar la filtración de datos de conexión a tierra privada a través de controles de red.
Para obtener más información sobre la seguridad de red como perímetro adicional en la arquitectura, consulte Redes.
Defensor
Para esta arquitectura básica, no es necesario habilitar los planes de protección de cargas de trabajo en la nube de Microsoft Defender para ningún servicio. Al pasar a producción, siga las instrucciones de seguridad de la arquitectura de línea de base de Microsoft Defender, que usa varios planes para cubrir la carga de trabajo.
Gobernanza mediante Policy
Esta arquitectura no implementa la gobernanza a través de Azure Policy. A medida que avanza hacia la producción, siga las recomendaciones de gobernanza en la arquitectura de línea de base. Esas recomendaciones agregan Azure Policy en los componentes de la carga de trabajo.
Optimización de costos
La optimización de costos se centra en formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.
Esta arquitectura básica no representa los costos de una solución lista para producción. Tampoco incluye controles para protegerse frente a saturaciones de costos. En las consideraciones siguientes se describen las características cruciales que esta arquitectura no incluye. Estas características afectan al costo.
Esta arquitectura supone que el modelo de Azure OpenAI implementado recibe llamadas limitadas. Por lo tanto, se recomienda usar el
Global Standard
tipo de implementación para los precios de pago por uso en lugar de un tipo de implementación de rendimiento aprovisionado. A medida que avanza hacia una solución de producción, siga las instrucciones de optimización de costos en la arquitectura de línea de base.Foundry Agent Service incurre en costos de archivos cargados durante las interacciones del chat. No haga que la funcionalidad de carga de archivos esté disponible para los usuarios de la aplicación si no forma parte de la experiencia de usuario deseada. Las conexiones de conocimientos adicionales, como la herramienta Grounding con Bing, tienen sus propias estructuras de precios.
Foundry Agent Service es una solución sin código, lo que significa que no se pueden controlar de forma determinista las herramientas o los orígenes de conocimiento que invoca cada solicitud. En el modelado de costos, supongamos el uso máximo de cada conexión.
Esta arquitectura usa el plan de tarifa básico de App Service en una sola instancia, que no proporciona protección frente a una interrupción de zona de disponibilidad. La arquitectura de App Service de línea base recomienda usar planes Premium que tengan tres o más instancias de trabajo para lograr una alta disponibilidad. Este enfoque afecta a los costos.
Esta arquitectura usa el plan de tarifa de AI Search Basic sin réplicas agregadas. Esta topología no puede resistir un error en la zona de disponibilidad de Azure. La arquitectura de chat de un extremo a otro de línea base recomienda implementar la carga de trabajo con el plan de tarifa Estándar o superior e implementar tres o más réplicas. Este enfoque puede afectar a los costos a medida que avanza hacia la producción.
Esta arquitectura no incluye controles de contención ni gobernanza de costos. Asegúrese de protegerse frente a procesos o usos no administrados que podrían suponer altos costos para los servicios de pago por uso, como los modelos implementados en Azure AI Foundry.
Excelencia operativa
La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para obtener más información, consulte la Lista de comprobación de revisión de diseño para la excelencia operativa.
Monitorización
Esta arquitectura configura diagnósticos para todos los servicios. Todos los servicios excepto los registros de captura de App Service y Azure AI Foundry. App Service captura AppServiceHTTPLogs
, AppServiceConsoleLogs
, AppServiceAppLogs
y AppServicePlatformLogs
. Azure AI Foundry captura RequestResponse
. Durante la fase de poC, debe comprender qué registros y métricas están disponibles para la recopilación. Al pasar a producción, quite los orígenes de registro que no agreguen valor y solo creen ruido y costo para el receptor de registro de la carga de trabajo.
Para usar las funcionalidades de supervisión en Azure AI Foundry, conecte un recurso de Application Insights al proyecto de Azure AI Foundry.
Esta integración permite la supervisión de los siguientes datos:
- Supervisión en tiempo real del uso de tokens, incluidos el aviso, la finalización y el total de tokens
- Telemetría detallada de solicitud-respuesta, incluida la latencia, las excepciones y la calidad de respuesta
También puede realizar un seguimiento de los agentes mediante OpenTelemetry.
Operaciones de modelo
Esta arquitectura está optimizada para el aprendizaje y no está pensada para su uso en producción, por lo que las instrucciones operativas como GenAIOps están fuera del ámbito. Al avanzar hacia la producción, siga las instrucciones del modelo de Azure AI Foundry.
Desarrollo
Para la arquitectura básica, puede crear agentes mediante la experiencia basada en explorador en el portal de Azure AI Foundry. Al pasar a producción, siga las instrucciones de desarrollo y control de código fuente en la arquitectura de línea de base. Cuando ya no necesite un agente, asegúrese de eliminarlo. Si el agente que elimina es el último que usa una conexión, quite también la conexión.
Evaluación
Puede evaluar la aplicación generativa en Azure AI Foundry. Se recomienda aprender a usar evaluadores para evaluar las aplicaciones de IA generativas. Esta práctica ayuda a garantizar que el modelo elegido cumpla los requisitos de diseño de carga de trabajo y cliente.
Eficiencia del rendimiento
La eficiencia del rendimiento hace referencia a la capacidad de escalado de la carga de trabajo para satisfacer las demandas de los usuarios de forma eficaz. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
Esta arquitectura no está diseñada para implementaciones de producción, por lo que omite las características críticas de eficiencia del rendimiento:
Los resultados de la POC deben ayudarle a elegir el producto de App Service adecuado para la carga de trabajo. Diseñe la carga de trabajo para satisfacer la demanda de forma eficaz mediante el escalado horizontal. Puede usar el escalado horizontal para ajustar el número de instancias de proceso en el plan de App Service. No diseñe un sistema que requiera que cambie el producto de proceso para que se alinee con la demanda.
Esta arquitectura usa el modelo de consumo o pago por uso para la mayoría de los componentes. El modelo de consumo es un modelo de mejor esfuerzo y podría presentar problemas ruidosos vecinos u otros factores de estrés en la plataforma. Determine si la aplicación requiere rendimiento aprovisionado a medida que avanza hacia la producción. El rendimiento aprovisionado ayuda a reservar capacidad de procesamiento para las implementaciones de modelos de Azure OpenAI. La capacidad reservada proporciona un rendimiento predecible para los modelos.
Otras recomendaciones de diseño
Los arquitectos deben diseñar cargas de trabajo de inteligencia artificial y aprendizaje automático, como esta, con las cargas de trabajo de ia de Well-Architected Framework en la guía de diseño de Azure . A medida que pasa de la ideación y la POC al diseño, combine información de esta arquitectura específica con los procedimientos recomendados de inteligencia artificial y aprendizaje automático más amplios en Well-Architected Framework.
Implementación de este escenario
Implemente una implementación de referencia que aplique estas recomendaciones y consideraciones.