Compartir a través de


Tutorial: implementación de una aplicación web de chat empresarial

En este artículo, implementará una aplicación web de chat empresarial que usa tus datos con un gran modelo de lenguaje en el portal de Microsoft Foundry.

El origen de datos es la base del modelo con datos específicos. Crear la base significa que el modelo usa los datos para ayudarle a comprender el contexto de la pregunta. No cambie el modelo implementado en sí. Los datos permanecen separados y seguros en el origen de datos original.

A continuación se muestran los pasos de este tutorial:

  • Configure recursos.
  • Adición de los datos.
  • Prueba del modelo con los datos.
  • Implemente la aplicación web.

Prerrequisitos

Nota:

Este documento solo hace referencia al portal de Microsoft Foundry (clásico).

Debe usar un proyecto basado en hub para esta característica. No se admite un proyecto Foundry. Consulte ¿Cómo sé qué tipo de proyecto tengo? y Cree un proyecto basado en concentrador.

Portal de Foundry y Azure Portal

En este tutorial, realizará algunas tareas en el portal de Foundry y algunas tareas en Azure Portal.

El portal de Foundry es un entorno basado en web para crear, entrenar e implementar modelos de IA. Como desarrollador, es donde se compila e implementa la aplicación web de chat.

Azure Portal permite a un administrador administrar y supervisar los recursos de Azure. Como administrador, se usa el portal para configurar la configuración de los distintos servicios de Azure necesarios para el acceso desde la aplicación web.

Configuración de recursos

Importante

Debe tener los permisos necesarios para agregar asignaciones de roles en la suscripción de Azure. La concesión de permisos por asignación de roles solo está permitida por el propietario de los recursos específicos de Azure. Es posible que tenga que pedir al propietario de la suscripción de Azure (quién podría ser su administrador de TI) que complete esta sección por usted.

Para que los recursos funcionen de forma correcta en una aplicación web, configure los permisos correctos en Azure Portal.

En primer lugar, identifique los recursos que necesita configurar en el portal de Foundry.

  1. Abra el portal de Foundry y, a continuación, seleccione el proyecto basado en concentrador que usó para implementar el modelo de chat de Azure OpenAI.

  2. Seleccione Centro de administración en el panel izquierdo.

  3. Seleccione Recursos conectados en el proyecto.

  4. Identifique los tres recursos que necesita configurar: Azure OpenAI, Búsqueda de Azure AI y Azure Blob Storage que corresponde a su workspaceblobstore.

    Recorte de pantalla que muestra los recursos conectados que deben configurarse.

    Sugerencia

    Si no ve Tipo en la tabla, seleccione Columnas en la esquina superior derecha y agregue o reordene las columnas seleccionadas. Si tiene varios recursos de Azure OpenAI, use el que contiene el modelo de chat implementado.

  5. Busque cada uno de estos nombres en Azure Portal. Abra cada uno de ellos en una nueva pestaña del explorador para que pueda cambiar entre ellos.

  6. Cuando haya terminado, tiene tres nuevas pestañas del explorador abiertas: Servicio de búsqueda, Foundry y Contenedor de blobsstore. Mantenga abiertas las tres pestañas porque cambia entre ellas para configurar los recursos.

Habilitar identidad administrada

En la pestaña del explorador para el recurso Servicio de Search en Azure Portal, habilite la identidad administrada:

  1. En el panel izquierdo, en Configuración, seleccione Identidad.
  2. Cambie Estado a Activado.
  3. Haga clic en Guardar.

En la pestaña del explorador del recurso Foundry en Azure Portal, habilite la identidad administrada:

  1. En el panel de la izquierda, en Administración de recursos, seleccione Identidad.
  2. Cambie Estado a Activado.
  3. Haga clic en Guardar.

En la pestaña explorador del recurso del servicio Search en Azure Portal, establezca la directiva de acceso de API:

  1. En el panel izquierdo, en Configuración, seleccione Claves.
  2. En Control de acceso de API, seleccione Ambos.
  3. Cuando se le solicite, seleccione para confirmar.

Asignación de roles

Repita este patrón para cada recurso en los pasos siguientes.

