Compartir a través de


Integración de un bot de OpenAI con chat

En este artículo se muestra cómo integrar un bot de OpenAI conversacional con un chat de Azure Communication Services. El bot de chat de OpenAI usa Microsoft Bot Framework integrado con kernel semántico. El bot de OpenAI recupera y resume las respuestas de una base de conocimiento interna para responder a las preguntas del usuario en lenguaje natural.

Diagrama de arquitectura de Azure OpenAI.

Paso 1: Implementación de un modelo base con Azure AI Foundry

  1. En el portal de Azure AI Foundry, siga el artículo Creación de un proyecto para crear un proyecto. Cuando se le solicite, cree un nuevo centro y acepte todas las configuraciones predeterminadas.

  2. Abra el proyecto, vaya a Funcionalidades incluidas, seleccione Azure OpenAI Service y guarde la clave de API y la dirección URL del punto de conexión de servicio.

    Captura de pantalla que muestra la página de información general del portal de Azure AI Foundry.

  3. En el menú izquierdo, vaya a Mis recursos → Modelos y puntos de conexión. A continuación, haga clic en + Implementar modelo y elija Implementar modelo base.

    Captura de pantalla de la página Administrar implementaciones de los modelos y servicios en la que se muestra el elemento de menú Implementar modelo base seleccionado.

  4. Seleccione gpt-4o y haga clic en Confirmar.

    Captura de pantalla del cuadro de diálogo Seleccionar un modelo con gpt-4o seleccionado.

  5. Escriba un nombre de implementación de su elección y haga clic en Conectar e implementar.

    Captura de pantalla del cuadro de diálogo Implementar gpt-4o que muestra gpt-4o como nombre de implementación.

  6. Una vez completada la implementación, vuelva a Modelos y puntos de conexión para comprobar que el modelo se está ejecutando. En este ejemplo, el modelo implementado es gpt-4o.

    Captura de pantalla del recurso Modelos y puntos de conexión que muestra gtp-4o como modelo implementado e información de implementación relacionada.

Paso 2: Creación de un recurso de aplicación web

  1. En Azure Portal, haga clic en Crear un recurso. En el cuadro de búsqueda, escriba aplicación web. Seleccione el icono Aplicación web.

    Captura de pantalla que muestra la creación de un recurso de aplicación web en Azure Portal.

  2. En Crear aplicación web, seleccione o escriba los detalles de la aplicación, incluida la región en la que quiere implementarla.

    Captura de pantalla de la página Crear aplicación web en la que se muestran los detalles del proyecto y los detalles de la instancia seleccionados para crear una implementación de aplicación web.

  3. Seleccione Revisar y crear para validar la implementación y revisar los detalles de esta. Seleccione Crear.

  4. Cuando se crea el recurso de aplicación web, copie la dirección URL del nombre de host que se muestra en los detalles del recurso. La dirección URL formará parte del punto de conexión que cree para la aplicación web.

    Captura de pantalla de la página My-First-Bot-WebApp en la que se muestra la dirección URL del punto de conexión de la aplicación web que necesita copiar para su uso futuro.

Paso 3: Creación de un recurso de Azure Bot Service

  1. En Azure Portal, haga clic en Crear un recurso. En el cuadro de búsqueda, escriba bot. Seleccione el icono de Azure Bot .

    Captura de pantalla del icono del bot de Azure que muestra los detalles necesarios para crear un servicio de bot de Azure.

  2. En Crear un bot de Azure, seleccione Multi Tenant como Tipo de aplicación y Crear nuevo identificador de aplicación de Microsoft" como Tipo de creación.

  3. Seleccione Revisar y crear para validar la implementación y revisar los detalles de esta. Seleccione Crear.

  4. Obtenga el identificador de la aplicación de bot y cree la contraseña. Registre estos valores para usarlos para configuraciones posteriores.

Paso 4: Creación de un punto de conexión de mensajería para el bot

Azure Bot Service normalmente espera a que el controlador de aplicaciones web de la aplicación de bot exponga un punto de conexión con el formato /api/messages. El punto de conexión controla todos los mensajes enviados al bot. A continuación, en el recurso de bot, cree un punto de conexión de mensajería de aplicación web:

  1. En Azure Portal, vaya al recurso de Azure Bot. En el menú de recursos, seleccione Configuración.

  2. En Configuración, en Punto de conexión de Mensajes, pegue la dirección URL del nombre de host de la aplicación web que copió en la sección anterior. Agregue a la URL con /api/messages.

  3. Selecciona Aplicar.

Captura de pantalla que muestra cómo crear un punto de conexión de mensajería de bot mediante el nombre de host de la aplicación web.

Paso 5: Creación de un recurso de Azure Communication Service

  1. En Azure Portal, seleccione Crear un recurso. En el cuadro de búsqueda, escriba Communication Services. Seleccione el azulejo Communication Services.

    Captura de pantalla del icono de Communication Services que muestra los detalles necesarios para crear un recurso de Azure Communication Services.

  2. En Crear un servicio de comunicación de Azure, puede especificar la suscripción, el grupo de recursos, el nombre del recurso de Communication Services y la geografía asociada al recurso.

  3. Seleccione Revisar y crear para validar la implementación y revisar los detalles de esta. A continuación, seleccione Crear.

  4. Vaya al recurso. Seleccione Configuración - Identidades y Tokens de Acceso de Usuario>Chat, a continuación, haga clic en Generar. Guarde el token de identidad y acceso de usuario para su uso futuro.

    Captura de pantalla que muestra cómo crear un identificador de usuario y un token de acceso de Communication Services

