Compartir vía


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

Importante

Algunas de las características descritas en este artículo solo pueden estar disponibles en versión preliminar. 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. Agregue los datos al área de juegos de chat.
  2. Cree un flujo de avisos desde el área de juegos.
  3. Personalice el flujo de avisos con varios orígenes de datos.
  4. Evalúe el flujo mediante un conjunto de datos de evaluación de preguntas y respuestas.
  5. Implemente el flujo para su consumo.

Requisitos previos

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

En el inicio rápido del área de juegos de AI Studio (es un requisito previo para este tutorial), puede observar cómo responde el modelo sin los datos. Ahora agregue los datos al modelo para ayudarle a responder preguntas sobre sus productos.

Para completar esta sección, necesita una copia local de los datos del producto. El repositorio Azure-Samples/aistudio-python-quickstart-sample en GitHub contiene información de productos y clientes minoristas de ejemplo que son relevantes para este escenario del tutorial. Clone el repositorio o copie los archivos de 3-product-info.

Importante

La característica Añada sus datos en el área de juego de Azure AI Studio no admite el uso de una red virtual o un punto de conexión privado en los siguientes recursos:

  • Azure AI Search
  • Azure OpenAI
  • Recurso de almacenamiento

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 Azure AI Studio.

  2. Seleccione el Chat>del área de juegos en el panel izquierdo.

  3. 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.

  4. 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.

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

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

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

  7. Seleccione los archivos que quiere cargar. Seleccione los archivos de información del producto (3-product-info) que ha descargado o creado anteriormente. Agregue todos los archivos ahora. No lo podrá hacer más adelante en la misma sesión de área de juegos.

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

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

  9. Seleccione un servicio de Búsqueda de Azure AI. En este ejemplo seleccionamos Conectar otro recurso de Búsqueda de Azure AI en el menú desplegable Seleccionar servicio de Búsqueda AI de Azure. Si no tiene un recurso de búsqueda, puede crear uno seleccionando Crear un nuevo recurso de Búsqueda de Azure AI. A continuación, vuelva a este paso para conectarse y selecciónelo.

    Captura de pantalla de las opciones de selección de recursos de búsqueda.

  10. Busque el servicio Búsqueda de Azure AI, y seleccione Agregar conexión.

    Captura de pantalla de la página para agregar una conexión de servicio de búsqueda.

  11. En Nombre de índice, 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, seleccione 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.

  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. Escriba un nombre para la configuración del área de juegos y seleccione Guardar>configuración. Todos los elementos de configuración se guardan de manera predeterminada. Los elementos incluyen implementación, mensaje del sistema, mensaje de seguridad. parámetros, datos agregados, ejemplos y variables. Al guardar una configuración con el mismo nombre, se guardará la versión anterior.

    Captura de pantalla del nombre de configuración del área de juegos y el botón Guardar.

  16. 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.

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

Ahora se preguntará: "¿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. Use el flujo de avisos para optimizar los mensajes que se envían al modelo de chat de copiloto.

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. Vaya al proyecto en Inteligencia artificial de Azure Studio.

  2. Seleccione el Chat>del área de juegos en el panel izquierdo.

  3. Dado que estamos usando nuestros propios datos, debe seleccionar Agregar los datos. Ya debería tener un índice denominado product-info que creó anteriormente en el área de juegos de chat. Selecciónelo en la lista desplegable Seleccionar índice de proyecto disponible. De lo contrario, primero cree un índice con los datos del producto y vuelva a este paso.

  4. Seleccione Flujo de avisos en el menú situado encima del panel de sesión de chat.

  5. Escriba un nombre de carpeta para el flujo de avisos. A continuación, seleccione Abrir. AI Studio exporta el entorno de chat del área de juegos al flujo de avisos. La exportación incluye las conexiones a los datos que agregó.

    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.

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

  • Botón 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.
  • Botón Iniciar sesión de proceso: debe iniciar una sesión de proceso para ejecutar el flujo de avisos. Puede iniciar la sesión más adelante en el tutorial. Se incurre en costes para instancias de proceso mientras se ejecutan. Para obtener más información, consulte cómo crear una sesión de proceso.

Captura de pantalla de los botones guardar e iniciar sesión en el flujo.

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.

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 chat de AI 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

