A biblioteca Microsoft.Extensions.DataIngestion

O 📦 pacote Microsoft.Extensions.DataIngestion fornece blocos fundamentais .NET para a ingestão de dados. Permite aos desenvolvedores ler, processar e preparar documentos para fluxos de trabalho de IA e aprendizagem automática, especialmente em cenários de Geração Aumentada por Recuperação (RAG).

Com estes blocos de construção, podes criar fluxos de dados robustos, flexíveis e inteligentes, adaptados às necessidades da tua aplicação:

  • Representação unificada de documentos: Represente qualquer tipo de ficheiro (por exemplo, PDF, Imagem ou Microsoft Word) num formato consistente que funcione bem com grandes modelos de linguagem.
  • Ingestão flexível de dados: Leia documentos tanto de serviços de nuvem como de fontes locais, usando múltiplos leitores integrados, facilitando a transferência de dados, independentemente da sua origem.
  • Melhorias de IA integradas: Enriqueça automaticamente o conteúdo com resumos, análise de sentimento, extração de palavras-chave e classificação, preparando os seus dados para fluxos de trabalho inteligentes.
  • Estratégias personalizáveis de fragmentação: Divida os documentos em blocos usando abordagens baseadas em tokens, secções ou conscientes da semântica, para que possa otimizar as suas necessidades de recuperação e análise.
  • Armazenamento pronto para produção: Armazene blocos processados em bases de dados vetoriais populares e repositórios de documentos, com suporte para a geração de embeddings, tornando os seus pipelines prontos para cenários do mundo real.
  • Composição do pipeline de ponta a ponta: Encadeie leitores, processadores, chunkers e escritores com a IngestionPipeline<T> API, reduzindo o boilerplate e facilitando a construção, personalização e extensão de fluxos de trabalho completos.
  • Desempenho e escalabilidade: Concebidos para processamento de dados escalável, estes componentes conseguem lidar com grandes volumes de dados de forma eficiente, tornando-os adequados para aplicações de nível empresarial.

Todos estes componentes são abertos e extensíveis por design. Pode adicionar lógica personalizada e novos conectores, e estender o sistema para suportar cenários emergentes de IA. Ao padronizar a forma como os documentos são representados, processados e armazenados, os programadores .NET podem construir pipelines de dados fiáveis, escaláveis e manuteníveis sem "reinventar a roda" para cada projeto.

Construído sobre fundações estáveis

Diagrama da Arquitetura de Ingestão de Dados

Estes blocos de construção para a ingestão de dados são construídos sobre componentes comprovados e extensíveis no ecossistema .NET, garantindo fiabilidade, interoperabilidade e integração fluida com os fluxos de trabalho de IA existentes:

  • Microsoft.ML.Tokenizers: Os tokenizadores fornecem a base para fragmentar documentos com base em tokens. Isto permite uma divisão precisa do conteúdo, essencial para preparar dados para grandes modelos de linguagem e otimizar estratégias de recuperação.
  • Microsoft.Extensions.AI: Este conjunto de bibliotecas impulsiona transformações de enriquecimento usando grandes modelos de linguagem. Permite funcionalidades como resumo, análise de sentimento, extração de palavras-chave e geração de embeddings, facilitando o enriquecimento dos seus dados com insights inteligentes.
  • Microsoft.Extensions.VectorData: Este conjunto de bibliotecas oferece uma interface consistente para armazenar blocos processados numa grande variedade de armazenamentos vetoriais, incluindo Qdrant, SQL do Azure, CosmosDB, MongoDB, ElasticSearch e muitos mais. Isto garante que os seus pipelines de dados estão prontos para produção e podem escalar entre diferentes backends de armazenamento.

Para além de padrões e ferramentas familiares, estas abstrações baseiam-se em componentes já extensíveis. A capacidade de plug-in e a interoperabilidade são fundamentais, por isso, à medida que o resto do ecossistema de IA .NET cresce, também crescem as capacidades dos componentes de ingestão de dados. Esta abordagem permite aos programadores integrar facilmente novos fornecedores, opções de enriquecimento e armazenamento, mantendo os seus pipelines preparados para o futuro e adaptáveis a cenários de IA em evolução.

Ver também