El patrón general para asignar el control de acceso basado en rol (RBAC) para cualquier recurso es:

  1. Vaya al recurso dado en Azure Portal.
  2. En la página izquierda de Azure Portal, seleccione Control de acceso (IAM).
  3. Seleccione + Añadir>Añadir asignación de rol.
  4. Busque el rol que necesita asignar y selecciónelo. Luego, selecciona Siguiente.
  5. Cuando se asigne un rol a usted mismo:
    1. Seleccione Usuario, grupo o entidad de servicio.
    2. Elija Seleccionar miembros.
    3. Busque su nombre y selecciónelo.
  6. Cuando asigne un rol a otro recurso:
    1. Seleccione Identidad administrada.
    2. Elija Seleccionar miembros.
    3. Use la lista desplegable para buscar el tipo de recurso que desea asignar. Por ejemplo, Foundry Tools o search service.
    4. Seleccione el recurso de la lista que aparece. Es posible que solo haya uno, pero aun así debe seleccionarlo.
  7. Continúe con el asistente y seleccione Revisar + asignar para agregar la asignación de roles.

Siga estos pasos para asignar roles a los recursos que configuró en este tutorial:

  • Asigne estos roles en la pestaña del explorador del servicio Search en Azure Portal:

    • Lector de datos de índice de búsqueda en la identidad administrada de Foundry
    • Colaborador del servicio de búsqueda para la identidad administrada de Foundry
    • Colaborador a sí mismo (para buscar Colaborador, cambie a la pestaña Roles de administrador con privilegios en la parte superior. Todos los demás roles se encuentran en la pestaña Roles de función de trabajo).
  • Asigne estos roles en la pestaña del explorador para Foundry en Azure Portal:

    • Colaborador de OpenAI de Cognitive Services a la identidad administrada por el servicio Search.
    • Colaborador a usted mismo.
  • Asigne estos roles en la pestaña del explorador para Azure Blob Storage en Azure Portal:

    • Colaborador de datos de Storage Blob a la identidad administrada de Foundry
    • Lector de datos de Storage Blob a la identidad administrada por el servicio Search.
    • Colaborador a usted mismo

Ya ha terminado de configurar los recursos. Ahora puede cerrar las pestañas del explorador de Azure Portal si lo desea.

Adición de los datos y reintento del modelo de chat

En el inicio rápido del área de juegos de Foundry (que es un requisito previo para este tutorial), verás cómo responde tu modelo sin tus datos. Agregue los datos al modelo para que pueda responder a preguntas sobre sus productos.

Para completar esta sección, necesita una copia local de los datos del producto. El repositorio Azure-Samples/rag-data-openai-python-promptflow en GitHub contiene información de ejemplo de productos minoristas que es relevante para este escenario. En concreto, el archivo product_info_11.md contiene información del producto sobre los zapatos de senderismo TrailWalker pertinente para este ejemplo del tutorial. Descargue los datos de los productos minoristas de ejemplo de Contoso Trek en un archivo ZIP en el equipo local.

Siga estos pasos para agregar los datos en el área de juegos de chat para ayudar al asistente a responder preguntas sobre sus productos. No va a cambiar el propio modelo implementado. Los datos se almacenan de forma independiente y segura en la suscripción de Azure.

  1. Vaya al proyecto en Microsoft Foundry.

  2. Seleccione Áreas de juegos en el panel izquierdo.

  3. Seleccione Probar el área de juegos de chat.

  4. Seleccione el modelo de chat implementado en la lista desplegable Implementación.

    Captura de pantalla del área de juegos de chat con el modo de chat y el modelo seleccionados.

  5. En el lado izquierdo del área de juegos del chat, seleccione Agregar los datos>+ Agregar un nuevo origen de datos.

    Captura de pantalla del área de juegos de chat con la opción para agregar un origen de datos visible.

  6. En la lista desplegable Origen de datos, seleccione Cargar archivos.

    Captura de pantalla de las opciones de selección del origen de datos.

  7. Seleccione Cargar>Carga de archivos para examinar los archivos locales.

  8. Seleccione los archivos que quiere cargar. Seleccione los archivos de información del producto que descargó o creó anteriormente. Agregue todos los archivos ahora. No lo podrá hacer más adelante en la misma sesión de área de juegos.

  9. Seleccione Cargar para cargar el archivo en la cuenta de Azure Blob Storage. Luego, selecciona Siguiente.

    Captura de pantalla del cuadro de diálogo para seleccionar y cargar archivos.

  10. Seleccione el servicio Búsqueda de Azure AI.

  11. En Nombre de índice vectorial, escriba product-info y seleccione Siguiente.

  12. En la página Configuración de búsqueda en Vector de búsqueda, desactive la casilla Agregar búsqueda vectorial a este recurso de búsqueda. Esta configuración ayuda a determinar cómo responde el modelo a las solicitudes. Luego, selecciona Siguiente.

    Nota:

    Si agrega vector de búsqueda, habrá más opciones disponibles aquí para un costo adicional.

  13. Compruebe la configuración y seleccione Crear índice vectorial.

  14. En el área de juegos, puede ver que la ingesta de datos está en curso. Esto proceso puede llevar varios minutos. Antes de continuar, espere hasta que vea el origen de datos y el nombre del índice en lugar del estado.

    Captura de pantalla del área de juegos de chat con el estado de la ingesta de datos en la vista.

  15. Ahora puede chatear con el modelo y hacerle la misma pregunta que antes ("¿Cuánto valen los zapatos de montaña TrailWalker"?), pero esta vez usará la información de los datos para construir la respuesta. Puede expandir el botón Referencias para ver los datos que se usaron.

