Diseño de datos en tierra para cargas de trabajo de IA en Azure
En el caso de las aplicaciones de inteligencia artificial, el enfoque del marco bien diseñado para el diseño de datos debe abordar los requisitos no funcionales, como la operabilidad, el costo y la seguridad, y cumplir los principios básicos de los pilares de Azure Well-Architected Framework. También debe tener en cuenta los requisitos funcionales, como la ingesta de datos, la preparación y la validación.
El modelo de IA que elija afecta a las decisiones posteriores de diseño de datos. En este artículo se describen las consideraciones clave de arquitectura para los modelos fundamentales que necesitan aumentar para mejorar la relevancia del resultado. Estos modelos suelen ser generativos.
Los modelos de IA generativa se crean previamente o se entrenan previamente, lo que le permite usarlos inmediatamente sin realizar modificaciones. Sin embargo, los modelos predefinidos a menudo no cumplen requisitos específicos de carga de trabajo. Para solucionar este problema, los modelos se aumentan con datos específicos del contexto para mejorar su rendimiento. Por ejemplo, puede usar el modelo GPT en varios casos de uso. Estas aplicaciones incluyen recuperar información de documentos, proporcionar soporte técnico al departamento de soporte técnico de TI y resumir información compleja. Para usar modelos fundamentales para satisfacer sus necesidades específicas, es importante comprender estas consideraciones.
Importante
El diseño de datos es un proceso iterativo basado en la experimentación estadística. Las aplicaciones de INTELIGENCIA artificial generativa envían consultas al modelo que incluye los datos del mensaje y del contexto. Para refinar el diseño de los datos, los datos de solicitud y contexto deben iterarse. El proceso iterativo debe incluir preprocesamiento, seleccionar incrustaciones y fragmentación. Estos pasos ayudan a crear datos adecuados para un índice. Para obtener más información, consulte Diseño y desarrollo de una solución de generación aumentada por recuperación (RAG).
Al experimentar e iterar, tenga en cuenta los casos de uso de consumo. Ajuste el diseño de datos en función de los patrones de consulta reales. Determine lo que es aceptable a través del refinamiento y las pruebas.
En una solución, puede usar una combinación de ia generativa y modelos de ia discriminativa para cumplir los requisitos de carga de trabajo. Para obtener más información sobre los datos de entrenamiento, consulte Diseño de datos de entrenamiento.
Recomendaciones
Este es el resumen de las recomendaciones proporcionadas en este artículo.
Recomendación | Descripción |
---|---|
Anticipa las consultas de usuario. | Comprenda los tipos esperados de preguntas relacionadas con los datos de origen y sus expectativas de actualización. Esta comprensión le ayuda a diseñar las canalizaciones de datos y los índices para proporcionar datos de base pertinentes. |
Externalice los datos a un índice de búsqueda. | En lugar de consultar directamente desde el sistema de origen, use un índice de búsqueda. Evalúe diferentes tecnologías de índice en función de los requisitos de carga de trabajo. Cree una matriz de funcionalidades para evaluar la mejor opción para sus necesidades. Considere las tecnologías de índice de búsqueda eficaces, como Elasticsearch o AI Search. ▪ Indexación |
Desarrollar una estrategia de ingesta. | Desarrolle una estrategia completa de administración de índices que abarque la ingesta de datos y el preprocesamiento. Quite los datos ruidosos o irrelevantes direccionando incoherencias y duplicados y estandarizando en un esquema común. Convierta los formatos y tipos de origen en tipos de datos que facilitan la consulta y el análisis. ▪ Preparación de datos ▪ Recopia de volúmenes de datos |
Diseñe el índice para obtener la máxima relevancia. | Habilite características como el filtrado, la ordenación y el control de metadatos en campos específicos para mejorar la eficacia de las consultas. Por ejemplo, etiquete los campos como buscables solo si piensa buscar en ellos. Para evitar costos de almacenamiento innecesarios, no haga que todos los campos se puedan recuperar sin un caso de uso específico. ▪ Diseño de esquema ▪ Funcionalidades de índice ▪ Consulta eficaz |
Actualice el índice para evitar la inferencia en datos obsoletos. | Al actualizar un índice, considere la posibilidad de adoptar una estrategia de implementación en paralelo para el mantenimiento. La regeneración del índice garantiza que se controlan las eliminaciones y las actualizaciones porque el índice se convierte en un conjunto de datos nuevo. Este enfoque permite realizar pruebas exhaustivas de los datos antes de que el índice viva. Al realizar cambios en los índices, coordina las modificaciones de esquema con las actualizaciones de código. Esta práctica garantiza transiciones sin problemas. ▪ Mantenimiento de índices |
Tipos de datos
Puede aumentar los modelos de ia generativa mediante el uso de datos de contexto durante la inferencia o optimizarlos más a través de un proceso de ajuste preciso. Ambos enfoques necesitan datos adicionales que proporcionan al modelo más contexto. El modelo usa ese contexto para responder a la consulta del usuario y forma la respuesta según las expectativas. Normalmente, se usan los siguientes tipos de datos:
Los datos de origen son datos existentes en producción. Estos datos se pueden estructurar, como datos en bases de datos o semiestructurados, como archivos JSON. También puede ser no estructurado, como documentos, imágenes y archivos de audio.
Los datos de puesta a tierra proceden de datos de origen que contienen información sobre temas que no se tratan en los datos de entrenamiento inicial del modelo. Los datos en tierra se combinan con la consulta de usuario para formar el símbolo del sistema que se envía al modelo de lenguaje grande en el contexto de una llamada de inferencia específica. Otros datos que puede incluir en la llamada de inferencia son el aviso del sistema, ejemplos de captura única o de pocas capturas, y datos contextuales como interacciones anteriores.
Estos datos deben ser fáciles de buscar y recuperar rápidamente. Debido a este requisito, debe almacenar los datos en un índice optimizado para la búsqueda. Se accede a este índice en tiempo real mientras el usuario espera la respuesta. Sin estos datos, el modelo podría generar resultados incorrectos o no ser aplicables a lo que el usuario busca específicamente.
Los datos de ajuste preciso son información que se usa para influir en el modelo para que pueda adaptarse a tareas, dominios o estilos de respuesta específicos para futuras solicitudes de inferencia. Por ejemplo, si se espera que el modelo proporcione respuestas en un estilo gramatical específico, esa guía de estilo serviría como datos de ajuste preciso.
Los datos de usuario incluyen información proporcionada por los usuarios durante las interacciones con la aplicación. Al interactuar con modelos generativos, se producen interacciones con estado. Estos modelos carecen de memoria inherente y tratan cada interacción como atómica.
Al administrar interacciones con estado, también conocidas como datos TURN en aplicaciones de chat, es importante almacenar los datos durante el menor tiempo necesario. Lo ideal es que estos datos se destruyan después de que finalice la sesión. Sin embargo, puede haber motivos operativos o de cumplimiento que requieran conservar determinados datos, como la pregunta original o la respuesta del modelo, más allá de la duración de la sesión. Siempre que sea posible, evite almacenar estos datos más allá de la sesión.
Indización
El núcleo del diseño de datos incluye almacenar y administrar datos fundamentales de forma eficaz. Este enfoque garantiza que los datos se puedan aumentar para lograr el mayor nivel de relevancia.
Una estrategia de inteligencia artificial sencilla podría implicar consultar los datos de origen para cada interacción del usuario. Sin embargo, este enfoque no es práctico debido a los altos costos y complejidades de las interacciones directas del origen de datos. En su lugar, debe reasignar los datos de origen como una copia en un índice optimizado para la búsqueda y recuperación. El objetivo de este enfoque es mejorar la comprensión del modelo y su capacidad de generar respuestas relevantes.
Considere una carga de trabajo bancaria que almacene los detalles relacionados con las cuentas bancarias de usuario y las preferencias y las transacciones financieras en un almacén de datos. En un escenario de inteligencia artificial generativa que usa un patrón RAG, los datos en tierra se crean e indexan con contexto para que el modelo pueda proporcionar respuestas pertinentes. Por ejemplo, al proporcionar datos relevantes sobre las transacciones de usuario para el contexto durante la inferencia, el modelo puede responder a preguntas relacionadas con los patrones de gasto del usuario en el último trimestre.
Tecnología de índice especializada
Considere la posibilidad de externalizar los datos de puesta a tierra en un índice de búsqueda. Use este enfoque en lugar de consultar directamente desde el sistema de origen.
Hay ventajas de usar el índice de búsqueda. Puede modelar y transformar la copia de los datos según las consultas esperadas. Las consultas directas al origen principal son problemáticas porque existe la posibilidad de que no se pueda acceder a los datos de origen. Un índice garantiza que los datos permanecen disponibles siempre que lo considere pertinente para la aplicación. También se evita el estrés del sistema de datos de origen. Esta estrategia garantiza que las consultas relacionadas con la inteligencia artificial no afecten a su caso de uso principal.
Algunas opciones de tecnología tienen funcionalidades de autoindización. Los índices pueden ponerse en contacto con los orígenes de datos e incorporar sus datos. Para esta opción, las consideraciones de red son clave. Si el índice necesita conectarse a bases de datos, hay posibles problemas, como la latencia de red y la confiabilidad.
Hay un costo inicial para importar datos. Después de que los datos estén en el índice, no tendrá que moverlos de nuevo a menos que haya cambios o actualizaciones. La administración de datos a lo largo del tiempo es un aspecto fundamental del diseño del índice. Para obtener más información, consulte Mantenimiento de índices.
Índice predeterminado o personalizado
Algunas tecnologías admiten la creación automática de un índice predeterminado para los datos. Este índice se genera en la ingesta de datos con una entrada mínima. El índice tiene funcionalidades integradas. Un índice predeterminado puede ser aceptable para la prueba de conceptos y algunos escenarios de producción.
Algunos escenarios pueden requerir que tenga un esquema de índice personalizado para mejorar la relevancia en función de los requisitos específicos de la carga de trabajo. Esos requisitos dictan cómo diseñar el esquema, habilitar las funcionalidades de índice e incluir metadatos pertinentes.
Diseño del esquema
Puede considerar los índices como estructuras que organizan y optimizan los datos para su recuperación. Más concretamente, organizan los datos en documentos y campos de una tabla. Considere los siguientes puntos:
Topología de índice. Evalúe si se van a colocar todos los datos en un único índice o distribuirlos entre varios índices. Esta decisión afecta significativamente al rendimiento de las consultas, el mantenimiento de índices, la simplicidad de las consultas y la configuración de campos diferentes (o esquema) entre documentos.
Por ejemplo, considere las consultas de usuario que solicitan contenido en un idioma específico. La opción de diseño de datos más sencilla es posiblemente traducir todos los idiomas a un idioma y almacenarlos en un único índice. O bien, los datos se pueden almacenar en todos los idiomas de un solo índice. Esta opción da como resultado varios documentos para cada idioma. La funcionalidad de filtrado del índice podría usarse para restringir los resultados al idioma deseado. Como alternativa, cada índice podría contener las versiones traducidas de un idioma determinado según lo previsto en la consulta.
En algunas situaciones, es posible que necesite varios índices de búsqueda. Este enfoque le permite optimizar de forma independiente cada índice para obtener la máxima relevancia de las consultas de búsqueda. Por ejemplo, un manual de empleados de RR. HH. y un manual de mantenimiento de productos sirven diferentes propósitos y audiencias. Al indexarlos por separado, puede adaptar el esquema y las consultas de búsqueda para cada uno, lo que mejora la experiencia del usuario. Este enfoque puede ser complejo de implementar y requiere un orquestador para facilitar las llamadas a cada índice. El componente de orquestación se describe en Diseño de aplicaciones para cargas de trabajo de IA en Azure.
Nota:
La elección entre las dos topologías y la estrategia de segmentación de datos depende de los requisitos de carga de trabajo, los casos de uso y las expectativas del usuario.
Realizar consultas entre índices puede ser difícil y puede afectar a la relevancia de la búsqueda. En el peor de los casos, puede haber un análisis manual a través de los resultados, decidiendo cuáles se ajustan a los criterios. Este proceso introduce latencia y agrega complejidad. En cambio, un enfoque de índice único es más sencillo y más sencillo. La relevancia se puede mejorar mediante funcionalidades de índice como el filtrado.
En algunos casos, las consideraciones de cumplimiento conducen a la necesidad de índices independientes. Por ejemplo, si los requisitos empresariales exigen que los datos estén aislados entre Europa y América, es posible que varios índices sean inevitables.
Diseño del documento. Alinee el diseño de los datos con las consultas de usuario esperadas para optimizar la relevancia. Tenga en cuenta cómo cada documento debe atender consultas. Para los índices de búsqueda, priorice los documentos pertinentes y afina los resultados en un conjunto conciso que se empaqueta de forma densa con información relevante.
Diseño de campo. Configure los campos de índice para admitir el rendimiento y la relevancia de la búsqueda. Los campos de índice deben asignarse a los atributos de documento que desea que se puedan buscar, recuperar, filtrar y ordenar. Incluyen incrustaciones, identificadores o cualquier otro dato que pueda aumentar la búsqueda.
Funcionalidades de índice
Configure los campos de índice de búsqueda para devolver el conjunto de documentos más relevante. La decisión depende de las funcionalidades que admiten la tecnología del índice de búsqueda y los requisitos de carga de trabajo.
Filtrar, buscar y ordenar opciones. Tenga en cuenta estas opciones porque están directamente relacionadas con los casos de uso para aumentar. Por ejemplo, el filtrado determina true o false en un valor proporcionado en la consulta y devuelve documentos pertinentes. Para la capacidad de búsqueda, el atributo indica si la consulta de búsqueda puede hacer referencia al campo. Por ejemplo, puede comprobar si un campo de texto contiene texto específico o si está relacionado matemáticamente con otro vector. Opcionalmente, puede asignar un peso relativo a ese campo como parte de la consulta de búsqueda. También puede hacer que los conjuntos de resultados sean ordenables, que enumeran los resultados por relevancia.
Compensación. La habilitación de funcionalidades para indexar campos aumenta los requisitos de espacio, lo que afecta a los costos. Agregue solo funcionalidades que quiera usar.
Metadatos. Normalmente, los índices tienen metadatos asociados a los campos de índice. Los metadatos nos ayudan a comprender y administrar datos proporcionando detalles relevantes sobre ellos. Al diseñar índices, considere si los metadatos se pueden recuperar o solo se usan para la determinación de relevancia. La decisión afecta a los costos de proceso porque el proceso de indexación subyacente es diferente. Los metadatos excesivos pueden aumentar innecesariamente el tamaño del índice.
Hay muchas opciones tecnológicas para la indexación. Muchos comparten características similares, como las enumeradas anteriormente. Algunos índices pueden tener características adicionales, como procesar texto y análisis de lenguaje durante la indexación. Para que el texto sea más adecuado para la indexación y la búsqueda, divida texto en tokens, conviértalo en minúsculas o quite palabras irrelevantes.
Consultas eficaces
Los datos en tierra se usan en aplicaciones de IA generativas para aumentar la precisión y relevancia de las respuestas a las consultas del usuario. Considere la posibilidad de consultar por adelantado las consultas de usuario. Comprenda qué preguntas se pueden hacer, quién las hace y con qué frecuencia se le preguntan. Esta información ayuda al contexto del formulario de aplicación y a comprender qué resultado puede ser relevante.
Los tipos típicos de búsquedas son:
Las consultas vectoriales buscan elementos similares en función de sus representaciones vectoriales o puntos de datos en un espacio dimensional.
Búsqueda de palabras clave en todo el contenido de los documentos textuales. Indexa y consulta grandes volúmenes de datos de texto y se usa normalmente en motores de búsqueda, bases de datos y sistemas de administración de documentos.
La clasificación semántica mejora la relevancia de los resultados de búsqueda reordenándolas en función de su relevancia semántica a la consulta, lo que promueve las coincidencias más relevantes semánticamente en la parte superior de la lista.
La búsqueda híbrida combina diferentes tipos de búsqueda, como la búsqueda vectorial, la búsqueda de texto completo y la clasificación semántica, para mejorar aún más la relevancia de los resultados de búsqueda.
Para mejorar aún más el rendimiento del modelo, combine los tipos de búsqueda.
La manera en que los datos se almacenan y procesan la eficacia de las consultas. Cada vez que se agregan datos a un índice, se necesitan ciclos de proceso para la indexación. Si la indexación y la respuesta a las consultas se realizan en los mismos recursos de proceso, podría haber contención. Idealmente, un índice debe centrarse en el objetivo principal de responder a las consultas de forma eficaz y buscar documentos relevantes en lugar de una indexación excesiva.
El costo y el rendimiento son los principales impulsores del diseño del índice. Las técnicas como la creación de instantáneas pueden acelerar las consultas. Sin embargo, la duplicación de datos se produce a través de índices, lo que conlleva costos.
Compensación. El diseño del índice debe tener en cuenta tanto el costo como el rendimiento. Para lograr un equilibrio, optimice el almacenamiento y priorice la respuesta eficaz de consultas y la recuperación de documentos pertinentes sobre la indexación excesiva.
En el caso de las opciones tecnológicas para el almacén de datos, los índices de búsqueda, como Elasticsearch o AI Search, proporcionan funcionalidades de búsqueda eficaces, incluidas las búsquedas vectoriales y basadas en relevancia. Como alternativa, considere las opciones de base de datos que admiten el tipo de datos que tiene y los tipos de consultas que necesita porque están optimizados para realizar consultas. En última instancia, se trata de las funcionalidades que ofrecen las opciones y la inversión de crear nuevos conjuntos de aptitudes en el equipo.
Preparación de datos
Los datos en tierra se basan en los datos existentes, que deben ser adecuados para la consulta semántica. Algunas consultas para buscar documentos relevantes en el índice pueden ser coincidencias literales. Otras consultas requieren coincidencia aproximada.
Antes de que los datos contextuales estén listos para admitir solicitudes de inferencia al modelo, hay un paso de preprocesamiento inicial que tiene como objetivo limpiar, transformar y estructurar datos. El objetivo es reducir el ruido y el sesgo, buscar de forma eficaz y maximizar la relevancia de las búsquedas de índice. Las herramientas de elección o la lógica para el preprocesamiento dependen del equipo de carga de trabajo, pero hay algunas consideraciones generales.
Recopia de volúmenes de datos
La recopia de volúmenes de datos implica ajustar el ámbito de los datos al expandirlos o restringirlos para crear un índice estrecho para que se aumente la relevancia. La eficacia de las consultas es otra preocupación importante. Almacenar datos innecesarios afecta negativamente a ambos objetivos. Por ejemplo, considere la posibilidad de considerar los datos de ubicación de un usuario. Si solo la parte de la ciudad es relevante, optimice almacenando solo el texto de la ciudad en lugar del texto completo que representa la dirección.
Estas son algunas consideraciones generales.
Eliminación de datos. Conservar solo lo que es esencial para la funcionalidad del producto, descartando detalles innecesarios. Estos son algunos ejemplos comunes.
Eliminación cualitativa. Una manera de pasar de un ámbito amplio a un más estrecho más relativo es eliminar los datos de baja calidad mediante la elección selectiva de indexar los datos de origen pertinentes. El desafío radica en la identificación mediante programación del contenido que no es relevante para escenarios de inteligencia artificial. Aunque el contenido puede ser útil para otras intenciones, como la auditoría o la integridad, incluida en los riesgos de carga de trabajo de IA, lo que reduce la relevancia. Una manera de marcar este contenido es mediante metadatos que se pueden usar en el momento del rellenado del índice si el contenido se debe agregar al índice.
Datos confidenciales. La copia de datos de datos de origen a un índice también puede traer información confidencial. Respete las etiquetas de clasificación de datos aplicadas en el origen y mantenga el mismo nivel de confidencialidad en este conjunto de datos. Al tratar con datos que tienen información personal, no almacene datos personales a menos que lo necesite para responder a la consulta. Por ejemplo, aplique la clasificación de datos al indexar correos electrónicos. Si un correo electrónico está marcado como confidencial, evite almacenarlo en un almacén de datos de confidencialidad general.
Normalización y estandarización de texto. El direccionamiento de errores tipográficos y la estandarización del texto es fundamental para los índices basados en palabras clave. Un posible caso de uso es las traducciones, especialmente cuando se trabaja con contenido multilingüe.
Este tipo de preprocesamiento también es necesario para incrustaciones, lo que permite comparar palabras en función de su contexto y significado. Sin embargo, se produce un desafío a partir de la distinción entre mayúsculas y minúsculas de las palabras. El contexto es importante, y puede haber matices, como las diferencias semánticas entre el adjetivo "civic" y el nombre adecuado "(Honda) Civic".
Adición de datos. El aumento del contexto a menudo se basa en metadatos, que normalmente no están presentes en los datos de origen. Por ejemplo, considere un fragmento de código de texto. Un humano en el bucle o la inteligencia artificial crea preguntas relevantes que se pueden responder mediante el contexto del fragmento de código. Al almacenar estas preguntas junto con los datos de base, las consultas de usuario se pueden comparar con las consultas generadas para evaluar la relevancia del documento. La colocación de estos nuevos datos con datos de puesta a tierra es una manera eficaz de enriquecer los datos fragmentados.
Otro caso de uso es la adición de entidades que se encuentran al analizar datos no estructurados. Estas entidades se pueden agregar al índice y usarse para buscar y filtrar sistemas externos o usarse para realizar cálculos complejos. Por ejemplo, si identificamos un nombre de empresa, podríamos buscar su sector u otra información relevante de una base de datos externa y agregarla a nuestro índice.
Considere la posibilidad de mantener el linaje de datos. Es importante que las cargas de trabajo de inteligencia artificial realicen un seguimiento del origen de datos, ya que esa información se puede perder cuando un sistema agrega varios componentes a un índice. Es posible que esta información no se exponga nunca a los usuarios, pero la información sobre los orígenes de datos es fundamental para los equipos internos de gobernanza de datos. Estos metadatos no son necesariamente para el modelo. Ayuda a mantener la transparencia y la responsabilidad.
Compensación. Por un lado, agregar nuevos datos aumenta las posibilidades de encontrar relevancia en el conjunto de datos. Sin embargo, esta ventaja conlleva un costo. En concreto, los recursos computacionales necesarios para procesar y administrar ese campo. El tiempo dedicado a recopilar y almacenar datos puede ser considerable. Tenga en cuenta que la sobrecarga con campos innecesarios puede tensar los recursos.
Procesamiento de datos de texto. Considere técnicas como sinónimos, lematización y proximidad semántica para mejorar la relevancia. Delegue estas técnicas para herramientas si es posible. Algunas tecnologías, como Elasticsearch o la búsqueda de IA, ofrecen estas características para preprocesar datos durante la creación del índice.
Transformación del tipo de datos
Los campos de índice de un almacén de datos tienen el tipo de datos para servir a un propósito específico. Los campos numéricos facilitan la consulta eficaz, los campos de texto permiten búsquedas basadas en texto y los campos booleanos controlan la información binaria.
Normalmente, los datos de origen existen en varios tipos de datos, como texto, imágenes y tablas, y el procesamiento de esos datos pueden ser complejos. Es posible que tenga que extraer pares clave-valor, identificar encabezados de sección para la fragmentación semántica, reconocer identificadores específicos, etc.
Por ejemplo, si los datos de origen contienen imágenes, no se pueden buscar de forma inherente. Deben convertirse en representaciones vectoriales para permitir comparaciones y búsquedas semánticas eficaces. Si la relevancia está vinculada a los datos subyacentes a estos formatos, invierta en la extracción de los datos. Transforme los tipos de datos de origen en tipos de datos funcionales que ayudan a consultar y analizar.
Fragmentación e inserción
Los datos en tierra suelen contener un gran volumen de información, pero el modelo solo puede tokenizar una cantidad determinada. La fragmentación es una estrategia importante de diseño de datos porque implica dividir un documento en partes más pequeñas que se pueden procesar e indexar individualmente. Esta estrategia permite una búsqueda y recuperación eficaces a pesar de las limitaciones del token. Compruebe el número máximo de tokens que puede controlar su elección del modelo de lenguaje grande. Los fragmentos no deben superar ese límite.
Hay muchas técnicas para implementar la fragmentación. Para obtener más información, consulte Enfoques de fragmentación.
Las incrustaciones también son otra estrategia de diseño que permite funcionalidades de búsqueda vectorial. Las inserciones son una representación matemática de un objeto generado por modelos de INTELIGENCIA ARTIFICIAL basados en datos de base. Se almacenan en el índice y agregan más contexto que ayuda a las consultas complejas a generar resultados con mayor relevancia. Para más información, consulta Generar inserciones.
Mantenimiento de índices
El mantenimiento a lo largo del tiempo es un aspecto fundamental del diseño del índice. En el caso de los datos estáticos, donde los documentos permanecen sin cambios, el mantenimiento del índice es sencillo. Pero la mayoría de los índices son dinámicos. Con el tiempo, podría haber nuevos datos agregados y el esquema de índice podría necesitar nuevos campos. Por el contrario, es posible que algunos datos y campos deban eliminarse si ya no son relevantes. Las opciones de tecnología usadas habitualmente para los indexadores tienen características para controlar las actualizaciones automáticamente. Para obtener información sobre las características de índice recomendadas, vea Consideraciones para un índice de búsqueda.
Criterios de mantenimiento
Actualizaciones de funcionalidad. Es posible que sea necesario actualizar el índice si hay un cambio en la funcionalidad de la aplicación. Esta situación se produce cuando se formulan nuevas preguntas. Para dar cabida a estos cambios, es posible que tenga que agregar nuevos campos al índice o modificar las opciones de filtrado, búsqueda o procesamiento de texto en campos existentes.
Eliminación de datos. La eliminación de datos es complicada porque necesita analizar los datos disponibles y que faltan para determinar lo que es irrelevante. Para excluir contenido obsoleto de un índice, tenga en cuenta el uso de metadatos que impide que los motores de búsqueda indexe páginas o contenido específicos. Además, al elegir opciones de almacenamiento, seleccione una tecnología que admita eliminaciones de forma eficaz. Por ejemplo, Blob Storage admite eliminaciones soft. Si usa la búsqueda de IA y la carga de documentos desde el almacenamiento, Blob Storage puede detectar documentos eliminados y eliminar entradas correspondientes. Este enfoque no es ideal, pero es necesario cuando la reindexación es costosa debido a un tamaño de índice grande.
El concepto del derecho que se va a olvidar hace referencia al derecho de un individuo a quitar sus datos personales de las plataformas o bases de datos en línea. Asegúrese de que tiene directivas para quitar datos personales si se usó para el entrenamiento. Para solucionar este requisito, vuelva a indexar el conjunto de datos. Si los datos se eliminan de la base de datos transaccional, las actualizaciones de índice posteriores reflejan esos cambios.
Mantener la compatibilidad. Las aplicaciones suelen requerir estructuras de datos específicas y cualquier desviación puede interrumpir su funcionalidad. Por ejemplo, si se quita un campo y la aplicación solicita ese campo, podría producirse una condición de error. Como lo haría para una base de datos tradicional, adopte una mentalidad de compatibilidad directa para los índices y mantenga un nivel de rigor. Al realizar cambios en el índice, como agregar o quitar campos, coordinar los cambios de esquema con las actualizaciones de código.
Compensación. Las acciones de agregar, actualizar y eliminar en un índice son costosas. Tenga en cuenta la frecuencia de las actualizaciones y el costo del rendimiento en función del tamaño y la eficacia del almacén de datos. Mantener documentos obsoletos en el índice incurre en costos de almacenamiento, mantenimiento y consulta.
Estrategia de implementación
Estrategia de implementación. Hay dos estrategias principales para actualizar el índice.
Implementaciones en paralelo. En este enfoque, un nuevo índice que tiene actualizaciones reside junto con el existente. Una vez probado y totalmente operativo el nuevo índice, las consultas se cambian para usar el índice actualizado. La aplicación sigue sin tener en cuenta este modificador porque solo interactúa con el nuevo índice. Si detecta otros problemas después de implementar el nuevo índice en el uso de producción, puede revertir al índice anterior. Este enfoque minimiza el tiempo de inactividad y garantiza la disponibilidad continua.
Las actualizaciones en paralelo funcionan bien cuando el costo de volver a generar el índice es razonable y se puede completar en un período de tiempo razonable. En general, se esfuerza por mantener los índices lo más eficientes posible porque los índices más grandes consumen más recursos. Supervise y mantenga periódicamente los índices para evitar un crecimiento innecesario.
Sugerencia
Al realizar tareas de preprocesamiento de datos que consumen muchos recursos, como el reconocimiento de entidades, las búsquedas y los cálculos, considere la posibilidad de guardar una copia de los resultados. Este enfoque garantiza que, cuando necesite recompilar el índice, puede evitar rehacer todos los cálculos. Es posible que algunos cálculos ya no se apliquen debido a eliminaciones o actualizaciones, pero muchos seguirán siendo pertinentes.
Implementaciones de actualizaciones en contexto. Este enfoque modifica directamente el índice existente. Ahorrar el costo de la duplicación puede ser beneficioso, pero también presenta riesgos debido a posibles tiempos de inactividad y operaciones que consumen muchos recursos. Si el índice es grande y volver a generarlo desde cero supera la frecuencia de actualización deseada, puede considerar la posibilidad de usar actualizaciones en contexto. Sin embargo, este enfoque es difícil y conlleva el riesgo de vulnerar el objetivo de nivel de servicio (SLO).
Compensación. Evalúe el costo de realizar implementaciones en paralelo de índices frente a las actualizaciones en contexto que implementan adiciones, actualizaciones y eliminaciones. En la mayoría de los casos, debe usar actualizaciones en paralelo en lugar de actualizaciones en contexto. Cuando se vuelve a generar un índice, el proceso controla eficazmente las eliminaciones y las actualizaciones porque crea un conjunto de datos completamente nuevo. Esta estrategia ofrece la oportunidad de probar los datos. Aunque las implementaciones en paralelo duplican temporalmente los datos e incurren en costos adicionales, las ventajas de las pruebas y la evaluación del rendimiento suelen justificar este requisito de almacenamiento. Antes de hacer que un índice esté activo, examine los datos para asegurarse de que se alinea con sus expectativas.
Actualizaciones programadas. En lugar de mantener la comunicación continua en tiempo real con orígenes de datos, puede actualizar los datos en tierra periódicamente. Este enfoque garantiza que los datos permanezcan relevantes a través de las actualizaciones programadas, lo que elimina la necesidad de interacción constante.
Actualizaciones de emergencia. Se pueden producir situaciones inesperadas, como datos no deseados que se filtran accidentalmente en el índice de búsqueda. Si se produce este problema, es posible que tenga que realizar una acción inmediata, como quitar documentos específicos o ajustar los datos dentro del índice. Independientemente de la estrategia de implementación que elija, como actualizaciones en paralelo o actualizaciones en contexto, planee siempre la posibilidad de operaciones de emergencia.
Índice de actualización automática. Si la tecnología de indexación admite la actualización automática del índice para mantenerla sincronizada con un origen de datos externo, es posible que pueda procesar automáticamente los cambios en los datos. Los cambios de datos incluyen adiciones o eliminaciones, sin intervención manual. Tenga en cuenta que cada cambio desencadena una operación en el índice, que consume recursos. Es posible que el índice siga respondiendo a las consultas, pero su capacidad para controlarlas podría reducirse durante el proceso de actualización.
Operaciones de actualización
Mida el período de tiempo entre la creación o modificación de datos de origen y su adición al índice como indicador y realice un seguimiento de los SLO. Este indicador impulsa las decisiones de datos sobre cómo actualizar el diseño de la canalización de datos para asegurarse de que los datos están disponibles en el índice cuando lo necesite. Un índice solo debe ser tan fresco como sea necesario.
Para mantener la actualización, puede recompilar el índice por completo o actualizarlo de forma incremental para mantenerse sincronizado con los orígenes de datos originales. Ambos métodos garantizan que el índice permanezca actualizado y preciso.
La inversión inicial en la optimización del modelo podría ser menos costosa que implementar un patrón RAG, ingeniería rápida y métodos de aumento de datos.