Paso 6: Habilitar el canal de chat de Communication Services

Cuando tenga un recurso de Communication Services, puede configurar un canal de Communication Services en el recurso del bot. Este proceso genera un identificador de usuario de Bot Azure Communication Services para el bot.

  1. En Azure Portal, vaya al recurso de Azure Bot. En el menú de recursos, seleccione Canales. En la lista de canales disponibles, seleccione Communication Services - Chat.

    Captura de pantalla que muestra la apertura del canal de chat de Communication Services.

  2. Seleccione Conectar para ver una lista de los recursos de Communication Services que están disponibles en su suscripción.

    Captura de pantalla que muestra cómo conectar un recurso de Communication Services al bot.

  3. En el panel Nueva conexión, seleccione el recurso de chat de Communication Services y, después, seleccione Aplicar.

    Captura de pantalla que muestra cómo guardar el recurso de Communication Services seleccionado para crear un nuevo identificador de usuario de Communication Services.

  4. Cuando se comprueban los detalles del recurso, se muestra un identificador de usuario de Bot Azure Communication Services en la columna Bot Azure Communication Services Id (Id. de Bot Azure Communication Services ). Guarde el identificador para su uso posterior.

    Captura de pantalla que muestra el nuevo identificador de usuario de Communication Services asignado al bot.

Paso 7: Implementación de la aplicación web

  1. Abra la carpeta ChatBot en el Repositorio de muestra en Visual Studio Code (VS Code). Asegúrese de usar VS Code porque admite el identificador de Entra de Microsoft en la implementación de código.

  2. Reemplace los marcadores de posición del repositorio de ejemplo por valores reales:

    1. En el SemanticKernelService.cs archivo, rellene los valores de las variables modelId, endpointy apiKey.
    2. En el appsettings.json archivo, rellene los valores de las variables MicrosoftAppId y MicrosoftAppPassword usando el bot app id y el bot password que registró en el Paso 3.
  3. Instale la extensión de Azure App Service en VS Code.

    Captura de pantalla que muestra cómo instalar la extensión de App Service.

  4. Inicie sesión en su cuenta de Azure en VS Code. Para acceder al panel de inicio de sesión, haga clic en el icono de Azure en la barra de actividad del lado de la ventana.

  5. Instale la extensión de Azure App Service en VS Code.

    Captura de pantalla que muestra cómo iniciar sesión en su cuenta de Azure en VS Code.

  6. Compile el proyecto ejecutando el comando siguiente en el directorio raíz del proyecto "ChatBot".

    dotnet publish -c Release -o ./bin/Publish
    

Este comando genera las bin carpetas y obj .

  1. Para implementar la aplicación web, haga clic con el botón derecho en la nueva /bin/Publish carpeta y seleccione Implementar en aplicación web.

    Captura de pantalla que muestra cómo elegir la carpeta para la implementación.

  2. Elija la aplicación web de Azure App Service en la que quiere implementar la aplicación. Confirme el despliegue.

    Captura de pantalla que muestra cómo implementar la aplicación web en Azure.

Paso 8: Ejecución de la demostración

  1. Siga los pasos anteriores a "Obtener un cliente de subprocesos de chat" en Agregar chat a la aplicación para crear una aplicación de chat e iniciar un subproceso.

    Notas clave:

    • Ya ha creado el recurso del Servicio de Comunicación de Azure en el portal, por lo que puede usar directamente <Azure Communication Services endpoint>, <Access_ID> y <Access_Token> en el código.
    • Al crear un hilo, es necesario crear un objeto ChatParticipant utilizando el Bot Azure Communication Services User ID creado en El Paso 6: habilitar el Canal de chat de Communication Services como <Access_ID> para representar al usuario del bot.
    • Guarde el Thread Id para su uso posterior.
  2. Abra la composición de la Biblioteca de UI: UI de hilos de Azure Communication Services Chat: unirse a un hilo de chat existente.

  3. Proporcione la información necesaria para unirse a un subproceso de chat existente.

    • Nombre para mostrar: puede elegir el que prefiera.
    • Identificador de usuario para el usuario: el <Access_ID> guardado en el paso 8.1.
    • Token válido para el usuario: el <Access_Token> guardado en el paso 8.1.
    • Punto de conexión de Azure Communication Services: el <Azure Communication Services endpoint> guardado en el paso 8.1.
    • Hilo existente: Thread Id guardado en el paso 8.1.
  4. Haga las siguientes preguntas en secuencia:

    • Preguntas 1: Mi identificador de usuario es 110. Compré un portátil hace varios días. ¿Podría ayudar a realizar un seguimiento de la entrega?
    • Pregunta 2: Solicité una devolución para mi Power Bank. ¿Alguna actualización?
    • Pregunta 3: Compré auriculares Bluetooth hace 2 días, pero aún no se han enviado. ¿Por qué?

OpenAI recupera los datos relevantes para la semántica de la pregunta y proporciona una respuesta basada en los datos disponibles.

Marcas

Este proyecto puede contener marcas comerciales o logotipos para proyectos, productos o servicios. El uso autorizado de marcas comerciales o logotipos de Microsoft está sujeto a las Instrucciones sobre marcas y marcas comerciales de Microsoft y debe seguirlas.

El uso de marcas comerciales o logotipos de Microsoft en versiones modificadas de este proyecto no debe causar confusión ni implicar el patrocinio de Microsoft.

Cualquier uso de marcas comerciales o logotipos de terceros está sujeto a las directivas de dichos terceros.