Para continuar, 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. Volverá al flujo de avisos más adelante en este tutorial para agregar la información del cliente al flujo. Puede abrir una nueva pestaña en el explorador para seguir estas instrucciones y, a continuación, volver al flujo de avisos.

  1. Vaya al proyecto en Inteligencia artificial de Azure Studio.

  2. Seleccione Índice en el menú de la izquierda. Tenga en cuenta que ya tiene un índice denominado product-info que creó anteriormente en el área de juegos de chat.

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

  3. Seleccione + Nuevo índice. Accederá al Asistente para crear un índice.

  4. En la página Datos de origen, seleccione Cargar archivos en la lista desplegable Origen de datos. A continuación, seleccione Cargar>Carga de archivos para examinar los archivos locales.

  5. Seleccione los archivos de información del cliente que descargó o creó anteriormente. Consulte los requisitos previos. Luego, seleccione Siguiente.

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

  6. Seleccione la misma conexión del servicio de Búsqueda de Azure AI (contosooutdooraisearch) que ha usado para el índice de información del producto. Luego, seleccione Siguiente.

  7. Escriba customer-info en el nombre del índice.

    Captura de pantalla del servicio Búsqueda de Azure AI y el nombre del índice.

  8. Seleccione una máquina virtual para ejecutar trabajos de indexación. La opción predeterminada es Seleccionar automáticamente. Luego, seleccione Siguiente.

  9. 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, seleccione Siguiente.

    Nota:

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

  10. 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:

    Use el índice Información del cliente y el contosooutdooraisearch conexión al servicio de Búsqueda de Azure AI 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.

  11. Pasará 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.

Cree una sesión de proceso necesaria para el flujo de avisos

Una vez que haya terminado de crear el índice, vuelva al flujo de avisos e inicie la sesión de proceso. El flujo de avisos requiere que se ejecute una sesión de proceso.

  1. Vaya a su proyecto.
  2. Seleccione Flujo de avisos en Herramientas en el menú de la izquierda. A continuación, seleccione la carpeta de flujo de avisos que creó anteriormente.
  3. Seleccione Iniciar sesión de proceso en el menú superior.

Para crear una instancia de proceso y una sesión de proceso, también puede seguir los pasos descritos en cómo crear una sesión de proceso.

Para completar el resto del tutorial, asegúrese de que la sesión de proceso se está ejecutando.

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.

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. Asegúrese de que tiene una sesión de proceso en ejecución. Si no tiene una, consulte Crear una sesión de proceso en la sección anterior.

  2. Seleccione + Más herramientas en el menú superior y, a continuación, seleccione Búsqueda de índices en la lista de herramientas.

    Captura de pantalla de la selección de la herramienta de búsqueda de índices en el flujo de avisos.

  3. Asigne un nombre al nuevo nodo queryCustomerIndex y seleccione Agregar.

  4. Seleccione el cuadro de texto mlindex_content en el nodo queryCustomerIndex.

    Captura de pantalla del cuadro de texto mlindex_content en el nodo de búsqueda de índices.

    Se abre el cuadro de diálogo Generar. Use este cuadro de diálogo para configurar el nodo queryCustomerIndex para conectarse al índice customer-info.

  5. Para el valor index_type, seleccione Búsqueda de Azure AI.

  6. Seleccione o escriba los siguientes valores:

    Nombre Valor
    acs_index_connection Nombre de la conexión del servicio Búsqueda de Azure AI (por ejemplo contosooutdooraisearch)
    acs_index_name customer-info
    acs_content_field content
    acs_metadata_field meta_json_string
    semantic_configuration azuremldefault
    embedding_type None
  7. Haga clic en Guardar para guardar la configuración.

  8. Seleccione o escriba los siguientes valores para el nodo queryCustomerIndex:

    NOMBRE Valor
    queries ${extractSearchIntent.output}
    query_type Palabra clave
    topK 5

    Puede ver que el nodo queryCustomerIndex está conectado al nodo extractSearchIntent del grafo.

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

  9. Seleccione Guardar en el menú superior para guardar los cambios. Recuerde guardar el flujo de avisos periódicamente a medida que realice cambios.

Conectar la información del cliente al flujo