Implementación de la aplicación web

Cuando esté satisfecho con la experiencia en el portal de Foundry, implemente el modelo como una aplicación web independiente.

Vaya a su grupo de recursos en Azure Portal.

En este tutorial, implemente la aplicación web en el mismo grupo de recursos que el centro de Foundry. Configurará la autenticación para la aplicación web en Azure Portal.

Siga estos pasos para ir al grupo de recursos en Azure Portal:

  1. Vaya al proyecto en Foundry. Seleccione Centro de administración en el panel izquierdo.

  2. En el encabezado Proyecto, seleccione Información general.

  3. Seleccione el nombre del grupo de recursos para abrir el grupo de recursos en Azure Portal. En este ejemplo, el grupo de recursos se llama rg-sdg-ai.

    Captura de pantalla del grupo de recursos en el portal de Foundry.

  4. Ahora está en Azure Portal, viendo el contenido del grupo de recursos donde implementó el centro. Anote el nombre y la ubicación del grupo de recursos. Usará esta información en la sección siguiente.

  5. Mantenga esta página abierta en una pestaña del explorador, ya que volverá a ella más adelante.

Implementación de la aplicación web

La publicación crea una instancia de Azure App Service en la suscripción. Es posible que tenga que incurrir en gastos dependiendo del plan de precios que seleccione. Cuando haya terminado con la aplicación, elimínela desde Azure Portal.

Para implementar la aplicación web:

Importante

Registre Microsoft.Web como proveedor de recursos antes de implementar en una aplicación web.

  1. Siga los pasos de la sección anterior para agregar los datos al área de juegos. Puede implementar una aplicación web con o sin sus propios datos, pero necesita un modelo implementado como se describe en la guía de inicio rápido del espacio de pruebas de Foundry.

  2. Seleccione Implementar > ...como una aplicación web.

    Captura de pantalla del botón Implementar nueva aplicación web.

  3. En el panel Implementar en una aplicación web, escriba los detalles siguientes:

    • Nombre: un nombre único para la aplicación web.
    • Suscripción: su suscripción a Azure. Si no ve ninguna suscripción disponible, primero registre Microsoft.Web como proveedor de recursos.
    • Grupo de recursos: seleccione el grupo de recursos en el que va a implementar la aplicación web. Use el mismo grupo de recursos que el centro.
    • Ubicación: seleccione la ubicación en la que va a implementar la aplicación web. Use la misma ubicación que el centro.
    • Plan de precios: elija un plan de precios para la aplicación web.
    • Habilitar historial de chat en la aplicación web: para los fines del tutorial, el historial de chat no está seleccionado. Si habilita la característica, los usuarios tendrán acceso a sus consultas y respuestas anteriores individuales. Para más información, consulte los comentarios del historial de chat.
  4. Seleccione Implementar.

  5. Espere a que se implemente la aplicación. Este proceso puede tardar unos minutos.

  6. Cuando esté listo, el botón Iniciar estará habilitado en la barra de herramientas. Sin embargo, no inicie aún la aplicación y no cierre la página del área de juegos de chat, ya que volverá a ella más adelante.

Configuración de la autenticación de la aplicación web

