Оптимизация обработки данных с помощью Zilliz Cloud Pipelines: глубокое погружение в разбиение документов на фрагменты
Оптимизация обработки данных с использованием Zilliz Cloud Pipelines включает рассмотрение разбиения документов на фрагменты. Это компонент преобразования неструктурированных данных в searchable vector collection. Конвейеры загрузки, удаления и поиска Zilliz Cloud Pipelines дополнительно упрощают этот процесс. Каждый из них служит отдельной цели в рабочем процессе обработки данных.
Zilliz Cloud Pipelines играют роль в упрощении процесса разбиения документов на фрагменты и повышении возможности поиска. Платформа обеспечивает сценарии использования с семантическим поиском в текстовых документах и предоставляет критически важный строительный блок для приложений Retrieval-Augmented Generation (RAG).
Zilliz Cloud Pipelines включают различные функции, такие как SEARCH_DOC_CHUNK, которые преобразуют текст запроса в vector embedding. Затем она извлечет top-K релевантных фрагментов документов, что упрощает поиск связанной информации на основе смысла запроса.
Zilliz Cloud Pipelines: преобразование обработки данных
Инженеры Zilliz разработали Zilliz Cloud Pipelines, чтобы преобразовывать неструктурированные данные из различных источников в searchable vector collection для занятых разработчиков Gen AI. Этот конвейер принимает неструктурированные данные, разбивает их, преобразует в embeddings, индексирует и сохраняет в Zilliz Cloud с заданными метаданными. Эта архитектура использует различные ключевые технологические компоненты и возможности, которые повышают производительность.
Технологическая основа
Milvus Vector Database
Milvus Vector Database разработана для эффективной обработки высокоразмерных векторных данных. Она также поддерживает различные сценарии использования, включая Zilliz Cloud, облачный сервис, который помогает разработчикам сосредоточиться на основных приложениях, а не на управлении операциями базы данных.
Connectors
Connectors — это встроенный инструмент, который без труда подключает различные источники данных, обеспечивая загрузку и индексирование данных в реальном времени, чтобы самый свежий контент был мгновенно доступен для всех поисковых запросов. Масштабируемые и адаптивные, connectors могут бесшовно справляться с колеблющимися нагрузками трафика для плавной масштабируемости без каких-либо хлопот с DevOps. Они автоматически синхронизируют добавления и удаления документов с collection, поддерживая ее в актуальном состоянии. Кроме того, подробное логирование обеспечивает наблюдаемость dataflow, гарантируя прозрачность и возможность выявлять любые возникающие аномалии.
Document Splitters
Splitters обычно используются в задачах обработки документов и анализа текста для разделения документа или текста на более мелкие фрагменты или сегменты на основе заданных символов или шаблонов. Эти фрагменты затем можно обрабатывать или анализировать отдельно. Например, для приложений Gen AI splitters могут использоваться для разбиения длинного текста на отдельные предложения или абзацы перед преобразованием его в vector embeddings. Эти embeddings предназначены для поиска семантически похожих фрагментов.
Machine Learning Models
Machine learning models используются для создания Vector embeddings. Эти embeddings фиксируют семантические отношения и контекстную информацию, позволяя алгоритмам более эффективно понимать и обрабатывать язык. Open source, коммерческие и частные machine learning models могут быть установлены on-prem или в вашей облачной среде либо доступны через API для генерации vector embeddings.
Rerankers
В системах информационного поиска реранкер уточняет первоначальные результаты поиска, чтобы повысить их релевантность запросу. В отличие от простого поиска приблизительных ближайших соседей по векторам (ANN) для извлечения, добавление реранкера может повысить качество поиска за счет более точной оценки семантической связи между документами и запросом. Для приложений генерации с дополненным извлечением (RAG) реранкеры могут повысить точность генерируемых ответов, предоставляя меньший, но более качественный набор контекстных документов. Однако реранкеры требуют значительных вычислительных ресурсов, что приводит к увеличению затрат и более длительному времени задержки запросов по сравнению с одним только ANN-извлечением. Решение об интеграции реранкера должно учитывать баланс между необходимостью повышения релевантности и ограничениями производительности и стоимости.
Возможности
Создание конвейера приема данных
Пользователи могут создавать конвейеры либо через удобную консоль Zilliz Cloud, либо с помощью более настраиваемых RESTful APIs. Такой двойной подход гарантирует, что пользователи могут адаптировать процесс создания конвейера в соответствии со своими конкретными потребностями и предпочтениями, независимо от того, ценят ли они простоту или требуют расширенных возможностей настройки. При создании конвейера пользователи могут сначала выбрать разбиение своих документов, а затем выбрать одну из шести моделей (zilliz/bge-base-en-v1.5, voyageai/voyage-2, voyageai/voyage-code-2, openai/text-embedding-3-small, and openai/text-embedding-3-large. Для китайского языка — только zilliz/bge-base-zh-v1.5) для создания векторных эмбеддингов. Они также могут сохранить любые соответствующие метаданные, которые будут полезны при извлечении.
Подключение источника данных
Коннекторы, являясь неотъемлемыми инструментами в Zilliz Cloud, предназначены для упрощения процесса связывания различных источников данных с векторной базой данных. Благодаря интуитивно понятным инструкциям, предоставленным в пользовательском интерфейсе (UI), пользователи могут без труда интегрировать различные источники данных в свои конвейеры. Это не только повышает универсальность и масштабируемость их возможностей обработки данных, но и подчеркивает удобство использования Zilliz Cloud.
Например, коннектор служит механизмом для приема данных в Zilliz Cloud из ряда источников, включая Object Storage, Kafka (скоро будет доступен) и другие. Если взять в качестве примера коннектор объектного хранилища, он позволяет пользователям отслеживать каталог внутри бакета объектного хранилища и синхронизировать такие файлы, как PDFs и HTML, с Zilliz Cloud Pipelines. Впоследствии эти файлы могут быть преобразованы в векторные представления и сохранены в векторной базе данных для поиска. Благодаря выделенным конвейерам приема и удаления данных файлы и соответствующие им векторные представления в Zilliz Cloud остаются синхронизированными. Коллекция векторной базы данных автоматически отражает любое добавление или удаление файлов в объектном хранилище, обеспечивая согласованность и точность данных.
Запуск поискового конвейера
После создания конвейеров их можно выполнять для обработки неструктурированных данных, обеспечивая различные функциональные возможности в экосистеме Zilliz Cloud. Например, после создания конвейера приема данных пользователи могут запустить его выполнение, чтобы преобразовать неструктурированные данные в доступные для поиска векторные эмбеддинги. Затем эти эмбеддинги могут быть сохранены в векторной базе данных Zilliz Cloud, повышая доступность и эффективность извлечения данных.
Аналогично, после создания поискового конвейера пользователи могут запустить его, что позволит системе выполнять семантический поиск. Эта функциональность позволяет пользователям исследовать и извлекать релевантную информацию из векторной базы данных, используя возможности семантического анализа для уточнения результатов поиска.
Кроме того, после создания конвейера удаления пользователи могут запустить его выполнение, удалив все фрагменты, связанные с указанным документом, из коллекции в векторной базе данных. Эта возможность обеспечивает целостность и чистоту базы данных, облегчая удаление ненужных или устаревших фрагментов данных.
Оценка стоимости конвейера
Стоимость, связанная с запуском pipelines, измеряется в токенах, которые служат фундаментальной единицей измерения. По аналогии с тем, как Large Language Models (LLMs) используют токены в качестве базовых строительных блоков, pipelines выполняют обработку документов и выполнение поисковых запросов, разбирая и встраивая текст как последовательность токенов. Пользователи могут воспользоваться нашим инструментом Estimate Pipeline Usage, чтобы получить представление о стоимостных последствиях выполнения pipeline. Этот инструмент упрощает подсчет токенов в файле или текстовой строке, позволяя пользователям оценить ожидаемое использование ресурсов и связанные затраты на запуск pipeline. Этот инструмент позволяет пользователям принимать обоснованные решения относительно распределения ресурсов и бюджетирования, обеспечивая оптимальную эффективность и экономичность операций с pipeline.
Переранжирование результатов поиска
Начальное извлечение только с помощью векторного поиска Approximate Nearest Neighbor (ANN) очень эффективно и часто дает удовлетворительные результаты. Во многих ситуациях вторичный этап переранжирования может считаться необязательным. Для приложений с высокими стандартами качества использование reranker может повысить точность, хотя и с увеличением вычислительных затрат и времени поиска. Как правило, интеграция модели reranker может добавить к поисковому запросу от 100 мс до нескольких секунд задержки, в зависимости от таких факторов, как выбор topK и размер модели reranker. Когда начальное извлечение возвращает некорректные или нерелевантные документы, использование reranker эффективно отфильтровывает их, тем самым улучшая качество итогового сгенерированного ответа.
Если reranker считается необходимым для вашего сценария использования, вы можете выбрать его в UI.
Преимущества
Гибкое создание Pipeline: Пользователи могут создавать pipelines через удобную консоль Zilliz Cloud или более настраиваемые RESTful APIs. Этот двойной подход позволяет пользователям адаптировать процесс создания pipeline к своим конкретным потребностям и предпочтениям, независимо от того, отдают ли они приоритет простоте или нуждаются в расширенных возможностях настройки.
Бесшовная интеграция источников данных: Connectors в Zilliz Cloud упрощают связывание разнообразных источников данных с векторной базой данных. Благодаря интуитивно понятным инструкциям в пользовательском интерфейсе (UI) пользователи могут без труда интегрировать различные источники данных в свои pipelines, повышая универсальность и масштабируемость своих возможностей обработки данных.
Оценка и оптимизация затрат: Zilliz Cloud предоставляет инструмент Estimate Pipeline Usage, который помогает пользователям оценить ожидаемое использование ресурсов и связанные затраты на pipeline. Пользователи могут принимать обоснованные решения относительно распределения ресурсов и бюджетирования, подсчитывая токены в файле или текстовой строке, обеспечивая оптимальную эффективность и экономичность операций с pipeline.
Zilliz Cloud pipelines
Ingestion Pipelines
Основная цель ingestion pipelines заключается в том, что они предназначены для обработки неструктурированных данных, таких как текстовые фрагменты и документы, в доступные для поиска векторные embeddings. Они содержат функцию INDEX_DOC, которая разбивает входной текстовый документ на различные chunks и генерирует vector embedding для каждого chunk. Входное поле (doc_url) сопоставляется с четырьмя выходными полями (doc_name, chunk_id, chunk_text и embedding) как скалярные и векторные поля автоматически сгенерированной коллекции.
Search Pipelines
Процесс search pipelines довольно прост. Он помогает semantic search, преобразуя строку запроса в vector embedding и извлекая top-K vectors с их metadata и соответствующим текстом. Для этого используется функция с именем SEARCH_DOC_CHUNK.
Deletion Pipelines
Deletion pipelines используются для удаления всех chunks в указанном документе из коллекции. Это упрощает очистку всех данных документа. Существует функция с именем PURGE_DOC_INDEX, которая удаляет все document chunks, имеющие указанный doc_name.
Механика разбиения документов на chunks
Цель чанкинга, как следует из его названия, — разбить информацию на несколько более мелких частей, чтобы хранить ее более эффективно и осмысленно. Это позволяет при извлечении находить фрагменты информации, которые больше связаны с вопросом, а при генерации — быть более точной, но менее затратной, поскольку в prompt LLM будет включена только часть документа, а не весь документ. Наконец, чанкинг документов делает поиск эффективным, поскольку информация извлекается на основе семантического понимания, а не точных совпадений.
С помощью Zilliz Cloud Pipelines вы можете разделять документы на предложения, абзацы, строки или список настраиваемых строк. Кроме того, вы можете определить размер чанка. По умолчанию каждый содержит не более 500 токенов. В следующей таблице приведено соответствие между применимыми моделями и соответствующими диапазонами размеров чанков.
| Модель | Диапазон размера чанка |
|---|---|
| zilliz/bge-base-en-v1.5 | 20-500 токенов |
| zilliz/bge-base-zh-v1.5 | 20-500 токенов |
| voyageai/voyage-2 | 20-3,000 токенов |
| voyageai/voyage-code-2 | 20-12,000 токенов |
| voyageai/voyage-large-2 | 20-12,000 токенов |
| openai/text-embedding-3-small | 250-8,191 токенов |
| openai/text-embedding-3-large | 250-8,191 токенов |
Практические применения и преимущества чанкинга документов
Чанкинг документов имеет широкий спектр практических применений в различных областях. Разбивая текстовые данные на управляемые части, он предлагает более упорядоченный подход к обработке больших объемов неструктурированных данных. Ниже приведены некоторые реальные применения чанкинга документов.
Реальные применения
Управление контентом
В управлении контентом процесс чанкинга документов упрощает индексирование и извлечение больших документов за счет их разбиения на небольшие части. Такой подход делает поиск эффективным и позволяет пользователям быстро находить нужную информацию.
Исследования
Чанкинг документов полезен в исследовательской сфере для индексирования научных статей, отчетов и исследовательских публикаций. Благодаря этому исследователи могут искать конкретные интересующие их сегменты.
Юридическая сфера
Чанкинг документов также помогает в юридической сфере. Чанкинг облегчает поиск конкретных положений, договоров, условий и судебных решений. Это повышает точность и эффективность юридических исследований.
Медицина
Медицинские специалисты также могут использовать чанкинг документов для обработки и индексирования медицинских карт пациентов, клинических рекомендаций и исследовательских работ. Это помогает им без задержек получать доступ к критически важной медицинской информации.
Преимущества
Чанкинг предлагает три ключевых преимущества в контексте моделей Retrieval Augmented Generation (RAG):
- Повышенная точность: разбивая текст на более мелкие, более управляемые чанки, чанкинг позволяет процессу извлечения захватывать информацию, конкретно релевантную запросу. Это повышает точность результатов поиска и гарантирует, что извлеченная информация максимально соответствует требованиям пользователя.
- Снижение вычислительных затрат: чанкинг минимизирует вычислительные затраты, включая в prompt языковой модели только релевантные части документа. Избегая лишней информации, чанкинг помогает оптимизировать вычислительные накладные расходы, что приводит к более эффективным процессам извлечения и генерации текста.
- Улучшенная связность и релевантность: стратегии чанкинга, такие как Document Specific Chunking, учитывают исходную организацию документа, создавая чанки, согласованные с логическими разделами, такими как абзацы или подразделы. Такой подход сохраняет связность и релевантность текста, особенно для структурированных документов, что приводит к более осмысленным и контекстуально уместным результатам поиска.
Реализация чанкинга документов с помощью Zilliz Cloud Pipelines: пошаговое руководство
Реализация разбиения документов на фрагменты с помощью Zilliz Cloud Pipelines включает ряд шагов. Подробное руководство охватывает настройку, конфигурации, лучшие практики и стратегии оптимизации. Ключевые моменты включают регистрацию в Zilliz Cloud, создание pipelines, индексирование документов и настройку стратегий разбиения на фрагменты.
Настройка и конфигурация
Зарегистрируйтесь или войдите
Первый шаг включает регистрацию или вход в учетную запись Zilliz Cloud. Это поможет вам получить доступ к Zilliz Cloud Pipelines Service.
Создайте Pipelines
Пользователи должны следовать инструкциям, предоставленным Zilliz, чтобы создать pipelines для ingestion, search и deletion. Обязательно запишите search pipeline ID и API-Key для дальнейших операций.
Метод Web UI
- Перейдите в свой проект
- Перейдите в свой проект с помощью Zilliz Cloud Web UI.
- На панели навигации выберите опцию “Pipelines”.
- Перейдите на вкладку “Overview”, а затем выберите “Pipelines”.
- Нажмите “+Pipeline”, чтобы создать новый pipeline.
- Выберите тип Pipeline
- Нажмите кнопку “+Pipeline”, чтобы создать новый pipeline.
- Обязательно создайте ingestion pipeline перед search и deletion pipelines.
- Настройте Ingestion Pipeline
- Нажмите на кластер, в котором будет создана новая коллекция.
- Введите имя вновь созданной коллекции.
- Укажите имя, соблюдая ограничения формата.
- Опишите pipeline, если хотите.
- Добавьте функции в Pipeline
- ·Используйте функцию INDEX_DOC, поскольку она делит документ на более мелкие фрагменты, векторизует каждый фрагмент и сохраняет векторные embeddings.
- Используйте функцию PRESERVE, чтобы добавить скалярные поля в коллекцию во время ingestion данных.
- Настройка стратегии разбиения на фрагменты
- Настройте splitter, чтобы определить, как документ делится на фрагменты. Используйте такие символы, как “.”, “\n” или любые другие пользовательские строки.
- Сохраните конфигурацию Pipeline
- После добавления и настройки функций пришло время сохранить ваш pipeline.
- Нажмите “Create Ingestion Pipeline”.
Метод RESTful API
Создайте Ingestion Pipeline через API. Используйте команду curl, чтобы создать ingestion pipeline.
--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"
}'
- Управление Pipelines
- Просмотр и управление Pipelines
- Нажмите “Pipelines”, чтобы увидеть доступные pipelines вместе с их сведениями и использованием токенов.
- Используйте GET-запрос через API, чтобы перечислить или просмотреть сведения о pipelines.
- Запуск Pipelines
- Чтобы обработать и сохранить данные в векторном формате, запустите ingestion pipeline.
- Теперь выполните search pipeline, чтобы выполнить семантический поиск.
- Используйте deletion pipeline, чтобы удалить нежелательные фрагменты документов из коллекции.
- Оценка использования Pipeline
- Вы можете увидеть использование токенов для запуска pipelines с помощью Zilliz’s Web UI.
- Удаление Pipeline
- Вы можете удалить pipeline, который не использовался, через API (GET-запрос) или с помощью web UI.
Индексируйте документы
Пользователи могут ввести URL документа в поле doc_url, находясь в pipeline playground. Если они хотят выполнить ingestion документа, они нажмут “RUN”, и процесс будет выполнен. Этот шаг преобразует документ в векторную коллекцию с возможностью поиска.
Настройка стратегии разбиения на фрагменты
С Zilliz Cloud Pipelines вы можете настраивать стратегию разбиения на фрагменты. Пользователи могут задать размер фрагмента с помощью splitter, который используется для разделения документа на фрагменты. Кроме того, можно также указать пользовательские разделители для предложений, строк и абзацев.
Выберите модель
Выберите модель для генерации векторных эмбеддингов на основе желаемого размера фрагмента и общего размера вашего документа. Zilliz Cloud Pipelines поддерживает различные модели, каждая из которых имеет собственный диапазон размеров фрагментов.
Рекомендации
- Экспериментируйте с разными размерами фрагментов, чтобы найти оптимальный баланс между качеством извлечения и эффективностью.
- Используйте функцию splitter, чтобы разделять документы на небольшие фрагменты на основе конкретных критериев, таких как абзацы, пользовательские разделители или предложения.
- Регулярно проверяйте использование pipeline и учитывайте лимиты Zilliz Cloud.
Советы по устранению неполадок и стратегии оптимизации
- Ваш документ должен быть совместим с функцией INDEX_DOC.
- Для файлов markdown или HTML функция INDEX_DOC разделяет документ по заголовкам, затем — на более крупные разделы на основе указанного размера фрагмента. Поэтому убедитесь, что размер фрагмента настроен соответствующим образом.
- Если выбранная модель не дает лучших результатов, вы также можете поэкспериментировать с другими моделями.
Заключение
Zilliz Cloud Pipelines превращают неструктурированные данные в коллекцию векторов с возможностью поиска. Они значительно влияют на обработку данных и семантический поиск. Zilliz Cloud Pipelines могут выполнять поиск по изображениям, кадрам видео и мультимодальным документам. В будущем будут добавлены дополнительные pipelines для этих типов поиска.
Подводя итог, Zilliz Cloud Pipelines полностью изменили обработку данных и семантический поиск, оптимизировав процесс разбиения документов на фрагменты и улучшив возможности поиска. При работе с неструктурированными данными их функции, включая возможность создавать pipelines для загрузки, поиска и удаления, делают их бесценным инструментом для разработчиков и инженеров данных. Платформа обещает и дальше революционизировать то, как мы обрабатываем и ищем информацию, делая акцент на эффективности, масштабируемости и простоте использования. Это способствует изучению и интеграции в разнообразные рабочие процессы с данными.
Если вы хотите попробовать Zilliz Cloud Pipelines самостоятельно, пройдите этот bootcamp под названием Build RAG using Zilliz Cloud Pipelines.
Читать далее

Migrating Self-Managed Milvus to Zilliz Cloud for >99% Latency Reduction
Step-by-step guide to migrating 50M vectors from self-managed Milvus to Zilliz Cloud using milvus-backup. Achieve >99% query latency reduction with zero data loss.

Build Multimodal Search for 3D Assets with Tripo and Zilliz Cloud
Generate 3D assets with Tripo, then search them by text, image, and metadata with multimodal embeddings and Zilliz Cloud.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.


