Planeamiento de la aplicación de QnA Maker

Para planear la aplicación de QnA Maker, debe comprender cómo funciona QnA Maker y cómo interactúa con otros servicios de Azure. También debe tener una idea sólida de los conceptos de las bases de conocimiento.

Nota

El servicio QnA Maker se retirará del mercado el 31 de marzo de 2025. Ya hay disponible una versión más reciente de la funcionalidad de preguntas y respuestas como parte de Azure Cognitive Service para lenguaje. Para más información sobre las funcionalidades de respuesta a preguntas en el servicio de lenguaje, consulte Respuesta a preguntas. A partir del 1 de octubre de 2022 no podrá crear nuevos recursos de QnA Maker. Para obtener información sobre la migración de knowledge bases existentes de QnA Maker a respuesta a preguntas, consulte la guía de migración.

Recursos de Azure

Cada recurso de Azure creado con QnA Maker tiene un propósito específico. Cada recurso tiene su propia finalidad, límites y plan de tarifa. Es importante comprender la función de estos recursos para que pueda usar ese conocimiento en el proceso de planeamiento.

Recurso Propósito
Recurso de QnA Maker Creación y predicción de consultas
Recurso de Cognitive Search Almacenamiento y búsqueda de datos
Recurso de App Service y plan de App Service Consulta de un punto de conexión de predicción
Recurso de Application Insights Telemetría de predicción de consultas

Planeamiento de recursos

El nivel Gratis (F0) de cada recurso funciona y puede proporcionar tanto la experiencia de creación como de predicción de consultas. Puede usar este nivel para aprender sobre la creación y la predicción de consultas. Cuando pase a un escenario de producción o activo, vuelva a evaluar la selección de recursos.

Tamaño y rendimiento de la base de conocimiento

Cuando compile una aplicación real, planee recursos suficientes para el tamaño de la base de conocimiento y las solicitudes de predicción de consultas que espere.

El tamaño de la base de conocimiento lo controlan los siguientes elementos:

La solicitud de predicción de consultas de la base de conocimiento se controla mediante el plan de la aplicación web y la propia aplicación web. Consulte la configuración recomendada para decidir el plan de tarifa.

Uso compartido de recursos

Si ya tiene algunos de estos recursos en uso, puede considerar la posibilidad de compartirlos. Consulte qué recursos se pueden compartir sabiendo que el uso compartido de recursos es un escenario avanzado.

Todas las bases de conocimiento creadas en el mismo recurso de QnA Maker comparten el punto de conexión de predicción de consultas de prueba.

Descripción del impacto de la selección de recursos

Para seleccionar los recursos de manera adecuada, la base de conocimiento debe responder a las predicciones de consultas correctamente.

Si la base de conocimiento no funciona de forma correcta, el problema suele deberse a una administración de recursos inadecuada.

En el caso de una selección de recursos incorrecta, es necesario investigar para determinar qué recurso debe cambiar.

Bases de conocimiento

Una base de conocimiento está directamente vinculada a su recurso de QnA Maker. Contiene los pares de preguntas y respuestas (PyR) que se usan para responder a las solicitudes de predicción de consultas.

Consideraciones de idioma

La primera base de conocimiento que se crea en el recurso de QnA Maker establece el idioma del recurso. Solo se puede tener un idioma para un recurso de QnA Maker.

Puede estructurar los recursos de QnA Maker por idioma o usar el Traductor para cambiar una consulta de otro idioma al de la base de conocimiento antes de enviar la consulta al punto de conexión de predicción de consultas.

Ingesta de orígenes de datos

Puede usar uno de los siguientes orígenes de datos para crear una base de conocimiento:

  • URL pública
  • URL privada de SharePoint
  • Archivo

El proceso de ingesta convierte los tipos de contenido admitidos a Markdown. La edición posterior de la respuesta se realiza con Markdown. Después de crear una base de conocimiento, puede editar los pares de preguntas y respuestas en el portal de QnA Maker mediante la creación de texto enriquecido.

Consideraciones sobre el formato de los datos

Dado que el formato final de un par de pregunta y respuesta es Markdown, es importante entender la compatibilidad con Markdown.

Las imágenes vinculadas deben estar disponibles desde una dirección URL pública para que se muestren en el panel de prueba del portal de QnA Maker o en una aplicación cliente. QnA Maker no proporciona autenticación para el contenido, incluidas las imágenes.

Personalidad de bot

Agregue una personalidad de bot a la base de conocimiento con la función de charla. Esta personalidad incluye respuestas en un determinado tono de conversación, como profesional y amistoso. La función de charla se proporciona como un conjunto conversacional, que puede agregar, editar y quitar como le convenga.

Se recomienda una personalidad de bot si el bot se conecta a la base de conocimiento. Puede usar la charla en la base de conocimiento incluso si también se conecta a otros servicios, pero debe revisar cómo interactúa el servicio de bot para saber si ese es el diseño de arquitectura correcto para su uso.

Flujo de conversación con una base de conocimiento

Normalmente, el flujo de conversación empieza con un saludo por parte de un usuario, como Hi o Hello. La base de conocimiento puede responder de manera general, como Hi, how can I help you, y mostrar una serie de mensajes de seguimiento para continuar con la conversación.

Debe diseñar el flujo de conversación con un bucle en mente para que el usuario sepa cómo usar el bot y que este no lo abandone durante la conversación. Los mensajes de seguimiento proporcionan vinculación entre los pares de preguntas y respuestas, que hacen posible el flujo de conversación.

Creación con colaboradores

Los colaboradores podrían ser otros desarrolladores que comparten la pila de desarrollo completa de la aplicación de base de conocimiento, o tal vez se limiten a crear la base de conocimiento.