De manera predeterminada, solo puede acceder a la aplicación web. En este tutorial, agregue autenticación para restringir el acceso a los miembros del inquilino de Azure. Los usuarios inician sesión con su cuenta de Microsoft Entra para acceder a la aplicación. Podría seguir un proceso similar para agregar otro proveedor de identidades si lo prefiriese. La aplicación solo usa la información de inicio de sesión del usuario para comprobar que es miembro del inquilino.

  1. Vuelva a la pestaña del explorador con Azure Portal o abra Azure Portal en una nueva pestaña del explorador. Vea el contenido del grupo de recursos donde implementó la aplicación web. Es posible que tenga que actualizar la vista para ver la aplicación web.

  2. Seleccione el recurso App Service en la lista de recursos del grupo de recursos.

  3. En el menú izquierdo contraíble en Configuración, seleccione Autenticación.

    Captura de pantalla del elemento de menú autenticación de aplicaciones web en configuración en Azure Portal.

  4. Si ve que Microsoft muestra un proveedor de identidades en esta página, no se necesita nada más. Puede avanzar el paso siguiente.

  5. Agregue un proveedor de identidades con la siguiente configuración:

    • Proveedor de identidades: seleccione Microsoft como proveedor de identidades. La configuración predeterminada de esta página restringe la aplicación al inquilino solamente, por lo que no será necesario cambiar nada más aquí.
    • Tipo de inquilino: Workforce.
    • Registro de aplicaciones: cree un nuevo registro de aplicaciones.
    • Nombre: nombre del servicio de aplicación web.
    • Tipos de cuenta admitidos: inquilino actual, un solo inquilino.
    • Restringir acceso: requiere autenticación.
    • Solicitudes no autenticadas: Redirección HTTP 302 encontrada (se recomienda para sitios web).

Uso de la aplicación web

Casi ha terminado. Ahora puede probar la aplicación web.

  1. Si ha cambiado la configuración, espere unos 10 minutos para que la configuración de autenticación surta efecto.

  2. Vuelva a la pestaña del explorador con la página del área de juegos de chat en el portal de Foundry.

  3. Seleccione Iniciar para abrir la aplicación web implementada. Si se le pide, acepte la solicitud de permisos.

  4. Si no ve Iniciar en el área de juegos, seleccione Aplicaciones web en el panel izquierdo y a continuación, seleccione la aplicación en la lista para abrirla.

    Si la configuración de autenticación aún no está activa, cierre la pestaña del explorador de la aplicación web y vuelva al área de juegos de chat en el portal de Foundry. Espere un poco más y vuelva a intentarlo.

  5. En la aplicación web, haga la misma pregunta que antes ("Cuánto son los zapatos de senderismo TrailWalker"). Esta vez, la aplicación usa información de los datos para construir la respuesta. Expanda el botón de referencia para ver los datos usados.

    Captura de pantalla de la experiencia de chat a través de la aplicación web implementada.

Descripción del historial de chat

Con la característica historial de chat, los usuarios pueden ver sus consultas y respuestas anteriores.

Habilite el historial de chats al implementar la aplicación web. Active la casilla Habilitar historial de chat en la aplicación web.

Captura de pantalla de la opción para habilitar el historial de chat al implementar una aplicación web.

Importante

Al habilitar el historial de chat, se crea una Instancia de Cosmos DB en el grupo de recursos y se incurre en cargos adicionales por el almacenamiento usado. Eliminar su aplicación web no elimina su instancia de Cosmos DB automáticamente. Para eliminar la instancia de Cosmos DB y todos los chats almacenados, vaya al recurso asociado en Azure Portal y elimínelo.

Después de habilitar el historial de chats, los usuarios pueden mostrarlo u ocultarlo en la esquina superior derecha de la aplicación. Cuando se muestra el historial, pueden cambiar el nombre o eliminar conversaciones. A medida que inician sesión en la aplicación, las conversaciones se ordenan de la más reciente a la más antigua y se denominan en función de la primera consulta de la conversación.

Si elimina el recurso de Cosmos DB pero mantiene habilitada la opción historial de chat en Studio, los usuarios ven un error de conexión, pero pueden seguir usando la aplicación web sin historial de chat.

Actualización de la aplicación web

Use el área de juegos para agregar más datos o probar el modelo con diferentes escenarios. Cuando esté listo para actualizar la aplicación web con el nuevo modelo, seleccione de nuevo Implementar > ... como aplicación web. Seleccione Actualizar una aplicación web existente, y elija la aplicación web existente en la lista. El nuevo modelo se implementa en la aplicación web existente.

Limpieza de recursos

Para evitar costos innecesarios de Azure, elimine los recursos que creó en este inicio rápido si no los necesita. Administrar recursos en Azure Portal.