En la sección siguiente, agregará la información del producto y del cliente para generarla en un formato que pueda usar el modelo de lenguaje grande. Pero en primer lugar, debe conectar la información del cliente al flujo.

  1. Seleccione el icono de puntos suspensivos junto a + Más herramientas y, a continuación, seleccione Modo de archivo sin formato para cambiar al modo de archivo sin formato. Este modo permite copiar y pegar nodos en el grafo.

    Captura de pantalla de la opción de modo de archivo sin formato en el flujo de avisos.

  2. Reemplace todas las instancias de querySearchResource por queryProductIndex en el grafo. Estamos cambiando el nombre del nodo para reflejar mejor que recupera la información del producto y contrasta con el nodo queryCustomerIndex que agregó al flujo.

  3. Cambie el nombre y reemplace todas las instancias de chunkDocuments por chunkProductDocuments en el grafo.

  4. Cambie el nombre y reemplace todas las instancias de selectChunks por selectProductChunks en el grafo.

  5. Copie y pegue los nodos chunkProductDocuments y seleccioneProductChunks para crear nodos similares para la información del cliente. Cambie el nombre de los nuevos nodos chunkCustomerDocuments y selectCustomerChunks respectivamente.

  6. En el nodo chunkCustomerDocuments, reemplace la entrada ${queryProductIndex.output} por ${queryCustomerIndex.output}.

  7. En el nodo selectCustomerChunks, reemplace la entrada ${chunkProductDocuments.output} por ${chunkCustomerDocuments.output}.

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

    Captura de pantalla de la opción para guardar el archivo yaml en modo de archivo sin formato.

    Por ahora, el archivo flow.dag.yaml debe incluir nodos (entre otros) que tengan un aspecto similar al ejemplo siguiente:

    - name: chunkProductDocuments
      type: python
      source:
        type: code
        path: chunkProductDocuments.py
      inputs:
        data_source: Azure AI Search
        max_tokens: 1050
        queries: ${extractSearchIntent.output}
        query_type: Keyword
        results: ${queryProductIndex.output}
        top_k: 5
      use_variants: false
    - name: selectProductChunks
      type: python
      source:
        type: code
        path: filterChunks.py
      inputs:
        min_score: 0.3
        results: ${chunkProductDocuments.output}
        top_k: 5
      use_variants: false
    - name: chunkCustomerDocuments
      type: python
      source:
        type: code
        path: chunkCustomerDocuments.py
      inputs:
        data_source: Azure AI Search
        max_tokens: 1050
        queries: ${extractSearchIntent.output}
        query_type: Keyword
        results: ${queryCustomerIndex.output}
        top_k: 5
      use_variants: false
    - name: selectCustomerChunks
      type: python
      source:
        type: code
        path: filterChunks.py
      inputs:
        min_score: 0.3
        results: ${chunkCustomerDocuments.output}
        top_k: 5
      use_variants: false
    

Agregar información del producto y del cliente

En este momento, el flujo de avisos solo usa la información del producto.

  • extractSearchIntent extrae la intención de búsqueda de la pregunta del usuario.
  • queryProductIndex recupera la información del producto del índice product-info.
  • La herramienta LLM (para modelos de lenguaje grande) recibe una respuesta con formato a través de los nodos chunkProductDocuments>selectProductChunks>formatGeneratedReplyInputs.

Debe conectar y agregar la información del producto y del cliente para generarla en un formato que la herramienta LLM pueda usar. Siga estos pasos para agregar la información del producto y del cliente:

  1. Seleccione Python en la lista de herramientas.

  2. Asigne un nombre a la herramienta aggregateChunks y seleccione Agregar.

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

    from promptflow import tool
    from typing import List
    
    @tool
    def aggregate_chunks(input1: List, input2: List) -> str:
        interleaved_list = []
        for i in range(max(len(input1), len(input2))):
            if i < len(input1):
                interleaved_list.append(input1[i])
            if i < len(input2):
                interleaved_list.append(input2[i])
        return interleaved_list
    
  4. Seleccione el botón Validar y analizar la entrada para validar las entradas del nodo aggregateChunks. 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 nodo de flujo de avisos para agregar información del producto y del cliente.

  5. Edite el nodo aggregateChunks para conectar la información del producto y del cliente. Establezca las entradas en los valores siguientes:

    Nombre Tipo Valor
    input1 list ${selectProductChunks.output}
    input2 list ${selectCustomerChunks.output}

    Captura de pantalla de las entradas que se van a editar en el nodo de fragmentos agregados.

  6. Seleccione el nodo shouldGenerateReply en el grafo. Seleccione o escriba ${aggregateChunks.output} para la entrada de fragmentos.

  7. Seleccione el nodo formatGenerateReplyInputs en el grafo. Seleccione o escriba ${aggregateChunks.output} para la entrada de fragmentos.

  8. Seleccione el nodo outputs en el gráfico. Seleccione o escriba ${aggregateChunks.output} para la entrada de fragmentos.

  9. Seleccione Guardar en el menú superior para guardar los cambios. Recuerde guardar el flujo de avisos periódicamente a medida que realice cambios.

