Optimización del procesamiento de datos con Zilliz Cloud Pipelines: un análisis profundo de la fragmentación de documentos
Optimizar el procesamiento de datos usando Zilliz Cloud Pipelines implica examinar la fragmentación de documentos. Es un componente de la transformación de datos no estructurados en una colección vectorial consultable. Las canalizaciones de ingesta, eliminación y búsqueda de Zilliz Cloud Pipelines facilitan aún más este proceso. Cada una cumple un propósito diferente en el flujo de trabajo de procesamiento de datos.
Zilliz Cloud Pipelines desempeñan un papel en la simplificación del proceso de fragmentación de documentos y en la mejora de la capacidad de búsqueda. La plataforma habilita casos de uso con búsqueda semántica en documentos de texto y proporciona un componente fundamental para aplicaciones de Generación Aumentada por Recuperación (RAG).
Zilliz Cloud Pipelines incluyen varias funciones como SEARCH_DOC_CHUNK, que convierten el texto de la consulta en una incrustación vectorial. Luego recuperará los fragmentos de documentos relevantes top-K, lo que facilita encontrar la información relacionada según el significado de la consulta.
Zilliz Cloud Pipelines: Transformación del procesamiento de datos
Los ingenieros de Zilliz diseñaron Zilliz Cloud Pipelines para transformar datos no estructurados de diversas fuentes en una colección vectorial consultable para desarrolladores de Gen AI ocupados. Esta canalización tomará datos no estructurados, los dividirá, los convertirá en incrustaciones, los indexará y los almacenará en Zilliz Cloud con los metadatos designados. Esta arquitectura utiliza varios componentes tecnológicos clave y capacidades que mejoran el rendimiento.
Base tecnológica
Base de datos vectorial Milvus
Milvus Vector Database está diseñada para manejar datos vectoriales de alta dimensión de manera eficiente. Además, admite diferentes casos de uso, incluido Zilliz Cloud, un servicio en la nube que ayuda a los desarrolladores a centrarse en las aplicaciones principales en lugar de gestionar las operaciones de la base de datos.
Conectores
Los conectores son una herramienta integrada que conecta sin esfuerzo varias fuentes de datos, lo que permite la ingesta e indexación de datos en tiempo real para garantizar que el contenido más reciente sea accesible instantáneamente para todas las consultas de búsqueda. Escalables y adaptativos, los conectores pueden manejar sin problemas cargas de tráfico fluctuantes para una escalabilidad fluida sin complicaciones de DevOps. Sincronizan automáticamente las adiciones y eliminaciones de documentos con la colección, manteniéndola sincronizada. Además, el registro detallado proporciona observabilidad del flujo de datos, garantizando transparencia y la capacidad de detectar cualquier anomalía que pueda surgir.
Divisores de documentos
Los divisores se usan comúnmente en tareas de procesamiento de documentos y análisis de texto para dividir un documento o texto en fragmentos o segmentos más pequeños según caracteres o patrones especificados. Luego, estos fragmentos pueden procesarse o analizarse por separado. Por ejemplo, para aplicaciones de Gen AI, los divisores pueden utilizarse para dividir un texto largo en oraciones o párrafos individuales antes de convertirlo en incrustaciones vectoriales. Estas incrustaciones sirven para encontrar fragmentos semánticamente similares.
Modelos de aprendizaje automático
Los modelos de aprendizaje automático se utilizan para crear incrustaciones vectoriales. Estas incrustaciones capturan relaciones semánticas e información contextual, lo que permite que los algoritmos comprendan y procesen el lenguaje de manera más efectiva. Los modelos de aprendizaje automático de código abierto, comerciales y privados pueden instalarse on-prem o en su entorno en la nube, o ser accesibles a través de una API para generar incrustaciones vectoriales.
Reordenadores
En los sistemas de recuperación de información, un reranker refina los resultados de búsqueda iniciales para mejorar su relevancia respecto a la consulta. A diferencia de usar solo la búsqueda vectorial de vecinos más cercanos aproximados (ANN) para la recuperación, añadir un reranker puede mejorar la calidad de la búsqueda al evaluar mejor la relación semántica entre los documentos y la consulta. Para las aplicaciones de generación aumentada por recuperación (RAG), los rerankers pueden mejorar la precisión de las respuestas generadas al proporcionar un conjunto más pequeño pero de mayor calidad de documentos de contexto. Sin embargo, los rerankers son costosos desde el punto de vista computacional, lo que genera mayores costes y tiempos de latencia de consulta más largos que la recuperación ANN por sí sola. La decisión de integrar un reranker debe equilibrar la necesidad de una mayor relevancia con las restricciones de rendimiento y coste.
Capacidades
Creación de pipelines de ingesta
Los usuarios tienen la opción de crear pipelines ya sea a través de la consola de Zilliz Cloud, fácil de usar, o mediante las API RESTful, más personalizables. Este doble enfoque garantiza que los usuarios puedan adaptar su experiencia de creación de pipelines según sus necesidades y preferencias específicas, ya sea que prioricen la simplicidad o requieran opciones avanzadas de personalización. Al crear el pipeline, los usuarios pueden elegir dividir sus documentos primero y luego elegir entre uno de seis modelos (zilliz/bge-base-en-v1.5, voyageai/voyage-2, voyageai/voyage-code-2, openai/text-embedding-3-small, and openai/text-embedding-3-large. Para el idioma chino, solo zilliz/bge-base-zh-v1.5) para crear embeddings vectoriales. También pueden guardar cualquier metadato pertinente que sea útil durante la recuperación.
Conexión de fuentes de datos
Los conectores, como herramientas integrales en Zilliz Cloud, están diseñados para simplificar el proceso de vincular diversas fuentes de datos con una base de datos vectorial. Con las instrucciones intuitivas proporcionadas en la interfaz de usuario (UI), los usuarios pueden integrar sin esfuerzo varias fuentes de datos en sus pipelines. Esto no solo mejora la versatilidad y amplitud de sus capacidades de procesamiento de datos, sino que también subraya la naturaleza fácil de usar de Zilliz Cloud.
Por ejemplo, un conector sirve como mecanismo para ingerir datos en Zilliz Cloud desde una variedad de fuentes, incluidas Object Storage, Kafka (próximamente disponible) y más. Tomando como ejemplo el conector de almacenamiento de objetos, permite a los usuarios supervisar un directorio dentro de un bucket de almacenamiento de objetos y sincronizar archivos como PDF y HTML con Zilliz Cloud Pipelines. Posteriormente, estos archivos pueden convertirse en representaciones vectoriales y almacenarse en la base de datos vectorial para búsquedas. Con pipelines dedicados de ingesta y eliminación, los archivos y sus representaciones vectoriales correspondientes dentro de Zilliz Cloud permanecen sincronizados. La colección de la base de datos vectorial refleja automáticamente cualquier adición o eliminación de archivos en el almacenamiento de objetos, garantizando la consistencia y precisión de los datos.
Ejecución del pipeline de búsqueda
Una vez creados los pipelines, pueden ejecutarse para procesar datos no estructurados, facilitando diversas funcionalidades dentro del ecosistema de Zilliz Cloud. Por ejemplo, al crear un pipeline de ingesta, los usuarios pueden iniciar su ejecución para transformar datos no estructurados en embeddings vectoriales buscables. Estos embeddings pueden almacenarse luego en una base de datos vectorial de Zilliz Cloud, mejorando la accesibilidad y eficiencia de la recuperación de datos.
De manera similar, al crear un pipeline de búsqueda, los usuarios pueden ejecutarlo, lo que permite al sistema realizar una búsqueda semántica. Esta funcionalidad permite a los usuarios explorar y recuperar información relevante de la base de datos vectorial, aprovechando el poder del análisis semántico para refinar los resultados de búsqueda.
Además, al crear un pipeline de eliminación, los usuarios pueden iniciar su ejecución eliminando todos los fragmentos asociados con un documento especificado de una colección dentro de la base de datos vectorial. Esta capacidad garantiza la integridad y limpieza de la base de datos al facilitar la eliminación de fragmentos de datos innecesarios u obsoletos.
Estimación del coste del pipeline
El costo asociado con la ejecución de pipelines se cuantifica en términos de tokens, que sirven como la unidad fundamental de medición. De manera análoga a cómo los Large Language Models (LLMs) utilizan tokens como los bloques básicos de construcción, los pipelines realizan el procesamiento de documentos y la ejecución de consultas de búsqueda analizando e incrustando texto como una secuencia de tokens. Los usuarios pueden aprovechar nuestra herramienta Estimate Pipeline Usage para obtener información sobre las implicaciones de costo de ejecutar un pipeline. Esta herramienta facilita el conteo de tokens dentro de un archivo o cadena de texto, lo que permite a los usuarios estimar la utilización prevista de recursos y los costos asociados de ejecutar un pipeline. Esta herramienta permite a los usuarios tomar decisiones informadas sobre la asignación de recursos y la presupuestación, garantizando una eficiencia y rentabilidad óptimas en sus operaciones de pipeline.
Reordenamiento de resultados de búsqueda
La recuperación inicial solo con búsqueda vectorial Approximate Nearest Neighbor (ANN) es muy eficiente y a menudo produce resultados satisfactorios. En muchas situaciones, la etapa secundaria de reordenamiento puede considerarse opcional. Para aplicaciones con altos estándares de calidad, emplear un reranker puede mejorar la precisión, aunque con mayores demandas computacionales y tiempos de búsqueda más prolongados. Normalmente, integrar un modelo de reranker puede añadir de 100 ms a unos pocos segundos de latencia a la consulta de búsqueda, dependiendo de factores como la selección topK y el tamaño del modelo de reranker. Cuando la recuperación inicial produce documentos incorrectos o irrelevantes, usar un reranker los filtra eficazmente, mejorando así la calidad de la respuesta final generada.
Si se considera que un reranker es necesario para su caso de uso, puede elegirlo desde la UI.
Ventajas
Creación flexible de pipelines: Los usuarios pueden crear pipelines a través de la consola intuitiva de Zilliz Cloud o de las RESTful APIs más personalizables. Este enfoque dual permite a los usuarios adaptar la experiencia de creación de pipelines a sus necesidades y preferencias específicas, ya sea que prioricen la simplicidad o requieran opciones avanzadas de personalización.
Integración fluida de fuentes de datos: Los conectores en Zilliz Cloud simplifican la vinculación de diversas fuentes de datos con una base de datos vectorial. Con instrucciones intuitivas en la interfaz de usuario (UI), los usuarios pueden integrar sin esfuerzo varias fuentes de datos en sus pipelines, mejorando la versatilidad y amplitud de sus capacidades de procesamiento de datos.
Estimación y optimización de costos: Zilliz Cloud proporciona una herramienta Estimate Pipeline Usage que ayuda a los usuarios a estimar la utilización prevista de recursos y los costos asociados del pipeline. Los usuarios pueden tomar decisiones informadas sobre la asignación de recursos y la presupuestación contando tokens dentro de un archivo o cadena de texto, garantizando una eficiencia y rentabilidad óptimas en sus operaciones de pipeline.
Pipelines de Zilliz Cloud
Pipelines de ingesta
El propósito principal de los pipelines de ingesta es que están diseñados para procesar datos no estructurados, como fragmentos de texto y documentos, en embeddings vectoriales buscables. Contienen una función INDEX_DOC, que divide el documento de texto de entrada en varios fragmentos y genera un embedding vectorial para cada fragmento. El campo de entrada (doc_url) se asigna a cuatro campos de salida (doc_name, chunk_id, chunk_text y embedding) como los campos escalares y vectoriales de la colección generada automáticamente.
Pipelines de búsqueda
El proceso de los pipelines de búsqueda es bastante sencillo. Ayuda a la búsqueda semántica convirtiendo una cadena de consulta en un embedding vectorial y recuperando los top-K vectores con sus metadatos y texto correspondiente. Para esto, se utiliza una función llamada SEARCH_DOC_CHUNK.
Pipelines de eliminación
Los pipelines de eliminación se utilizan para eliminar todos los fragmentos de un documento especificado de una colección. Esto facilita purgar todos los datos de un documento. Hay una función llamada PURGE_DOC_INDEX que elimina todos los fragmentos de documentos que tienen un doc_name especificado.
La mecánica de la fragmentación de documentos
El objetivo del chunking es, como su nombre indica, descomponer la información en múltiples piezas más pequeñas para almacenarla de forma más eficiente y significativa. Esto permite que la recuperación capture piezas de información que estén más relacionadas con la pregunta y que la generación sea más precisa pero menos costosa, ya que solo una parte de un documento se incluirá en el prompt del LLM en lugar de todo el documento. Por último, el chunking de documentos hace que la capacidad de búsqueda sea eficiente porque la información se recupera basándose en la comprensión semántica en lugar de coincidencias exactas.
Con Zilliz Cloud Pipelines, puedes dividir documentos en oraciones, párrafos, líneas o una lista de cadenas personalizadas. Además, puedes definir el tamaño del chunk. De forma predeterminada, cada uno contiene como máximo 500 tokens. La siguiente tabla enumera la relación de correspondencia entre los modelos aplicables y sus rangos de tamaño de chunk correspondientes.
| Modelo | Rango de tamaño de chunk |
|---|---|
| zilliz/bge-base-en-v1.5 | 20-500 tokens |
| zilliz/bge-base-zh-v1.5 | 20-500 tokens |
| voyageai/voyage-2 | 20-3,000 tokens |
| voyageai/voyage-code-2 | 20-12,000 tokens |
| voyageai/voyage-large-2 | 20-12,000 tokens |
| openai/text-embedding-3-small | 250-8,191 tokens |
| openai/text-embedding-3-large | 250-8,191 tokens |
Aplicaciones prácticas y beneficios del chunking de documentos
El chunking de documentos tiene una amplia variedad de aplicaciones prácticas en diversos dominios. Al descomponer los datos de texto en piezas manejables, se ofrece un enfoque más optimizado para manejar grandes volúmenes de datos no estructurados. Las siguientes son algunas de las aplicaciones reales del chunking de documentos.
Aplicaciones reales
Gestión de contenido
En la gestión de contenido, el proceso de chunking de documentos facilita indexar y recuperar documentos grandes al dividirlos en piezas pequeñas. Este enfoque hace que la búsqueda sea eficiente y permite a los usuarios encontrar rápidamente la información deseada.
Investigación
El chunking de documentos resulta útil en el ámbito de la investigación para indexar artículos académicos, informes y artículos de investigación. Debido a esto, los investigadores pueden buscar sus segmentos específicos de interés.
Legal
El chunking de documentos también ayuda en el ámbito legal. El chunking facilita la búsqueda de cláusulas específicas, contratos, términos y decisiones judiciales. Esto mejora la precisión y la eficiencia de la investigación jurídica.
Médico
Los profesionales médicos también pueden usar el chunking de documentos para procesar e indexar los historiales médicos de los pacientes, las guías clínicas y los artículos de investigación. Esto les ayuda a acceder a información médica crítica sin demora.
Beneficios
El chunking ofrece tres beneficios clave en el contexto de los modelos de Generación Aumentada por Recuperación (RAG):
- Precisión mejorada: Al descomponer el texto en chunks más pequeños y manejables, el chunking permite que el proceso de recuperación capture información específicamente relevante para la consulta. Esto mejora la precisión de los resultados de búsqueda y garantiza que la información recuperada se alinee estrechamente con los requisitos del usuario.
- Costos computacionales reducidos: El chunking minimiza los costos computacionales al incluir solo las partes relevantes del documento en el prompt del modelo de lenguaje. Al evitar información innecesaria, el chunking ayuda a optimizar la sobrecarga de procesamiento, lo que da como resultado procesos de recuperación y generación de texto más eficientes.
- Coherencia y relevancia mejoradas: Las estrategias de chunking, como el Chunking Específico de Documentos, respetan la organización original del documento, creando chunks alineados con secciones lógicas como párrafos o subsecciones. Este enfoque mantiene la coherencia y la relevancia del texto, particularmente en documentos estructurados, lo que conduce a resultados de búsqueda más significativos y contextualmente apropiados.
Implementación del chunking de documentos con Zilliz Cloud Pipelines: una guía paso a paso
Implementar la fragmentación de documentos con Zilliz Cloud Pipelines implica una serie de pasos. La guía completa incluye configuración inicial, configuraciones, mejores prácticas y estrategias de optimización. Los puntos clave implican registrarse en Zilliz Cloud, crear pipelines, indexar documentos y personalizar estrategias de fragmentación.
Configuración inicial y configuración
Registrarse o iniciar sesión
El primer paso implica registrarse o iniciar sesión en la cuenta de Zilliz Cloud. Esto le ayudará a acceder al Servicio de Zilliz Cloud Pipelines.
Crear pipelines
Los usuarios deben seguir las instrucciones proporcionadas por Zilliz para crear los pipelines de ingesta, búsqueda y eliminación. Asegúrese de anotar el ID del pipeline de búsqueda y la API-Key para operaciones posteriores.
Método de Web UI
- Navegue a su proyecto
- Vaya a su proyecto usando Zilliz Cloud Web UI.
- En el panel de navegación, seleccione la opción “Pipelines”.
- Navegue a la pestaña “Overview” y luego seleccione “Pipelines”.
- Haga clic en “+Pipeline” para crear un nuevo pipeline.
- Elija el tipo de pipeline
- Seleccione el botón “+Pipeline” para crear un nuevo pipeline.
- Asegúrese de crear el pipeline de ingesta antes que los pipelines de búsqueda y eliminación.
- Configure el pipeline de ingesta
- Haga clic en el clúster donde se creará la nueva colección.
- Introduzca el nombre de la colección recién creada.
- Proporcione un nombre siguiendo las restricciones de formato.
- Describa el pipeline si lo desea.
- Añada funciones al pipeline
- ·Use la función INDEX_DOC, ya que divide el documento en fragmentos más pequeños, vectoriza cada fragmento y guarda las incrustaciones vectoriales.
- Use la función PRESERVE para añadir campos escalares a la colección durante la ingesta de datos.
- Personalización de la estrategia de fragmentación
- Personalice el divisor para determinar cómo se divide el documento en fragmentos. Use caracteres como “.”, “\n” o cualquier otra cadena personalizada.
- Guarde la configuración de su pipeline
- Después de añadir y configurar funciones, ahora es el momento de guardar su pipeline.
- Haga clic en “Create Ingestion Pipeline”.
Método de RESTful API
Cree un pipeline de ingesta mediante API. Use el comando curl para crear un pipeline de ingesta.
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${YOUR_API_KEY}" \
--url "https://controller.api.{cloud-region}.zillizcloud.com/v1/pipelines" \
-d '{
"projectId": "proj-xxxx",
"name": "my_doc_ingestion_pipeline",
"description": "Pipeline description",
"type": "INGESTION",
"functions": [
{
"name": "index_my_doc",
"action": "INDEX_DOC",
"inputField": "doc_url",
"language": "ENGLISH",
"chunkSize": 500,
"embedding": "zilliz/bge-base-en-v1.5",
"splitBy": ["\n\n", "\n", " "]
},
{
"name": "keep_doc_info",
"action": "PRESERVE",
"inputField": "publish_year",
"outputField": "publish_year",
"fieldType": "Int16"
}
],
"clusterId": "${CLUSTER_ID}",
"newCollectionName": "my_new_collection"
}'
- Gestión de pipelines
- Ver y gestionar pipelines
- Haga clic en “Pipelines” para ver los pipelines disponibles junto con sus detalles y uso de tokens.
- Use una solicitud GET mediante API para listar o ver los detalles de los pipelines.
- Ejecutar pipelines
- Para procesar y almacenar datos en formato vectorial, ejecute el pipeline de ingesta.
- Ahora ejecute el pipeline de búsqueda para realizar las búsquedas semánticas.
- Utilice el pipeline de eliminación para eliminar fragmentos de documentos no deseados de la colección.
- Estimar el uso del pipeline
- Puede ver el uso de tokens para ejecutar pipelines con la ayuda de Zilliz’s Web UI.
- Eliminar pipeline
- Puede eliminar el pipeline que no se haya usado mediante API (solicitud GET) o usando la web UI.
Indexar documentos
Los usuarios pueden introducir la URL del documento en el campo doc_url cuando estén en el área de pruebas del pipeline. Si desean ingerir el documento, harán clic en “RUN” y el proceso se completará. Este paso convierte el documento en una colección vectorial que permite búsquedas.
Personalizar la estrategia de fragmentación
Con Zilliz Cloud Pipelines puedes personalizar la estrategia de fragmentación. Los usuarios pueden definir el tamaño del fragmento mediante un divisor que se utiliza para dividir el documento en fragmentos. Además, también se pueden especificar separadores personalizados para oraciones, líneas y párrafos.
Elige un modelo
Elige un modelo para generar embeddings vectoriales en función del tamaño de fragmento deseado y del tamaño total de tu documento. Zilliz Cloud Pipelines ofrece compatibilidad con varios modelos, cada uno con su propio rango de tamaño de fragmento.
Mejores prácticas
- Experimenta con diferentes tamaños de fragmento para encontrar el equilibrio óptimo entre la calidad de recuperación y la eficiencia.
- Usa la función de divisor para dividir los documentos en fragmentos pequeños según criterios específicos, como párrafos, separadores personalizados u oraciones.
- Sigue comprobando el uso de la pipeline y ten en cuenta los límites de Zilliz Cloud.
Consejos de solución de problemas y estrategias de optimización
- Tu documento debe ser compatible con la función INDEX_DOC.
- Para archivos markdown o HTML, la función INDEX_DOC divide el documento por encabezados y luego las secciones más grandes según el tamaño de fragmento especificado. Por lo tanto, asegúrate de ajustar el tamaño de fragmento en consecuencia.
- Si el modelo elegido no está dando los mejores resultados, también puedes experimentar con otros modelos.
Conclusión
Zilliz Cloud Pipelines convierten datos no estructurados en una colección vectorial consultable. Tienen un impacto significativo en el procesamiento de datos y la búsqueda semántica. Zilliz Cloud Pipelines pueden buscar imágenes, fotogramas de video y documentos multimodales. En el futuro se añadirán pipelines adicionales para estos tipos de búsquedas.
En resumen, Zilliz Cloud Pipelines ha cambiado por completo el procesamiento de datos y la búsqueda semántica al optimizar el proceso de fragmentación de documentos y mejorar la capacidad de búsqueda. Al trabajar con datos no estructurados, sus funciones, que incluyen la capacidad de crear pipelines para ingesta, búsqueda y eliminación, lo convierten en una herramienta invaluable para desarrolladores e ingenieros de datos. La plataforma promete revolucionar aún más la forma en que procesamos y buscamos información al enfatizar la eficiencia, la escalabilidad y la facilidad de uso. Esto fomenta la exploración y la integración en diversos flujos de trabajo de datos.
Si quieres probar Zilliz Cloud Pipelines por tu cuenta, prueba este bootcamp titulado Build RAG using Zilliz Cloud Pipelines.
Sigue leyendo

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.


