Tutorial: Creación e implementación de un copiloto de preguntas y respuestas con flujo de avisos en Inteligencia artificial de Azure Studio

Nota:

Inteligencia artificial de Azure Studio está actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

En este tutorial de Inteligencia artificial de Azure Studio, usará inteligencia artificial generativa y un flujo de avisos para crear, configurar e implementar un Copiloto para su empresa minorista denominada Contoso. Su empresa minorista se especializa en ropa y equipo de camping al aire libre.

El copiloto debe responder a preguntas sobre sus productos y servicios. También debe responder a preguntas sobre sus clientes. Por ejemplo, el copiloto puede responder a preguntas como "¿Cuánto cuestan los zapatos de senderismo TrailWalker?" y "¿Cuántos zapatos de senderismo TrailWalker compró Daniel Wilson?".

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

  1. Cree un proyecto de inteligencia artificial de Azure Studio.
  2. Implemente un modelo de Azure OpenAI y chatee con los datos.
  3. Cree un flujo de avisos desde el área de juegos.
  4. Personalice el flujo de avisos con varios orígenes de datos.
  5. Evalúe el flujo mediante un conjunto de datos de evaluación de preguntas y respuestas.
  6. Implemente el flujo para su consumo.

Requisitos previos

Creación de un proyecto de Azure AI en Azure AI Studio

El proyecto de Azure AI se usa para organizar el trabajo y guardar el estado mientras se crea el copiloto. Durante este tutorial, el proyecto contiene los datos, el tiempo de ejecución del flujo de avisos, las evaluaciones y otros recursos. Para más información sobre el modelo de recursos y proyectos de Azure AI, vea recursos del centro de Azure AI.

Para crear un proyecto de Azure AI en Inteligencia artificial de Azure Studio, siga estos pasos:

  1. Seleccione la pestaña compilar en la parte superior de la página.

  2. Seleccione + Nuevo proyecto de IA.

    Captura de pantalla de la pestaña Compilación de Azure AI Studio con la opción para crear un nuevo proyecto visible.

  3. Escriba un nombre para el proyecto.

  4. Seleccione un recurso de centro de Azure AI en la lista desplegable para hospedar el proyecto. Si aún no tiene acceso a un recurso de centro de Azure AI, seleccione Crear un nuevo recurso.

    Captura de pantalla de la página de detalles del proyecto en el cuadro de diálogo crear proyecto.

    Nota:

    Para crear un recurso del centro de Azure AI, debe tener permisos de propietario o colaborador en el grupo de recursos seleccionado. Se recomienda compartir un recurso del centro de Azure AI con el equipo. Esto le permite compartir configuraciones como conexiones de datos con todos los proyectos y administrar centralmente la configuración de seguridad y el gasto.

  5. Si va a crear un recurso del centro de Azure AI, escriba un nombre.

  6. Seleccione su suscripción de Azureen la lista desplegable. Elija una suscripción de Azure específica para el proyecto por motivos administrativos, de acceso o facturación. Por ejemplo, esto concede a los usuarios y entidades de servicio acceso de nivel de suscripción al proyecto.

  7. Deje el grupo de recursos como valor predeterminado para crear un nuevo grupo de recursos. Como alternativa, puede seleccionar un grupo de recursos existente en la lista desplegable.

    Sugerencia

    Especialmente para empezar, se recomienda crear un nuevo grupo de recursos para el proyecto. Esto le permite administrar fácilmente el proyecto y todos sus recursos juntos. Al crear un proyecto, se crean varios recursos en el grupo de recursos, incluidos un recurso del centro de Azure AI, un registro de contenedor y una cuenta de almacenamiento.

  8. Escriba la ubicación del recurso del centro de Azure AI y, después, seleccione Siguiente. La ubicación es la región donde se hospeda el recurso del centro de Azure AI. La ubicación del recurso del centro de Azure AI también es la ubicación del proyecto. La disponibilidad de los servicios de Azure AI difiere por región. Por ejemplo, es posible que determinados modelos no estén disponibles en determinadas regiones.

  9. Seleccione un recurso de Azure OpenAI existente en la lista desplegable o cree uno nuevo.

    Captura de pantalla de la página crear recurso en el cuadro de diálogo crear proyecto.

  10. En la página Revisar y finalizar, verá el nombre del recurso de Azure OpenAI Service y otra configuración que se va a revisar.

    Captura de pantalla de la página revisar y finalizar dentro del cuadro de diálogo crear proyecto.

  11. Revise los detalles del proyecto y a continuación, seleccione Crear un proyecto de IA. Verá el progreso de la creación de recursos y el proyecto se crea cuando se completa el proceso.

    Captura de pantalla del progreso de creación de recursos en el cuadro de diálogo crear proyecto.