Ahora puede ver el nodo aggregateChunks en el grafo. El nodo conecta la información del producto y del cliente para generarla en un formato que la herramienta LLM pueda usar.

Captura de pantalla de las entradas y salidas del nodo de fragmentos agregados en el grafo.

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. Continúe desde la sección anterior con el nodo de salidas seleccionado. Asegúrese de que la salida de respuesta tenga seleccionado el botón de radio Salida de chat. En caso contrario, se devuelve el conjunto completo de documentos en respuesta a la pregunta en el chat.

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

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

    Nota:

    El modelo puede tardar unos segundos en responder. Puede esperar que el tiempo de respuesta sea más rápido al usar un flujo implementado.

  4. 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 AI 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 una sesión de proceso.

  3. Seleccione Pregunta y respuesta sin contexto en las opciones del escenario.

  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. Luego, seleccione Siguiente.

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

  5. Seleccione Agregar el conjunto de datos en la página Configurar datos de prueba.

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

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

  7. Una vez cargado el archivo, debe configurar las columnas de datos para que coincidan con las entradas necesarias para que el flujo de avisos ejecute una ejecución por lotes que genere la salida para la evaluación. Escriba o seleccione los valores siguientes para cada asignación de conjuntos de datos para el flujo de avisos.

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

    Nombre Description Tipo Origen de datos
    chat_history El historial de chat list ${data.chat_history}
    consulta La consulta cadena ${data.question}
  8. Seleccione Siguiente.

  9. Seleccione las métricas que quiere usar para evaluar el flujo. En este ejemplo, seleccione Coherencia, Fluidez, Similitud GPT y Puntuación F1.

  10. Seleccione una conexión y un modelo que desee utilizar para la evaluación. Por ejemplo, seleccione gpt-35-turbo-16k. Luego, seleccione Siguiente.

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

    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 ha implementado previamente este modelo, puede implementar otro modelo siguiendo los pasos descritos en Inicio rápido del área de juegos de chat de AI Studio. A continuación, vuelva a este paso y seleccione el modelo que implementó.

  11. Debe configurar las columnas de datos para que coincidan con las entradas necesarias para generar métricas de evaluación. Escriba los valores siguientes para asignar el conjunto de datos a las propiedades de evaluación:

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

  13. Revise los detalles de evaluación y seleccione Enviar. 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 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.

  2. Detenga la sesión de proceso en el flujo de avisos. Vaya al flujo del símbolo del flujo de avisos y seleccione Sesión de proceso en ejecución>Detener sesión de proceso en el menú superior.

    Captura de pantalla del botón para detener una sesión de proceso en el flujo de avisos.

    Sugerencia

    Una vez que la evaluación está en estado Completado, no necesita la sesión de 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.

  3. Seleccione el nombre de la evaluación (por ejemplo, evaluation_evaluate_from_flow_variant_0) para ver las métricas de evaluación.

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

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 AI Studio.

  1. Tener un flujo de aviso listo para la implementación. Si no tiene uno, consulte las secciones anteriores o 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. Seleccione Siguiente para continuar con las páginas de configuración avanzadas.

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

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

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

  7. 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.

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

  9. 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 AI Studio, seleccione Implementaciones en el panel de navegación izquierdo.

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

    Una vez creada correctamente la implementación, puede seleccionar la implementación para ver los detalles.

    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 AI Studio según sea necesario.

Pasos siguientes