Otimizando o Processamento de Dados com Zilliz Cloud Pipelines: Um Mergulho Profundo na Fragmentação de Documentos
Otimizar o processamento de dados usando Zilliz Cloud Pipelines envolve examinar a fragmentação de documentos. É um componente da transformação de dados não estruturados em uma coleção vetorial pesquisável. Os pipelines de ingestão, exclusão e busca do Zilliz Cloud Pipelines facilitam ainda mais esse processo. Cada um atende a uma finalidade diferente no fluxo de trabalho de processamento de dados.
O Zilliz Cloud Pipelines desempenha um papel na simplificação do processo de fragmentação de documentos e no aprimoramento da pesquisabilidade. A plataforma viabiliza casos de uso com busca semântica em documentos de texto e fornece um bloco de construção essencial para aplicações de Geração Aumentada por Recuperação (RAG).
O Zilliz Cloud Pipelines inclui várias funções como SEARCH_DOC_CHUNK, que converte o texto da consulta em embedding vetorial. Em seguida, ela recuperará os top-K fragmentos de documentos relevantes, facilitando encontrar as informações relacionadas com base no significado da consulta.
Zilliz Cloud Pipelines: Transformando o Processamento de Dados
Os engenheiros da Zilliz projetaram o Zilliz Cloud Pipelines para transformar dados não estruturados de várias fontes em uma coleção vetorial pesquisável para desenvolvedores de Gen AI ocupados. Este pipeline pegará dados não estruturados, os dividirá, os converterá em embeddings, os indexará e os armazenará no Zilliz Cloud com os metadados designados. Esta arquitetura usa vários componentes e capacidades tecnológicos essenciais que melhoram o desempenho.
Base Tecnológica
Banco de Dados Vetorial Milvus
O Banco de Dados Vetorial Milvus foi projetado para lidar com dados vetoriais de alta dimensionalidade com eficiência. Ele ainda oferece suporte a diferentes casos de uso, incluindo o Zilliz Cloud, um serviço em nuvem que ajuda os desenvolvedores a se concentrarem nas aplicações principais em vez de gerenciar operações de banco de dados.
Conectores
Os conectores são uma ferramenta integrada que conecta facilmente várias fontes de dados, permitindo ingestão e indexação de dados em tempo real para garantir que o conteúdo mais recente esteja instantaneamente acessível para todas as consultas de busca. Escaláveis e adaptativos, os conectores podem lidar perfeitamente com cargas de tráfego flutuantes para uma escalabilidade tranquila sem complicações de DevOps. Eles sincronizam automaticamente adições e exclusões de documentos com a coleção, mantendo-a sincronizada. Além disso, o registro detalhado fornece observabilidade sobre o fluxo de dados, garantindo transparência e a capacidade de detectar quaisquer anomalias que possam surgir.
Divisores de Documentos
Divisores são comumente usados em tarefas de processamento de documentos e análise de texto para dividir um documento ou texto em fragmentos ou segmentos menores com base em caracteres ou padrões especificados. Esses fragmentos podem então ser processados ou analisados separadamente. Por exemplo, para aplicações de Gen AI, divisores podem ser usados para dividir um texto longo em frases ou parágrafos individuais antes de convertê-lo em embeddings vetoriais. Esses embeddings servem para encontrar fragmentos semanticamente semelhantes.
Modelos de Machine Learning
Modelos de machine learning são usados para criar embeddings vetoriais. Esses embeddings capturam relações semânticas e informações contextuais, permitindo que algoritmos entendam e processem a linguagem de forma mais eficaz. Modelos de machine learning de código aberto, comerciais e privados podem ser instalados on-prem ou em seu ambiente de nuvem, ou acessados por meio de uma API para gerar embeddings vetoriais.
Rerankers
Em sistemas de recuperação de informações, um reranker refina os resultados iniciais da busca para melhorar sua relevância em relação à consulta. Ao contrário de usar apenas a busca vetorial por vizinho mais próximo aproximado (ANN) para recuperação, adicionar um reranker pode aumentar a qualidade da busca ao avaliar melhor a relação semântica entre os documentos e a consulta. Para aplicações de geração aumentada por recuperação (RAG), rerankers podem melhorar a precisão das respostas geradas ao fornecer um conjunto menor, mas de maior qualidade, de documentos de contexto. No entanto, rerankers são computacionalmente caros, levando a custos mais altos e tempos de latência de consulta maiores do que a recuperação ANN sozinha. A decisão de integrar um reranker deve equilibrar a necessidade de maior relevância com restrições de desempenho e custo.
Recursos
Criação de Pipeline de Ingestão
Os usuários têm a opção de criar pipelines tanto por meio do console Zilliz Cloud, fácil de usar, quanto por meio de APIs RESTful mais personalizáveis. Essa abordagem dupla garante que os usuários possam adaptar sua experiência de criação de pipelines de acordo com suas necessidades e preferências específicas, quer priorizem a simplicidade ou exijam opções avançadas de personalização. Ao criar o pipeline, os usuários podem optar por dividir seus documentos primeiro e depois escolher entre um dos 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 o idioma chinês, apenas zilliz/bge-base-zh-v1.5) para criar embeddings vetoriais. Eles também podem salvar quaisquer metadados pertinentes que serão úteis durante a recuperação.
Conexão de fonte de dados
Conectores, como ferramentas integrais no Zilliz Cloud, são projetados para simplificar o processo de vincular diversas fontes de dados a um banco de dados vetorial. Com as instruções intuitivas fornecidas na interface do usuário (UI), os usuários podem integrar facilmente várias fontes de dados em seus pipelines. Isso não apenas aumenta a versatilidade e a amplitude de seus recursos de processamento de dados, mas também destaca a natureza amigável do Zilliz Cloud.
Por exemplo, um conector serve como um mecanismo para ingerir dados no Zilliz Cloud a partir de uma variedade de fontes, incluindo Object Storage, Kafka (em breve disponível) e mais. Tomando o conector de armazenamento de objetos como exemplo, ele permite que os usuários monitorem um diretório dentro de um bucket de armazenamento de objetos e sincronizem arquivos como PDFs e HTML com Zilliz Cloud Pipelines. Posteriormente, esses arquivos podem ser convertidos em representações vetoriais e armazenados no banco de dados vetorial para busca. Com pipelines dedicados de ingestão e exclusão, os arquivos e suas representações vetoriais correspondentes no Zilliz Cloud permanecem sincronizados. A coleção do banco de dados vetorial reflete automaticamente qualquer adição ou remoção de arquivos no armazenamento de objetos, garantindo consistência e precisão dos dados.
Execução de pipeline de Busca
Depois que os pipelines são criados, eles podem ser executados para processar dados não estruturados, facilitando várias funcionalidades dentro do ecossistema Zilliz Cloud. Por exemplo, ao criar um pipeline de Ingestão, os usuários podem iniciar sua execução para transformar dados não estruturados em embeddings vetoriais pesquisáveis. Esses embeddings podem então ser armazenados em um banco de dados vetorial Zilliz Cloud, melhorando a acessibilidade e a eficiência da recuperação de dados.
Da mesma forma, ao criar um pipeline de Busca, os usuários podem executá-lo, permitindo que o sistema realize uma busca semântica. Essa funcionalidade permite que os usuários explorem e recuperem informações relevantes do banco de dados vetorial, aproveitando o poder da análise semântica para refinar os resultados da busca.
Além disso, ao criar um pipeline de exclusão, os usuários podem iniciar sua execução removendo todos os chunks associados a um documento especificado de uma coleção dentro do banco de dados vetorial. Esse recurso garante a integridade e a limpeza do banco de dados ao facilitar a remoção de chunks de dados desnecessários ou desatualizados.
Estimar custo do Pipeline
O custo associado à execução de pipelines é quantificado em termos de tokens, que servem como a unidade fundamental de medição. De forma análoga a como os Large Language Models (LLMs) utilizam tokens como os blocos básicos de construção, os pipelines realizam o processamento de documentos e a execução de consultas de pesquisa analisando e incorporando texto como uma sequência de tokens. Os usuários podem aproveitar nossa ferramenta Estimate Pipeline Usage para obter insights sobre as implicações de custo da execução de um pipeline. Essa ferramenta facilita a contagem de tokens em um arquivo ou string de texto, permitindo que os usuários avaliem a utilização de recursos prevista e os custos associados à execução de um pipeline. Essa ferramenta permite que os usuários tomem decisões informadas sobre alocação de recursos e orçamento, garantindo eficiência ideal e custo-benefício em suas operações de pipeline.
Reclassificação de resultados de pesquisa
A recuperação inicial apenas com pesquisa vetorial Approximate Nearest Neighbor (ANN) é muito eficiente e frequentemente produz resultados satisfatórios. Em muitas situações, a etapa secundária de reclassificação pode ser considerada opcional. Para aplicações com altos padrões de qualidade, empregar um reranker pode melhorar a precisão, embora com maiores demandas computacionais e tempos de pesquisa mais longos. Normalmente, integrar um modelo de reranker pode adicionar de 100 ms a alguns segundos de latência à consulta de pesquisa, dependendo de fatores como a seleção de topK e o tamanho do modelo de reranker. Quando a recuperação inicial produz documentos incorretos ou irrelevantes, usar um reranker os filtra de forma eficaz, melhorando assim a qualidade da resposta final gerada.
Se um reranker for considerado necessário para seu caso de uso, você poderá escolhê-lo na UI.
Vantagens
Criação Flexível de Pipelines: Os usuários podem criar pipelines por meio do console Zilliz Cloud, fácil de usar, ou das APIs RESTful mais personalizáveis. Essa abordagem dupla permite que os usuários adaptem a experiência de criação de pipelines às suas necessidades e preferências específicas, seja priorizando a simplicidade ou exigindo opções avançadas de personalização.
Integração Perfeita de Fontes de Dados: Os conectores no Zilliz Cloud simplificam a vinculação de diversas fontes de dados a um banco de dados vetorial. Com instruções intuitivas na interface do usuário (UI), os usuários podem integrar facilmente várias fontes de dados aos seus pipelines, aumentando a versatilidade e a abrangência de suas capacidades de processamento de dados.
Estimativa e Otimização de Custos: O Zilliz Cloud fornece uma ferramenta Estimate Pipeline Usage que ajuda os usuários a avaliar a utilização de recursos prevista e os custos associados do pipeline. Os usuários podem tomar decisões informadas sobre alocação de recursos e orçamento contando tokens em um arquivo ou string de texto, garantindo eficiência ideal e custo-benefício em suas operações de pipeline.
Pipelines do Zilliz Cloud
Pipelines de Ingestão
O principal objetivo dos pipelines de ingestão é que eles são projetados para processar dados não estruturados, como trechos de texto e documentos, em embeddings vetoriais pesquisáveis. Eles contêm uma função INDEX_DOC, que divide o documento de texto de entrada em vários chunks e gera um embedding vetorial para cada chunk. O campo de entrada (doc_url) é mapeado para quatro campos de saída (doc_name, chunk_id, chunk_text e embedding) como os campos escalares e vetoriais da coleção gerada automaticamente.
Pipelines de Pesquisa
O processo dos pipelines de pesquisa é bastante direto. Ele auxilia a pesquisa semântica convertendo uma string de consulta em um embedding vetorial e recuperando os top-K vetores com seus metadados e texto correspondente. Para isso, é usada uma função chamada SEARCH_DOC_CHUNK.
Pipelines de Exclusão
Pipelines de exclusão são usados para remover de uma coleção todos os chunks em um documento especificado. Isso facilita a eliminação de todos os dados de um documento. Há uma função chamada PURGE_DOC_INDEX que exclui todos os chunks de documento que têm um doc_name especificado.
A Mecânica da Divisão de Documentos em Chunks
O objetivo da fragmentação, como o nome sugere, é dividir as informações em várias partes menores para armazená-las de forma mais eficiente e significativa. Isso permite que a recuperação capture partes de informações mais relacionadas à pergunta e que a geração seja mais precisa, mas menos custosa, pois apenas uma parte de um documento será incluída no prompt do LLM em vez do documento inteiro. Por fim, a fragmentação de documentos torna a pesquisabilidade eficiente porque as informações são recuperadas com base na compreensão semântica, e não em correspondências exatas.
Com Zilliz Cloud Pipelines, você pode dividir documentos em frases, parágrafos, linhas ou uma lista de strings personalizadas. Além disso, você pode definir o tamanho do fragmento. Por padrão, cada um contém no máximo 500 tokens. A tabela a seguir lista a relação de mapeamento entre os modelos aplicáveis e seus intervalos de tamanho de fragmento correspondentes.
| Modelo | Intervalo de tamanho do fragmento |
|---|---|
| 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 |
Aplicações práticas e benefícios da fragmentação de documentos
A fragmentação de documentos tem uma ampla gama de aplicações práticas em vários domínios. Ao dividir dados de texto em partes gerenciáveis, oferece-se uma abordagem mais simplificada para lidar com grandes volumes de dados não estruturados. A seguir estão algumas das aplicações reais da fragmentação de documentos.
Aplicações reais
Gerenciamento de conteúdo
No gerenciamento de conteúdo, o processo de fragmentação de documentos facilita a indexação e a recuperação de documentos grandes ao dividi-los em pequenas partes. Essa abordagem torna a pesquisa eficiente e permite que os usuários encontrem rapidamente as informações desejadas.
Pesquisa
A fragmentação de documentos é útil no domínio da pesquisa para indexar artigos acadêmicos, relatórios e artigos de pesquisa. Devido a isso, os pesquisadores podem pesquisar seus segmentos específicos de interesse.
Jurídico
A fragmentação de documentos também auxilia no domínio jurídico. A fragmentação facilita a pesquisa de cláusulas específicas, contratos, termos e decisões judiciais. Isso melhora a precisão e a eficiência da pesquisa jurídica.
Médico
Profissionais médicos também podem usar a fragmentação de documentos para processar e indexar prontuários médicos de pacientes, diretrizes clínicas e artigos de pesquisa. Isso os ajuda a acessar informações médicas críticas sem demora.
Benefícios
A fragmentação oferece três benefícios principais no contexto de modelos de Geração Aumentada por Recuperação (RAG):
- Precisão aprimorada: Ao dividir o texto em fragmentos menores e mais gerenciáveis, a fragmentação permite que o processo de recuperação capture informações especificamente relevantes para a consulta. Isso melhora a precisão dos resultados de pesquisa e garante que as informações recuperadas estejam alinhadas de perto com os requisitos do usuário.
- Custos computacionais reduzidos: A fragmentação minimiza os custos computacionais ao incluir apenas partes relevantes do documento no prompt do modelo de linguagem. Ao evitar informações desnecessárias, a fragmentação ajuda a otimizar a sobrecarga de processamento, resultando em processos de recuperação e geração de texto mais eficientes.
- Coerência e relevância aprimoradas: Estratégias de fragmentação, como a Fragmentação Específica de Documentos, respeitam a organização original do documento, criando fragmentos alinhados com seções lógicas, como parágrafos ou subseções. Essa abordagem mantém a coerência e a relevância do texto, particularmente para documentos estruturados, levando a resultados de pesquisa mais significativos e contextualmente apropriados.
Implementando a fragmentação de documentos com Zilliz Cloud Pipelines: um guia passo a passo
Implementar a fragmentação de documentos com Zilliz Cloud Pipelines envolve várias etapas. O guia abrangente inclui configuração inicial, configurações, melhores práticas e estratégias de otimização. Os pontos principais envolvem cadastrar-se no Zilliz Cloud, criar pipelines, indexar documentos e personalizar estratégias de fragmentação.
Configuração Inicial e Configuração
Cadastre-se ou Faça Login
A primeira etapa envolve cadastrar-se ou entrar na conta do Zilliz Cloud. Isso ajudará você a acessar o Zilliz Cloud Pipelines Service.
Criar Pipelines
Os usuários devem seguir as instruções fornecidas pela Zilliz para criar os pipelines de ingestão, busca e exclusão. Certifique-se de anotar o ID do pipeline de busca e a API-Key para operações posteriores.
Método pela Web UI
- Navegue até Seu Projeto
- Vá para seu projeto usando a Zilliz Cloud Web UI.
- No painel de navegação, selecione a opção “Pipelines”.
- Navegue até a aba “Overview” e então selecione “Pipelines”.
- Clique em “+Pipeline” para criar um novo pipeline.
- Escolha o Tipo de Pipeline
- Selecione o botão “+Pipeline” para criar um novo pipeline.
- Certifique-se de criar o pipeline de ingestão antes dos pipelines de busca e exclusão.
- Configure o Pipeline de Ingestão
- Clique no cluster onde a nova coleção será criada.
- Insira o nome da coleção recém-criada.
- Forneça um nome seguindo as restrições de formato.
- Descreva o pipeline, se quiser.
- Adicione Funções ao Pipeline
- ·Use a função INDEX_DOC, pois ela divide o documento em fragmentos menores, vetoriza cada fragmento e salva os embeddings vetoriais.
- Use a função PRESERVE para adicionar campos escalares à coleção durante a ingestão de dados.
- Personalização da Estratégia de Fragmentação
- Personalize o divisor para determinar como o documento é dividido em fragmentos. Use caracteres como “.”, “\n” ou quaisquer outras strings personalizadas.
- Salve a Configuração do Seu Pipeline
- Após adicionar e configurar as funções, agora é hora de salvar seu pipeline.
- Clique em “Create Ingestion Pipeline”.
Método pela API RESTful
Crie um Pipeline de Ingestão via API. Use o comando curl para criar um pipeline de ingestão.
--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"
}'
- Gerenciando Pipelines
- Visualize e Gerencie Pipelines
- Clique em “Pipelines” para ver os pipelines disponíveis junto com seus detalhes e uso de tokens.
- Use uma solicitação GET via API para listar ou visualizar os detalhes dos pipelines.
- Executar Pipelines
- Para processar e armazenar dados em formato vetorial, execute o pipeline de ingestão.
- Agora execute o pipeline de busca para realizar as buscas semânticas.
- Faça uso do pipeline de exclusão para remover fragmentos de documentos indesejados da coleção.
- Estimar o Uso do Pipeline
- Você pode ver o uso de tokens para executar pipelines com a ajuda da Web UI da Zilliz.
- Remover Pipeline
- Você pode remover o pipeline que não esteja em uso via API (solicitação GET) ou usando a Web UI.
Indexar Documentos
Os usuários podem inserir a URL do documento no campo doc_url quando estiverem no playground do pipeline. Se desejarem ingerir o documento, então clicarão em “RUN” e o processo será concluído. Esta etapa converte o documento em uma coleção vetorial pesquisável.
Personalizar Estratégia de Fragmentação
Com o Zilliz Cloud Pipelines, você pode personalizar a estratégia de fragmentação. Os usuários podem definir o tamanho do fragmento usando um divisor que é usado para dividir o documento em fragmentos. Além disso, separadores personalizados para frases, linhas e parágrafos também podem ser especificados.
Escolha um modelo
Escolha um modelo para gerar embeddings vetoriais com base no tamanho de fragmento desejado e no tamanho geral do seu documento. O Zilliz Cloud Pipelines oferece suporte a vários modelos, cada um com sua própria faixa de tamanho de fragmento.
Melhores práticas
- Experimente diferentes tamanhos de fragmento para encontrar o equilíbrio ideal entre a qualidade da recuperação e a eficiência.
- Use o recurso de divisor para dividir os documentos em pequenos fragmentos com base em critérios específicos, como parágrafos, separadores personalizados ou frases.
- Continue verificando o uso do pipeline e esteja ciente dos limites do Zilliz Cloud.
Dicas de solução de problemas e estratégias de otimização
- Seu documento deve ser compatível com a função INDEX_DOC.
- Para arquivos markdown ou HTML, a função INDEX_DOC divide o documento por cabeçalhos e, em seguida, seções maiores com base no tamanho de fragmento especificado. Portanto, certifique-se de ajustar o tamanho do fragmento adequadamente.
- Se o modelo escolhido não estiver dando os melhores resultados, você também pode experimentar outros modelos.
Conclusão
O Zilliz Cloud Pipelines transforma dados não estruturados em uma coleção vetorial pesquisável. Eles impactam significativamente o processamento de dados e a busca semântica. O Zilliz Cloud Pipelines pode pesquisar imagens, quadros de vídeo e documentos multimodais. Pipelines adicionais para esses tipos de buscas serão adicionados no futuro.
Em resumo, o Zilliz Cloud Pipelines mudou completamente o processamento de dados e a busca semântica ao simplificar o processo de fragmentação de documentos e melhorar a capacidade de pesquisa. Ao trabalhar com dados não estruturados, seus recursos — que incluem a capacidade de criar pipelines para ingestão, busca e exclusão — fazem dele uma ferramenta inestimável para desenvolvedores e engenheiros de dados. A plataforma promete revolucionar ainda mais a forma como processamos e buscamos informações ao enfatizar eficiência, escalabilidade e facilidade de uso. Isso incentiva a exploração e a integração em diversos fluxos de trabalho de dados.
Se você quiser experimentar o Zilliz Cloud Pipelines por conta própria, confira este bootcamp intitulado Build RAG using Zilliz Cloud Pipelines.
Continue lendo

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.

Balancing Precision and Performance: How Zilliz Cloud's New Parameters Help You Optimize Vector Search
Optimize vector search with Zilliz Cloud’s level and recall features to tune accuracy, balance performance, and power AI applications.

Optimizing Embedding Model Selection with TDA Clustering: A Strategic Guide for Vector Databases
Discover how Topological Data Analysis (TDA) reveals hidden embedding model weaknesses and helps optimize vector database performance.