Una vez creado un proyecto, puede acceder a los recursos Herramientas, Componentes y Configuración del proyecto de IA en el panel de navegación izquierdo. Para un proyecto en el que se usa un centro de Azure AI para Azure OpenAI, verá la opción de navegación Área de juegos en Herramientas.

Implementación de un modelo de chat

Siga estos pasos para implementar un modelo de chat de Azure OpenAI para su copiloto.

  1. Inicie sesión en Inteligencia artificial de Azure Studio con credenciales que tengan acceso al recurso de Azure OpenAI. Durante o después del flujo de trabajo de inicio de sesión, seleccione el directorio, la suscripción de Azure y el recurso de Azure OpenAI adecuados. Debe estar en la página Inicio de Inteligencia artificial de Azure Studio.

  2. Seleccione Compilar en el menú superior y,luego, seleccione Implementaciones>Crear>Punto de conexión en tiempo real.

    Captura de pantalla de la página implementaciones con un botón para crear un nuevo proyecto.

  3. En la página Seleccionar un modelo, seleccione el modelo que desea implementar en la lista de modelos. Por ejemplo, seleccione gpt-35-turbo-16k. Seleccione Confirmar.

    Captura de pantalla de la página de selección de modelos.

  4. En la página Implementar modelo, escriba un nombre para la implementación y, luego, seleccione Implementar. Una vez creada la implementación, verá la página de detalles de esta. Los detalles incluyen la fecha en que creó la implementación y la fecha de creación y la versión del modelo que implementó.

  5. En la página de detalles de implementación del paso anterior, seleccione Abrir en el área de juegos.

    Captura de pantalla de los detalles de implementación del chat de GPT.

Para más información sobre la implementación de modelos, consulte Implementación de modelos.

Chat en el área de juegos sin los datos

En el área de juegos de Inteligencia artificial de Azure Studio, puede observar cómo responde el modelo con y sin los datos. En esta sección, probará el modelo sin los datos. En la sección siguiente, agregará los datos al modelo para ayudarle a responder mejor a preguntas sobre sus productos.

  1. En el área de juegos, asegúrese de que Chat esté seleccionado en la lista desplegable Modo. Seleccione el modelo de chat GPT 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.

  2. En el cuadro de texto Mensaje del sistema del panel Configuración del asistente, proporcione esta indicación para guiar al asistente: " Es un asistente de IA que ayuda a las personas a encontrar información". Puede adaptar la solicitud de su escenario. Para más información, consulte los ejemplos de avisos.

  3. Seleccione Aplicar cambios para guardar los cambios y, cuando se le pregunte si quiere actualizar el mensaje del sistema, seleccione Continuar.

  4. En el panel de sesión del chat, escriba la siguiente pregunta: "¿Cuánto cuestan los zapatos de senderismo TrailWalker?" y, después, seleccione el icono de flecha derecha para enviarla.

    Captura de pantalla de la primera pregunta de chat sin conexión a datos.

  5. El asistente responde que no sabe la respuesta. El modelo no tiene acceso a la información del producto sobre los zapatos de senderismo TrailWalker.

    Captura de pantalla de la respuesta del asistente sin conexión a datos.

En la sección siguiente, agregará los datos al modelo para ayudarle a responder a preguntas sobre sus productos.

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

Necesita una copia local de la información del producto de ejemplo. Para más información y vínculos a datos de ejemplo, consulte los requisitos previos.

Cargará los archivos de datos locales en Azure Blob Storage y creará un índice de Azure AI Search. El origen de datos se usa para ayudar a crear 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 va a cambiar el propio modelo implementado. Los datos se almacenan de forma independiente y segura en la suscripción de Azure. Para más información, consulte Azure OpenAI en los datos.