La creación de la base de conocimiento admite varios permisos de acceso basado en roles que se apliquen en Azure Portal para limitar el ámbito de las capacidades de un colaborador.

Integración con aplicaciones cliente

La integración con aplicaciones cliente se realiza enviando una consulta al punto de conexión del tiempo de ejecución de predicción. Se envía una consulta a la base de conocimiento específica con una solicitud basada en REST o en el SDK al punto de conexión de la aplicación web de QnA Maker.

Para autenticar correctamente una solicitud de cliente, la aplicación cliente debe enviar las credenciales correctas y el identificador de la base de conocimiento. Si usa Azure Bot Service, defina esta configuración como parte de la configuración del bot en Azure Portal.

Flujo de conversación en una aplicación cliente

El flujo de conversación en una aplicación cliente, como un bot de Azure, puede requerir alguna funcionalidad antes y después de interactuar con la base de conocimiento.

¿La aplicación cliente admite el flujo de conversación, ya sea proporcionando medios alternativos para controlar los mensajes de seguimiento o incluyendo una charla? Si es así, diséñelos antes y asegúrese de que la consulta de la aplicación cliente la controle correctamente otro servicio o cuando se envíe a la base de conocimiento.

Envío entre QnA Maker y Language Understanding (LUIS)

Una aplicación cliente puede proporcionar varias características, pero la base de conocimiento solo responde a una de estas. Las demás características necesitan entender el texto de la conversación y extraer su significado.

Una arquitectura de aplicación cliente habitual consiste en usar juntos QnA Maker y Language Understanding (LUIS). LUIS ofrece la clasificación y la extracción de texto de cualquier consulta, incluso a otros servicios. QnA Maker proporciona respuestas desde la base de conocimiento.

En un escenario de arquitectura compartida, el envío entre los dos servicios se realiza con la herramienta Dispatch de Bot Framework.

Aprendizaje activo desde una aplicación cliente

QnA Maker usa el aprendizaje activo para mejorar la base de conocimiento al sugerir preguntas alternativas a una respuesta. La aplicación cliente es responsable de una parte de este aprendizaje activo. A través de los mensajes de conversación, la aplicación cliente puede determinar que la base de conocimiento ha devuelto una respuesta que no es útil para el usuario y puede determinar una respuesta mejor. La aplicación cliente debe enviar esta información de nuevo a la base de conocimiento para mejorar la calidad de la predicción.

Aportación de una respuesta predeterminada

Si la base de conocimiento no encuentra una respuesta, devuelve la respuesta predeterminada. Esta respuesta se puede configurar en la página Configuración del portal de QnA Maker o las API.

Esta respuesta predeterminada es diferente de la que ofrece el bot de Azure. La respuesta predeterminada para el bot de Azure se define en Azure Portal como parte de la configuración. Se devuelve cuando no se cumple el umbral de puntuación.

Predicción

La predicción es la respuesta de la base de conocimiento e incluye más información que simplemente la respuesta. Para obtener una respuesta de predicción de consultas, use GeneateAnswer API.

Fluctuaciones de la puntuación de predicción

Una puntuación puede cambiar en función de varios factores:

  • El número de respuestas solicitadas para GenerateAnswer con la propiedad top
  • La variedad de preguntas alternativas disponibles
  • El filtrado de metadatos
  • La consulta enviada a la base de conocimiento test o production

Hay una clasificación de las respuestas en dos fases:

  • Cognitive Search (primera clasificación). Establezca el número de respuestas permitidas lo suficientemente alto como para que Cognitive Search devuelva las mejores respuestas y luego las pase al clasificador de QnA Maker.
  • QnA Maker (segunda clasificación). Aplique la caracterización y el aprendizaje automático para determinar la mejor respuesta.

Actualizaciones del servicio

Aplique las actualizaciones del runtime más recientes para administrar automáticamente las actualizaciones de servicio.

Escalado, rendimiento y resistencia

El escalado, el rendimiento y la resistencia se determinan mediante los recursos de Azure, los planes de tarifa y cualquier arquitectura circundante, como Traffic Manager.

Análisis con Application Insights

Todas las consultas a la base de conocimiento se almacenan en Application Insights. Use nuestras principales consultas para entender las métricas.

Ciclo de vida del desarrollo

El ciclo de vida del desarrollo de una base de conocimiento es constante, ya que consta de la edición, la prueba y la publicación de la base de conocimiento.

Desarrollo de pares de QnA Maker de la base de conocimiento

Los pares de preguntas y respuestas deben diseñarse y desarrollarse en función del uso de la aplicación cliente.

Cada par puede contener:

  • Metadatos: se pueden filtrar al realizar consultas para permitirle etiquetar los pares de preguntas y respuestas con información adicional sobre el origen, el contenido, el formato y la finalidad de los datos.
  • Mensajes de seguimiento: ayudan a determinar una ruta en la base de conocimiento para que el usuario llegue a la respuesta correcta.
  • Preguntas alternativas: importantes para permitir que la búsqueda haga coincidir la respuesta con otras formas de la pregunta. Las sugerencias de aprendizaje activo se convierten en preguntas alternativas.

Desarrollo de DevOps

El desarrollo de una knowledge base para insertarla en una canalización de DevOps requiere que la knowledge base esté aislada durante las pruebas por lotes.

Una base de conocimiento comparte el índice de Cognitive Search con todas las demás bases de conocimiento del recurso de QnA Maker. Aunque la base de conocimiento está aislada por partición, si se comparte el índice, se puede producir una diferencia en la puntuación cuando se compara con la base de conocimiento publicada.

Para tener la misma puntuación en las bases de conocimiento test y production, aísle un recurso de QnA Maker en una única base de conocimiento. En esta arquitectura, el recurso solo necesita persistir tanto tiempo como la prueba por lotes aislada.

Pasos siguientes