A biblioteca Microsoft.Extensions.DataIngestion

O 📦 pacote Microsoft.Extensions.DataIngestion fornece blocos de construção .NET fundamentais para ingestão de dados. Ele permite que os desenvolvedores leiam, processem e preparem documentos para fluxos de trabalho de IA e aprendizado de máquina, especialmente cenários de Recuperação Aumentada por Geração (RAG).

Com esses blocos de construção, você pode criar pipelines de ingestão de dados robustos, flexíveis e inteligentes personalizados para suas necessidades de aplicativo:

  • Representação de documento unificada: Represente qualquer tipo de arquivo (por exemplo, PDF, Imagem ou Microsoft Word) em um formato consistente que funcione bem com modelos de linguagem grandes.
  • Ingestão de dados flexível: Leia documentos de serviços de nuvem e fontes locais usando vários leitores internos, facilitando a entrada de dados de onde quer que eles estejam.
  • Aprimoramentos internos de IA: Enriqueça automaticamente o conteúdo com resumos, análise de sentimento, extração de palavras-chave e classificação, preparando seus dados para fluxos de trabalho inteligentes.
  • Estratégias de agrupamento personalizáveis: Divida documentos em partes usando abordagens baseadas em token, baseadas em seção ou semântica, para que você possa otimizar para suas necessidades de recuperação e análise.
  • Armazenamento pronto para produção: Armazene partes processadas em bancos de dados vetoriais populares e armazenamentos de documentos, com suporte para a geração de embeddings, tornando seus pipelines prontos para cenários do mundo real.
  • Composição de pipeline de ponta a ponta: Encadear leitores, processadores, chunkers e gravadores com a API IngestionPipeline<T>, reduzindo a repetição de código e facilitando a construção, personalização e extensão de fluxos de trabalho completos.
  • Desempenho e escalabilidade: Projetados para processamento de dados escalonável, esses componentes podem lidar com grandes volumes de dados com eficiência, tornando-os adequados para aplicativos de nível empresarial.

Todos esses componentes são abertos e extensíveis por design. Você pode adicionar lógica personalizada e novos conectores e estender o sistema para dar suporte a cenários de IA emergentes. Ao padronizar como os documentos são representados, processados e armazenados, os desenvolvedores do .NET podem criar pipelines de dados confiáveis, escalonáveis e mantêveis sem "reinventar a roda" para cada projeto.

Baseado em bases estáveis

Diagrama de arquitetura de ingestão de dados

Esses blocos de construção de ingestão de dados são criados com base em componentes comprovados e extensíveis no ecossistema do .NET, garantindo confiabilidade, interoperabilidade e integração perfeita com fluxos de trabalho de IA existentes:

  • Microsoft.ML.Tokenizers: Os tokenizers fornecem a base para agrupar documentos com base em tokens. Isso permite a divisão precisa do conteúdo, que é essencial para preparar dados para modelos de linguagem grandes e otimizar estratégias de recuperação.
  • Microsoft.Extensions.AI: Esse conjunto de bibliotecas potencializa transformações de enriquecimento usando modelos de linguagem grandes. Ele habilita recursos como resumir, análise de sentimento, extração de palavras-chave e geração de embeddings, facilitando o aprimoramento de seus dados com insights inteligentes.
  • Microsoft.Extensions.VectorData: Esse conjunto de bibliotecas oferece uma interface consistente para armazenar partes processadas em uma ampla variedade de repositórios de vetores, incluindo Qdrant, SQL do Azure, CosmosDB, MongoDB, ElasticSearch e muito mais. Isso garante que seus pipelines de dados estejam prontos para produção e possam ser dimensionados em diferentes back-ends de armazenamento.

Além de padrões e ferramentas familiares, essas abstrações se baseiam em componentes já extensíveis. A funcionalidade de plug-in e a interoperabilidade são primordiais, de modo que, à medida que o restante do ecossistema de IA do .NET cresce, os recursos dos componentes de ingestão de dados também crescem. Essa abordagem capacita os desenvolvedores a integrar facilmente novos provedores, enriquecimentos e opções de armazenamento, mantendo seus pipelines prontos para o futuro e adaptáveis a cenários de IA em evolução.

Consulte também