Siga estos pasos para agregar los datos al área de juegos y ayudar al asistente a responder a preguntas sobre sus productos.

  1. Si aún no está en el área de juegos de Inteligencia artificial de Azure Studio, seleccione Compilar en el menú superior y, a continuación, elija Área de juegos en el menú izquierdo contraíble.

  2. En el panel Configuración del asistente, seleccione Agregar los datos (versión preliminar)>+ Agregar un origen de datos.

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

  3. En la página Origen de datos que aparece, seleccione Cargar archivos en la lista desplegable Seleccionar origen de datos.

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

    Sugerencia

    Para conocer las opciones de origen de datos y los tipos y formatos de archivo admitidos, consulte Azure OpenAI en los datos.

  4. Escriba product-info como nombre del índice de información del producto.

    Captura de pantalla de los recursos e información necesarios para cargar archivos.

  5. Seleccione o cree su recurso de Azure AI Search denominado contoso-outdoor-search y seleccione la confirmación de que al conectarlo se incurre en uso de su cuenta.

    Nota:

    Puede usar el índice product-info y el recurso contoso-outdoor-search de Azure AI Search en el flujo de avisos más adelante en este tutorial. Si los nombres que escriba difieren de lo que se especifica aquí, asegúrese de usar los nombres indicados en el resto del tutorial.

  6. Seleccione la suscripción de Azure que contiene el recurso de Azure OpenAI que quiere usar. Seleccione Siguiente.

  7. En la página Cargar archivos, seleccione Examinar un archivo y, después, los archivos que quiere cargar. Seleccione los archivos de información del producto que descargó o creó anteriormente. Consulte los requisitos previos. Si quiere cargar más de un archivo, hágalo ahora. No podrá agregar más archivos después en la misma sesión de área de juegos.

  8. Seleccione Cargar para cargar el archivo en la cuenta de Azure Blob Storage. En la parte inferior de la página, seleccione Siguiente.

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

  9. En la página Administración de datos en Tipo de búsqueda, seleccione Palabra clave. Esta configuración ayuda a determinar cómo responde el modelo a las solicitudes. Luego, seleccione Siguiente.

    Nota:

    Si ha agregado vector de búsqueda en la página Seleccionar o agregar origen de datos, hay más opciones disponibles aquí por un costo adicional. Para más información, consulte Azure OpenAI en los datos.

  10. Revise los detalles que ingresó y seleccione Guardar y cerrar. Ahora puede chatear con el modelo, que usará la información de sus datos para construir la respuesta.

    Captura de pantalla de la página revisar y finalizar para agregar datos.

  11. Ahora, en el panel Configuración del asistente, puede ver que la ingesta de datos está en curso. 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.

  12. Ahora puede chatear con el modelo y hacerle la misma pregunta que antes ("¿Cuánto cuestan los zapatos de senderismo 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.

    Captura de pantalla de la respuesta del asistente con datos de base.

Creación de un proceso y un entorno de ejecución necesarios para el flujo de avisos

Use el flujo de avisos para optimizar los mensajes que se envían al modelo de chat de copiloto. El flujo de avisos requiere una instancia de proceso y un entorno de ejecución. Si ya tiene una instancia de proceso y un entorno de ejecución, puede omitir esta sección y permanecer en el área de juegos.

Para crear una instancia de proceso y un entorno de ejecución, siga estos pasos:

  1. Si no tiene una instancia de proceso, puede crear una en Azure AI Studio.
  2. Después, cree un entorno de ejecución siguiendo los pasos descritos en el artículo sobrecómo crear un entorno de ejecución.

Para completar el resto del tutorial, asegúrese de que el entorno de ejecución está en estado En ejecución. Puede que tenga que seleccionar Actualizar para ver el estado actualizado.

Importante

Se le cobra por las instancias de proceso mientras se ejecutan. Para evitar incurrir en costos innecesarios de Azure, pause la instancia de proceso cuando no esté trabajando activamente en el flujo de avisos. Para más información, consulte Cómo iniciar y detener el proceso.

Creación de un flujo de avisos desde el área de juegos

Ahora que el modelo de chat implementado funciona en el área de juegos con los datos, podría implementar su copiloto como una aplicación web desde el área de juegos.

Pero podría preguntarse "¿Cómo puedo personalizar aún más este copiloto?" Es posible que quiera agregar varios orígenes de datos, comparar avisos diferentes o el rendimiento de varios modelos. Un flujo de avisos sirve como un flujo de trabajo ejecutable que agiliza el desarrollo de la aplicación de inteligencia artificial basada en LLM. Proporciona un marco integral para administrar el flujo de datos y el procesamiento dentro de su aplicación.

En esta sección, aprenderá a realizar la transición al flujo de avisos desde el área de juegos. Exporta el entorno de chat del área de juegos, incluidas las conexiones a los datos que agregó. Más adelante en este tutorial, evaluará el flujo y, a continuación, implementará el flujo para su consumo.

Nota:

Los cambios realizados en el flujo de avisos no se aplican hacia atrás para actualizar el entorno del área de juegos.

Puede crear un flujo de avisos desde el área de juegos siguiendo estos pasos:

  1. Si aún no está en el área de juegos de Inteligencia artificial de Azure Studio, seleccione Compilar en el menú superior y, a continuación, elija Área de juegos en el menú izquierdo contraíble.

  2. Seleccione Abrir en el flujo de avisos en el menú situado sobre el panel Sesión de chat.

  3. Escriba un nombre de carpeta para el flujo de avisos. A continuación, seleccione Abrir. Inteligencia artificial de Azure Studio exporta el entorno de chat del área de juegos, incluidas las conexiones a los datos al flujo de avisos.

    Captura de pantalla del cuadro de diálogo abrir en el flujo de avisos del sistema.

Dentro de un flujo, los nodos toman protagonismo, representando herramientas específicas con capacidades únicas. Estos nodos administran el procesamiento de datos, la ejecución de tareas y las operaciones algorítmicas, con entradas y salidas. Al conectar los nodos, se establece una cadena de operaciones sin fisuras que guía el flujo de datos a través de la aplicación. Para más información, consulte herramientas del flujo de avisos.

Para facilitar la configuración y el ajuste de nodos, se proporciona una representación visual de la estructura de flujo de trabajo a través de un gráfico DAG (gráfico acíclico dirigido). Este gráfico muestra la conectividad y las dependencias entre los nodos, proporcionando una visión clara de todo el flujo de trabajo. Los nodos del gráfico que se muestran aquí son representativos de la experiencia de chat del área de juegos que exportó al flujo de avisos.

Captura de pantalla del gráfico predeterminado exportado desde el área de juegos para el flujo de avisos.

Los nodos se pueden agregar, actualizar, reorganizar o quitar. Los nodos del flujo en este punto incluyen:

  • DetermineIntent: este nodo determina la intención de la consulta del usuario. Usa el aviso del sistema para determinar la intención. Puede editar el aviso del sistema para proporcionar ejemplos específicos de algunas capturas de escenario.
  • ExtractIntent: este nodo da formato a la salida del nodo DetermineIntent y la envía al nodo RetrieveDocuments.
  • RetrieveDocuments: este nodo busca los principales documentos relacionados con la consulta. Este nodo usa el tipo de búsqueda y los parámetros que configuró previamente en el área de juegos.
  • FormatRetrievedDocuments: este nodo da formato a la salida del nodo RetrieveDocuments y la envía al nodo DetermineReply.
  • DetermineReply: este nodo contiene un aviso extenso del sistema, que pide al LLM que responda solo mediante los documentos recuperados. Hay dos entradas:
    • El nodo RetrieveDocuments proporciona los documentos recuperados principales.
    • El nodo FormatConversation proporciona el historial de conversaciones con formato, incluida la consulta más reciente.

El nodo FormatReply da formato a la salida del nodo DetermineReply.

En el flujo de avisos, también debería ver lo siguiente:

  • Guardar: puede guardar el flujo de avisos en cualquier momento seleccionando Guardar en el menú superior. Asegúrese de guardar el flujo de avisos periódicamente a medida que realice cambios en este tutorial.

  • Entorno de ejecución: el entorno de ejecución que creó anteriormente en este tutorial. Puede iniciar y detener los entornos de ejecución y las instancias de proceso mediante Configuración del proyecto de IA en el menú de la izquierda. Para trabajar en el flujo de avisos, asegúrese de que el tiempo de ejecución esté en estado En ejecución.

    Captura de pantalla del editor de flujo de avisos del sistema y de los menús circundantes.

  • Herramientas: puede volver al flujo de avisos en cualquier momento seleccionando Flujo de avisos en Herramientas en el menú de la izquierda. A continuación, seleccione la carpeta de flujo de avisos que creó anteriormente (no el flujo de ejemplo).

    Captura de pantalla de la lista de flujos de avisos.

Personalización del flujo de avisos con varios orígenes de datos

Anteriormente en el área de juegos de Inteligencia artificial de Azure Studio, agregó los datos para crear un índice de búsqueda que contenía datos de producto para el copiloto Contoso. Hasta ahora, los usuarios solo pueden preguntar sobre los productos con preguntas como "¿Cuánto cuestan los zapatos de senderismo TrailWalker?". Pero no pueden obtener respuestas a preguntas como "¿Cuántos zapatos de senderismo TrailWalker compró Daniel Wilson?" Para habilitar este escenario, agregamos otro índice al flujo con información del cliente.

Creación del índice de información del cliente

Necesita una copia local de la información del cliente de ejemplo. Para más información y vínculos a datos de ejemplo, consulte los requisitos previos.

Siga estas instrucciones sobre cómo crear un nuevo índice:

  1. Seleccione Índice en el menú de la izquierda. Después, seleccione + Nuevo índice.

    Captura de pantalla de la página de índices con el botón para crear un nuevo índice.

    Accederá al Asistente para crear un índice.

  2. En la página Datos de origen, seleccione Cargar carpeta en la lista desplegable Cargar. Seleccione los archivos de información del cliente que descargó o creó anteriormente. Consulte los requisitos previos.

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

  3. Seleccione Siguiente en la parte inferior de la página.

  4. Seleccione el mismo recurso de Azure AI Search (contoso-outdoor-search) que usó para el índice de información del producto (product-info). Luego, seleccione Siguiente.

    Captura de pantalla del recurso de Búsqueda de Azure AI seleccionado.

  5. Seleccione Híbrido y semántico (recomendado) en Tipo de búsqueda. Este tipo debería estar seleccionado de manera predeterminada.

  6. Seleccione Default_AzureOpenAI en la lista desplegable de recursos de Azure OpenAI. Active la casilla para confirmar que se implementará un modelo de inserción de Azure OpenAI si aún no está implementado. Luego, seleccione Siguiente.

    Captura de pantalla de las opciones de tipo de búsqueda de índice.

    Nota:

    El modelo de inserción aparece con otras implementaciones de modelos en la página Implementaciones.

  7. Escriba customer-info en el nombre del índice. Luego, seleccione Siguiente.

    Captura de pantalla del nombre del índice y las opciones de máquina virtual.

  8. Revise los detalles que especificó y seleccione Crear

    Captura de pantalla de la página de revisión y finalización de la creación del índice.

    Nota:

    Puede usar el índice customer-info y el recurso contoso-outdoor-search de Azure AI Search en el flujo de avisos más adelante en este tutorial. Si los nombres que escriba difieren de lo que se especifica aquí, asegúrese de usar los nombres indicados en el resto del tutorial.

  9. Se le lleva a la página de detalles del índice, donde puede ver el estado de la creación del índice

    Captura de pantalla de los detalles del índice de información del cliente.

Para más información sobre cómo crear un índice, consulte Creación de un índice.

Adición de información del cliente al flujo

Cuando haya terminado de crear el índice, vuelva al flujo de avisos y siga estos pasos para agregar la información del cliente al flujo:

  1. Seleccione el nodo RetrieveDocuments del gráfico y cámbiele el nombre a RetrieveProductInfo. Ahora, el nodo de recuperación de la información del producto se puede distinguir del nodo de información del cliente que agregue al flujo.

    Captura de pantalla del nodo de flujo de avisos para recuperar información del producto.

  2. Seleccione + Python en el menú superior para crear un nuevo nodo de Python que se usa para recuperar la información del cliente.

    Captura de pantalla del nodo de flujo de avisos para recuperar la información del cliente.

  3. Asigne al nodo el nombre RetrieveCustomerInfo y seleccione Agregar.

  4. Copie y pegue el código de Python del nodo RetrieveProductInfo en el nodo RetrieveCustomerInfo para reemplazar todo el código predeterminado.

  5. Seleccione el botón Validar y analizar la entrada para validar las entradas del nodo RetrieveCustomerInfo. Si las entradas son válidas, el flujo de avisos analiza las entradas y crea las variables necesarias para que se usen en el código.

    Captura de pantalla del botón validar y analizar la entrada.

  6. Edite las entradas RetrieveCustomerInfo que el flujo de avisos ha analizado para que pueda conectarse al índice customer-info.

    Captura de pantalla de las entradas que se van a editar en el nodo recuperar información del cliente.

    Nota:

    El gráfico se actualiza inmediatamente después de establecer el valor de entrada de queries en ExtractIntent.output.search_intents. En el gráfico puede ver que RetrieveCustomerInfo obtiene entradas de ExtractIntent.

    Las entradas distinguen mayúsculas de minúsculas, por lo que debe asegurarse de que coinciden exactamente con estos valores:

    Nombre Tipo Valor
    embeddingModelConnection Azure OpenAI Default_AzureOpenAI
    embeddingModelName cadena Ninguno
    indexName cadena customer-info
    queries cadena ${ExtractIntent.output.search_intents}
    queryType cadena simple
    searchConnection Cognitive Search contoso-outdoor-search
    semanticConfiguration cadena Ninguno
    topK int 5
  7. Seleccione Guardar en el menú superior para guardar los cambios.

Aplicación de formato a los documentos recuperados para la salida

Ahora que tiene la información del producto y del cliente en el flujo de avisos, da formato a los documentos recuperados para que el modelo de lenguaje grande pueda usarlos.

  1. Seleccione el nodo FormatRetrievedDocuments en el gráfico.

  2. Copie y pegue el siguiente código de Python para reemplazar todo el contenido en el bloque de código FormatRetrievedDocuments.

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. Seleccione el botón Validar y analizar la entrada para validar las entradas del nodo FormatRetrievedDocuments. Si las entradas son válidas, el flujo de avisos analiza las entradas y crea las variables necesarias para que se usen en el código.

  4. Edite las entradas FormatRetrievedDocuments que el flujo de avisos ha analizado para que pueda extraer información del producto y del cliente de los nodos RetrieveProductInfo y RetrieveCustomerInfo.

    Captura de pantalla de las entradas que se van a editar en el nodo de documentos recuperados.

    Las entradas distinguen mayúsculas de minúsculas, por lo que debe asegurarse de que coinciden exactamente con estos valores:

    Nombre Tipo Valor
    docs1 object ${RetrieveProductInfo.output}
    docs2 object ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. Seleccione el nodo DetermineReply en el gráfico.

  6. Establezca la entrada de documentation en ${FormatRetrievedDocuments.output.strResult}.

    Captura de pantalla de la edición del valor de entrada de documentación en el nodo determinar respuesta.

  7. Seleccione el nodo outputs en el gráfico.

  8. Establezca la entrada fetched_docs en ${FormatRetrievedDocuments.output.combined_docs}.

    Captura de pantalla de la edición del valor de entrada fetched_docs en el nodo de salidas.

  9. Seleccione Guardar en el menú superior para guardar los cambios.

Chat del flujo de avisos con información del producto y del cliente

Ahora tiene la información del producto y del cliente en el flujo de avisos. Puede chatear con el modelo en el flujo de avisos y obtener respuestas a preguntas como "¿Cuántos zapatos de senderismo TrailWalker compró Daniel Wilson?" Antes de continuar con una evaluación más formal, puede chatear con el modelo para ver cómo responde a sus preguntas.

  1. Seleccione Chat en el menú superior del flujo de avisos para probar el chat.

  2. Escriba "¿Cuántos zapatos de senderismo TrailWalker compró Daniel Wilson?" y, a continuación, seleccione el icono de flecha derecha para enviarla.

  3. La respuesta es lo que espera. El modelo usa la información del cliente para responder a la pregunta.

    Captura de pantalla de la respuesta del asistente con datos de puesta a tierra del producto y del cliente.

Evaluación del flujo mediante un conjunto de datos de evaluación de preguntas y respuestas

En Inteligencia artificial de Azure Studio, quiere evaluar el flujo antes de implementar el flujo para su consumo.

En esta sección, usará la evaluación integrada para evaluar el flujo con un conjunto de datos de evaluación de preguntas y respuestas. La evaluación integrada usa métricas asistidas por inteligencia artificial para evaluar el flujo: fundamentación, relevancia y puntuación de recuperación. Para más información, consulte Métricas de evaluación integradas.

Crear una evaluación

Necesita un conjunto de datos de evaluación de preguntas y respuestas que contenga preguntas y respuestas que sean relevantes para su escenario. Cree un nuevo archivo localmente denominado qa-evaluation.jsonl. Copie y pegue las siguientes preguntas y respuestas ("truth") en el archivo.

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

Ahora que tiene el conjunto de datos de evaluación, puede evaluar el flujo siguiendo estos pasos:

  1. Seleccione Evaluar>Evaluación insertada en el menú superior del flujo de avisos.

    Captura de pantalla de la opción para crear una evaluación integrada a partir del flujo de avisos.

    Accederá al Asistente para crear una nueva evaluación.

  2. Escriba un nombre para la evaluación y seleccione un entorno de ejecución.

  3. Seleccione Pares de preguntas y respuestas con generación aumentada de recuperación en las opciones del escenario.

    Captura de pantalla de la selección de un escenario de evaluación.

  4. Seleccione el flujo que se va a evaluar. En este ejemplo, seleccione Flujo de aire libre de Contoso o como haya llamado al flujo. Seleccione Siguiente.

  5. Seleccione las métricas que quiere usar para evaluar el flujo. En este ejemplo, seleccione Fundamentación, Relevancia y Puntuación de recuperación.

    Captura de pantalla de la selección de métricas de evaluación.

  6. Seleccione un modelo que usará para la evaluación. Por ejemplo, seleccione gpt-35-turbo-16k. Luego, seleccione Siguiente.

    Nota:

    La evaluación con métricas asistidas por inteligencia artificial debe llamar a otro modelo GPT para realizar el cálculo. Para obtener el mejor rendimiento, use un modelo que admita al menos 16 000 tokens, como el modelo gpt-4-32k o gpt-35-turbo-16k. Si no implementó previamente un modelo de este tipo, puede implementar otro modelo siguiendo los pasos descritos en Implementación de un modelo de chat. A continuación, vuelva a este paso y seleccione el modelo que implementó.

  7. Seleccione Agregar nuevo conjunto de datos. Luego, seleccione Siguiente.

    Captura de pantalla de la opción para usar un conjunto de datos nuevo o existente.

  8. Seleccione Cargar archivos, examinar archivos y seleccione el archivo qa-evaluation.jsonl que creó anteriormente.

    Captura de pantalla del botón cargar archivos del conjunto de datos.

  9. Una vez cargado el archivo, debe asignar las propiedades del archivo (origen de datos) a las propiedades de evaluación. Escriba los valores siguientes para cada propiedad de origen de datos:

    Captura de pantalla de la asignación del conjunto de datos de evaluación.

    Nombre Description Tipo Origen de datos
    chat_history El historial de chat list ${data.chat_history}
    consulta La consulta cadena ${data.question}
    question Una consulta que busca información específica cadena ${data.question}
    answer La respuesta a la pregunta generada por el modelo como respuesta cadena ${run.outputs.reply}
    documentos Cadena con contexto a partir de los documentos recuperados cadena ${run.outputs.fetched_docs}
  10. Seleccione Siguiente.

  11. Revise los detalles de evaluación y seleccione Enviar.

    Captura de pantalla de la página revisar y finalizar dentro del cuadro de diálogo crear evaluación.

    Accederá a la página Evaluaciones de métricas.

Visualización del estado y los resultados de la evaluación

Ahora puede ver el estado y los resultados de la evaluación siguiendo estos pasos:

  1. Después de crear una evaluación, si aún no está allí, vaya a Compilar>Evaluación. En la página Evaluaciones de métricas, puede ver el estado de evaluación y las métricas que seleccionó. Es posible que tenga que seleccionar Actualizar después de un par de minutos para ver el estado Completado.

    Captura de pantalla de la página de evaluaciones de métricas.

    Sugerencia

    Una vez que la evaluación está en estado Completado, no necesita el entorno de ejecución ni el proceso para completar el resto de este tutorial. Puede detener la instancia de proceso para evitar incurrir en costos innecesarios de Azure. Para más información, consulte Cómo iniciar y detener el proceso.

  2. Seleccione el nombre de la evaluación que completó primero (contoso-evaluate-from-flow_variant_0) para ver los detalles de evaluación con las columnas asignadas anteriormente.

    Captura de pantalla de la página de resultados de métricas detalladas.

  3. Seleccione el nombre de la evaluación que completó en segundo lugar (evaluation_contoso-evaluate-from-flow_variant_0) para ver las métricas de evaluación: Fundamentación, Relevancia y Puntuación de recuperación.

    Captura de pantalla de las puntuaciones medias de métricas.

Para más información, consulte la visualización de los resultados de la evaluación.

Implementación del flujo

Ahora que ha creado un flujo y ha completado una evaluación basada en métricas, es el momento de crear el punto de conexión en línea para la inferencia en tiempo real. Esto significa que puede usar el flujo implementado para responder preguntas en tiempo real.

Siga los pasos que se indican a continuación para implementar un flujo de avisos como punto de conexión en línea en Inteligencia artificial de Azure Studio.

  1. Tener un flujo de aviso listo para la implementación. Si no tiene uno, vea cómo crear un flujo de avisos.

  2. Opcional: seleccione Chat para probar si el flujo funciona correctamente. Se recomienda probar el flujo antes de implementarlo.

  3. Seleccione Implementar en el editor de flujo.

    Captura de pantalla del botón Implementar desde un editor de flujo de avisos.

  4. Proporcione la información solicitada en la página Configuración básica del asistente para la implementación.

    Captura de pantalla de la página de configuración básica del asistente para la implementación.

  5. Seleccione Siguiente para continuar con las páginas de configuración avanzadas.

  6. En la página Configuración avanzada : punto de conexión, deje la configuración predeterminada y seleccione Siguiente.

  7. En la página Configuración avanzada: implementación, deje la configuración predeterminada y seleccione Siguiente.

  8. En la página Configuración avanzada: conexiones y salidas, asegúrese de que todas las salidas estén seleccionadas en Incluida en respuesta al punto de conexión.

    Captura de pantalla de la página de configuración avanzada en el asistente para la implementación.

  9. Seleccione Revisar y crear para revisar la configuración y crear la implementación.

  10. Seleccione Crear para implementar el flujo de avisos.

    Captura de pantalla de la página revisar la configuración de implementación del flujo de avisos.

Para más información, consulte el artículo sobre cómo implementar un flujo.

Uso del flujo implementado

La aplicación copiloto puede usar el flujo de avisos implementado para responder a preguntas en tiempo real. Puede usar el punto de conexión REST o el SDK para usar el flujo implementado.

  1. Para ver el estado de la implementación, en Inteligencia artificial de Azure Studio, seleccione Implementaciones en el panel de navegación izquierdo. Una vez creada correctamente la implementación, puede seleccionar la implementación para ver los detalles.

    Captura de pantalla del estado de implementación del flujo de avisos en curso.

    Nota:

    Si ve un mensaje que indica "Actualmente este punto de conexión no tiene implementaciones" o el estado siendo Actualizando, es posible que tenga que seleccionar Actualizar al cabo de un par de minutos para ver la implementación.

  2. Opcionalmente, la página de detalles es donde puede cambiar el tipo de autenticación o habilitar la supervisión.

    Captura de pantalla de la página de detalles de implementación del flujo de avisos.

  3. Seleccione la pestaña Consumir. Puede ver ejemplos de código y el punto de conexión REST de la aplicación copiloto para usar el flujo implementado.

    Captura de pantalla del punto de conexión de implementación de flujo de avisos y ejemplos de código.

Limpieza de recursos

Para evitar incurrir en costos innecesarios de Azure, debe eliminar los recursos que creó en este tutorial si ya no son necesarios. Para administrar recursos, puede usar Azure Portal.

También puede detener o eliminar la instancia de proceso en Inteligencia artificial de Azure Studio.

Demostración de la solución de chat empresarial de Inteligencia artificial de Azure Studio

Obtenga información sobre cómo crear un copiloto minorista mediante los datos con Inteligencia artificial de Azure Studio en este vídeo de tutorial de un extremo a otro.

Pasos siguientes