Repolode
ucbepic

ucbepic/docetl

Sistema em Python para executar pipelines de map-reduce e ETL com LLMs sobre grandes volumes de dados estruturados e não estruturados, descritos em linguagem natural.

Estrelas
4,137
Forks
452
Issues abertas
47
Último commit
há 12 dias

O que é?

O DocETL é um sistema para processar grandes coleções de dados estruturados e não estruturados com LLMs. Cada operação é escrita em linguagem natural, e o sistema oferece operadores como map, reduce, filter, resolve, split e gather; depois, coordena essas operações e as executa em paralelo no conjunto de dados. A saída são dados tabulares que podem ser consultados em um banco de dados.

O pipeline pode ser escrito de três formas: com uma API Python, em um arquivo de configuração YAML executado pela CLI do docetl ou pela interface web DocWrangler, que permite desenvolver prompts de forma interativa. O projeto também inclui um otimizador, o MOAR, que troca modelos automaticamente, reescreve prompts, decompõe operações e substitui subtarefas por código para melhorar a precisão e reduzir custos.

O DocETL funciona com qualquer provedor de LLM cuja chave de API esteja definida no ambiente. Ele é voltado a equipes que, de outra forma, teriam de escrever e ajustar manualmente sequências de chamadas a LLMs para analisar documentos e realizar tarefas semelhantes com dados.

Recursos principais

  • 01Operadores map, reduce, filter, resolve, split e gather para processamento de dados com LLMs.
  • 02Definições de operações em linguagem natural com esquemas de saída.
  • 03Otimização automática de pipelines, com troca de modelos e reescrita de prompts.
  • 04API Python, configuração YAML com CLI e interface web DocWrangler.
  • 05Execução paralela no conjunto de dados, com controles de limite de taxa.

Casos de uso

  • Extrair campos estruturados, como reclamações ou prioridades, de grandes lotes de tickets de suporte.
  • Resumir documentos agrupados por categoria com um fluxo de trabalho que combina map e reduce.
  • Analisar transcrições ou textos não estruturados e retornar os resultados em tabelas que podem ser consultadas.

Início rápido

  1. 1

    Instale o pacote com pip

    pip install docetl
  2. 2

    Configure a chave de API do seu provedor de LLM (por exemplo, OpenAI)

    export OPENAI_API_KEY=your_key
  3. 3

    Crie um arquivo YAML do pipeline e execute-o com a CLI

    docetl run pipeline.yaml

Antes de usar

  • É necessária uma chave de API de um provedor de LLM, o que gera custos de uso.

Tópicos

Perguntas frequentes

O que é docetl?
Sistema em Python para executar pipelines de map-reduce e ETL com LLMs sobre grandes volumes de dados estruturados e não estruturados, descritos em linguagem natural. O DocETL é um sistema para processar grandes coleções de dados estruturados e não estruturados com LLMs. Cada operação é escrita em linguagem natural, e o sistema oferece operadores como map, reduce, filter, resolve, split e gather; depois, coordena essas operações e as executa em paralelo no conjunto de dados. A saída são dados tabulares que podem ser consultados em um banco de dados.
docetl é gratuito? Qual é a licença?
docetl é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
docetl ainda é mantido?
Manutenção ativa. O último commit de docetl foi em 9 de out. de 2026.
Para que posso usar docetl?
Extrair campos estruturados, como reclamações ou prioridades, de grandes lotes de tickets de suporte. Resumir documentos agrupados por categoria com um fluxo de trabalho que combina map e reduce. Analisar transcrições ou textos não estruturados e retornar os resultados em tabelas que podem ser consultadas.
Como instalar docetl?
Instale o pacote com pip: pip install docetl Configure a chave de API do seu provedor de LLM (por exemplo, OpenAI): export OPENAI_API_KEY=your_key Crie um arquivo YAML do pipeline e execute-o com a CLI: docetl run pipeline.yaml
Onde consigo docetl?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ucbepic/docetl

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados