Editar

Compartir a través de


Fase de preparación de RAG

Servicios de Azure AI
Azure AI Search
Azure OpenAI Service
Azure Machine Learning

La primera fase del desarrollo y experimentación de generación aumentada por recuperación (RAG) es la fase de preparación. Durante esta fase, definirá el dominio empresarial de la solución. Después de definir el dominio, recopile documentos, realice análisis de documentos y recopile preguntas de ejemplo pertinentes para el dominio. Estos pasos se realizan en paralelo porque están relacionados entre sí. Por ejemplo, el análisis de documentos le ayuda a determinar qué documentos de prueba y consultas de prueba debe recopilar. Las preguntas que haga deben ser respondibles por el contenido de los documentos y los documentos deben responder a las preguntas pertinentes.

Este artículo forma parte de una serie. Lea la introducción.

Determinación del dominio de la solución

El primer paso de este proceso es definir claramente los requisitos empresariales para la solución o el caso de uso. Estos requisitos le ayudan a determinar qué tipo de preguntas debe responder la solución y qué datos de origen o documentos ayudan a responder a esas preguntas. En fases posteriores, el dominio de solución ayuda a informar a la estrategia del modelo de inserción.

Análisis de documentos

El objetivo del análisis de documentos es recopilar suficiente información sobre la colección de documentos para ayudarle a comprender:

  • Las distintas clasificaciones de los documentos. Por ejemplo, puede tener especificaciones de producto, informes trimestrales, contratos de seguros de automóviles o contratos de seguros de salud.

  • Los diferentes tipos de documentos. Por ejemplo, puede tener archivos PDF, archivos Markdown, archivos HTML o archivos DOCX.

  • Restricciones de seguridad. Por ejemplo, puede requerir autenticación y autorización para acceder a los documentos en función de si son accesibles públicamente.

  • Estructura de los documentos. Por ejemplo, la longitud de los documentos puede variar. O bien, pueden tener saltos de tema, imágenes contextualmente relevantes o datos tabulares.

En las secciones siguientes se describe cómo esta información le ayuda a elegir las estrategias de carga y fragmentación.

Clasificación de documentos

Debe comprender las distintas clasificaciones de documentos para ayudarle a determinar el número de documentos de prueba que necesita. Esta parte del análisis debe informarle sobre las clasificaciones de alto nivel, como seguros o finanzas. También debe avisarle sobre las subclasificaciones, como los documentos de seguros de salud o los documentos de seguros de automóviles. También quiere saber si las subclasificaciones tienen estructuras o contenido diferentes.

El objetivo es comprender todas las variantes de documento diferentes que tiene. A continuación, puede determinar el número y el desglose de los documentos de prueba que necesita. No desea que se supere ni se represente una clasificación de documentos específica en la experimentación.

Tipos de documento

Comprender los diferentes formatos de archivo de la colección le ayuda a determinar el número y el desglose de los documentos de prueba. Por ejemplo, si tiene tipos de documentos PDF y Open XML para informes trimestrales, necesita documentos de prueba para cada uno de esos tipos de documento. Comprender los tipos de documento también le ayuda a comprender los requisitos técnicos para cargar y fragmentar los documentos. Estos requisitos técnicos incluyen bibliotecas específicas que pueden procesar esos formatos de archivo.

Restricciones de seguridad

Comprender las restricciones de seguridad es fundamental para determinar las estrategias de carga y fragmentación. Por ejemplo, debe identificar si algunos o todos los documentos requieren autenticación, autorización o visibilidad de red. Si los documentos están dentro de un perímetro seguro, asegúrese de que el código pueda acceder a ellos o implemente un proceso para replicar de forma segura los documentos en una ubicación accesible para el código de procesamiento.

Los documentos a veces hacen referencia a elementos multimedia como imágenes o audio que son importantes para el contexto del documento. Esos elementos multimedia también podrían estar sujetos a controles de acceso similares como el propio documento. Si ese medio requiere autenticación o línea de visión de red, debe asegurarse de que el código pueda acceder a los medios o de que tenga un proceso implementado que tenga acceso y pueda replicar el contenido.

Si la carga de trabajo requiere que distintos usuarios solo tengan acceso a distintos documentos o segmentos de documento, asegúrese de comprender cómo conservar esos permisos de acceso en la solución de fragmentación.

Estructura de documento

Debe comprender la estructura del documento, incluido su diseño y los tipos de contenido del documento. Comprender la estructura y el contenido de los documentos le ayuda a tomar las siguientes determinaciones:

  • Si el documento requiere preprocesamiento para limpiar el ruido, extraer medios, volver a dar formato al contenido o anotar elementos para omitir

  • Si desea omitir o excluir contenido en el documento

  • Qué partes del documento desea capturar

  • Cómo desea fragmentar el documento

  • Cómo desea controlar imágenes, tablas, gráficos y otros elementos multimedia incrustados

En las secciones siguientes se enumeran las preguntas clasificadas que puede usar para ayudarle a realizar algunas de estas determinación.

Determinar los elementos que puede omitir

Es posible que algunos elementos estructurales no aporten significado al documento y se puedan omitir de forma segura al fragmentar. En algunas situaciones, estos elementos pueden agregar contexto valioso y mejorar la relevancia de las consultas en el índice, pero no todos. Realice las siguientes preguntas sobre las características comunes del documento para ver si agregan relevancia o se deben omitir.

  • ¿El documento contiene una tabla de contenido?

  • ¿Hay encabezados o pies de página?

  • ¿Hay derechos de autor o descargos de responsabilidad?

  • ¿Hay notas al pie o notas al final?

  • ¿Hay marcas de agua?

  • ¿Hay anotaciones o comentarios?

Determinar una estrategia de preprocesamiento y fragmentación

Las siguientes preguntas sobre la estructura del documento pueden ayudarle a decidir si necesita preprocesar el documento para facilitar el proceso. También le ayudan a elegir una estrategia de fragmentación.

  • ¿Hay datos de varias columnas o párrafos de varias columnas? No desea analizar el contenido de varias columnas de la misma manera que el contenido de una sola columna.

  • ¿Qué estructura tiene el documento? Por ejemplo, los archivos HTML a veces usan tablas que deben diferenciarse de los datos tabulares incrustados.

  • ¿Cuántos párrafos hay? ¿Qué longitud tienen los párrafos? ¿Los párrafos son similares en longitud?

  • ¿Qué idiomas, variantes de idioma o dialectos están en los documentos?

  • ¿El documento contiene caracteres Unicode?

  • ¿Qué formato tienen los números? ¿Incluyen comas o decimales? ¿Son coherentes?

  • ¿Qué partes del documento son uniformes y qué partes no son uniformes?

  • ¿Hay una estructura de encabezado donde se pueda extraer el significado semántico?

  • ¿Hay viñetas o sangrías significativas?

Determinación de los requisitos de procesamiento de imágenes

Comprender las imágenes del documento puede ayudarle a elegir una estrategia de procesamiento de imágenes. Debe saber qué tipo de imágenes tiene, si tienen suficiente resolución para procesar y si la imagen contiene toda la información necesaria. Las siguientes preguntas le ayudarán a comprender los requisitos de procesamiento de imágenes.

  • ¿El documento contiene imágenes?

  • ¿Qué resolución tienen las imágenes?

  • ¿Hay texto incrustado en las imágenes?

  • ¿Hay imágenes abstractas que no aportan valor? Por ejemplo, es posible que los iconos no agreguen ningún valor semántico. Agregar una descripción para los iconos puede ser perjudicial para la solución porque el icono normalmente no es relevante para el contenido del documento.

  • ¿Cuál es la relación entre las imágenes y el texto circundante? Determine si las imágenes tienen contenido independiente o si hay contexto en torno a la imagen que debe usar al pasarlas a un modelo de lenguaje. Los títulos son un ejemplo de texto circundante que podría tener un contexto valioso que no se incluye en la imagen.

  • ¿Hay una representación textual enriquecida, como las descripciones de accesibilidad de las imágenes?

Determinar la tabla, el gráfico y otros requisitos de procesamiento multimedia

Comprender qué información se encapsula en tablas, gráficos y otros medios puede ayudarle a decidir cómo desea procesarla. Las siguientes preguntas le ayudarán a comprender la tabla, el gráfico y otros requisitos de procesamiento multimedia.

  • ¿El documento tiene gráficos que incluyen números?

  • ¿El documento contiene tablas?

    • ¿Las tablas son complejas, como tablas anidadas o no complejas?

    • ¿Las tablas tienen subtítulos?

    • ¿Cuánto tiempo son las tablas? Las tablas largas pueden requerir encabezados repetidos en fragmentos.

  • ¿Hay otros tipos de medios incrustados, como vídeos o audio?

  • ¿Hay ecuaciones matemáticas o notaciones científicas en el documento?

Recopilar documentos de prueba representativos

En este paso, recopile documentos que mejor representen los documentos que se usan en la solución. Los documentos deben abordar el caso de uso definido y responder a las preguntas recopiladas en la fase paralela de recopilación de preguntas.

Consideraciones

Tenga en cuenta las siguientes áreas al evaluar posibles documentos de prueba representativos:

  • pertinencia: Los documentos deben cumplir los requisitos empresariales de la aplicación conversacional. Por ejemplo, si crea un bot de chat que ayuda a los clientes a realizar operaciones bancarias, los documentos deben cumplir ese requisito. Por ejemplo, los documentos deben mostrar cómo abrir o cerrar una cuenta bancaria. Los documentos deben poder abordar las preguntas de prueba que se recopilan en el paso paralelo. Si los documentos no tienen información relevante para las preguntas, la solución no puede generar una respuesta válida.

  • Representación: Los documentos deben representar los distintos tipos de documentos que usa la solución. Por ejemplo, un documento de seguro de automóviles contiene información diferente de un documento de seguro de salud o vida. Supongamos que el caso de uso requiere la solución para admitir los tres tipos de seguros, pero solo tiene documentos de seguro de automóvil. Su solución puede funcionar mal para las operaciones de seguro de salud y vida. Debe tener al menos dos documentos para cada variación.

  • calidad del documento físico: Los documentos deben estar en forma utilizable. Las imágenes escaneadas, por ejemplo, podrían no permitirle extraer información utilizable.

  • Calidad del contenido del documento: Los documentos deben tener contenido de alta calidad. No deben contener errores ortográficos ni gramaticales. Los modelos de lenguaje no funcionan bien si los proporciona con contenido de mala calidad.

Para recopilar correctamente documentos de prueba, debe estar segura cualitativamente que los documentos de prueba representen de forma completa y precisa su dominio específico.

Guía del documento de prueba

  • Elija documentos reales sobre los sintéticos. Los documentos reales deben pasar por un proceso de limpieza para eliminar datos personales.

  • Considere la posibilidad de aumentar selectivamente los documentos con datos sintéticos. Este proceso le ayuda a garantizar que los documentos cubren todo tipo de escenarios, incluidos los escenarios futuros previstos. Si debe usar datos sintéticos, haga lo mejor para que sea similar a los datos reales tanto como sea posible.

  • Asegúrese de que los documentos pueden abordar las preguntas que recopile.

  • Tenga al menos dos documentos para cada variante de documento.

  • Use modelos de lenguaje u otras herramientas para ayudarle a evaluar la calidad de los documentos.

Recopilar consultas de prueba

En este paso, recopilará consultas de prueba que se usan para evaluar los fragmentos, la solución de búsqueda y la ingeniería de mensajes. Realice este paso mientras recopila los documentos representativos. Debe recopilar las consultas y determinar cómo los documentos representativos abordan esas consultas al mismo tiempo. Al tener las consultas de ejemplo y las partes de los documentos de ejemplo que abordan esas consultas, puede evaluar cada fase de la solución RAG mientras experimenta con diferentes estrategias y enfoques.

Recopilar la salida de la consulta de prueba

La salida de esta fase incluye contenido del recopilar consultas de prueba representativas paso y el recopilar documentos de prueba representativos paso. La salida es una colección que contiene los datos siguientes:

  • Consulta: La pregunta, que representa la solicitud potencial de un usuario legítimo.

  • Context: colección de todo el texto real de los documentos que abordan la consulta. Para cada bit de contexto, debe incluir la página y el texto real.

  • respuesta: una respuesta válida a la consulta. La respuesta puede ser contenido que se encuentra directamente desde los documentos o se puede volver a procesar desde una o varias partes de contexto.

Creación de consultas sintéticas

A menudo es difícil que los expertos en la materia de un dominio determinado reúnan una lista completa de preguntas para el caso de uso. Una solución a este desafío es generar preguntas sintéticas a partir de los documentos de prueba representativos que recopile. En los pasos siguientes se describe un enfoque real para generar preguntas sintéticas a partir de documentos representativos:

  1. Fragmentar los documentos. Divida los documentos en fragmentos. No use la estrategia de fragmentación para la solución general. Use este paso único que se usa para generar consultas sintéticas. Puede realizar la fragmentación manualmente si el número de documentos es razonable.

  2. Genere consultas para cada fragmento. Para cada fragmento, genere consultas manualmente o mediante un modelo de lenguaje. Cuando se usa un modelo de lenguaje, normalmente se empieza por generar dos consultas para cada fragmento. También puede usar el modelo de lenguaje para crear la respuesta. En el ejemplo siguiente se muestra un mensaje que genera preguntas y respuestas para un fragmento.

    Please read the following CONTEXT and generate two question and answer JSON objects in an array based on the CONTEXT provided. The questions should require deep reading comprehension, logical inference, deduction, and connecting ideas across the text. Avoid simplistic retrieval or pattern-matching questions. Instead, focus on questions that test the ability to reason about the text in complex ways, draw subtle conclusions, and combine multiple pieces of information to arrive at an answer. Ensure that the questions are relevant, specific, and cover the key points of the CONTEXT. Provide concise answers to each question, and directly quote the text from the provided context. Provide the array output in strict JSON format as shown in the output format. Ensure that the generated JSON is completely structurally correct, including proper nesting, comma placement, and quotation marks. There shouldn't be a comma after the last element in the array.
    
    Output format:
    [
      {
        "question": "Question 1",
        "answer": "Answer 1"
      },
      {
        "question": "Question 2",
        "answer": "Answer 2"
      }
    ]
    
    CONTEXT:
    
  3. Compruebe la salida. Compruebe que las preguntas son pertinentes para el caso de uso y que las respuestas abordan la pregunta. Un SME debe realizar esta comprobación.

Consultas no abordadas

Es importante recopilar consultas que los documentos no abordan y las consultas que realizan. Al probar la solución y, especialmente, al probar el modelo de lenguaje, debe determinar cómo debe responder la solución a las consultas que no tienen contexto suficiente para responder. Para responder a las consultas que la solución no puede abordar, la solución puede:

  • Indica que no conoce la respuesta.

  • Indique que no conoce la respuesta y proporciona un vínculo donde el usuario puede encontrar más información.

Recopilación de consultas de prueba para elementos multimedia insertados

Al igual que con el texto, debe recopilar un conjunto diverso de preguntas que impliquen el uso de los elementos multimedia insertados para generar respuestas muy relevantes. Si tiene imágenes con gráficos, tablas o capturas de pantalla, asegúrese de que tiene preguntas que cubren todos los casos de uso. Si determina en la parte de imágenes del paso de análisis de documentos que el texto antes o después de la imagen es necesario para responder a algunas preguntas, asegúrese de que tiene esas preguntas en las consultas de prueba.

Guía para recopilar consultas de prueba

  • Determine si hay un sistema que contiene preguntas reales sobre los clientes que puede usar. Por ejemplo, si crea un bot de chat para responder a las preguntas del cliente, es posible que pueda usar las preguntas del cliente desde el departamento de soporte técnico, las preguntas más frecuentes o el sistema de vales.

  • El cliente o SME para el caso de uso debe actuar como puerta de calidad para determinar si los documentos recopilados, las consultas de prueba asociadas y las respuestas a las consultas de los documentos son completos, representativos y correctos.

  • Revise el cuerpo de las preguntas y respuestas periódicamente para asegurarse de que siguen reflejando con precisión los documentos de origen.

Paso siguiente