ucbepic/docetl

A system for agentic LLM-powered data processing and ETL

What it solves

DocETL 简化了使用 LLM 来分析和转换大量结构化与非结构化数据的流程。它消除了手动编写、串接和调校单个 LLM 调用以满足准确度、成本和延迟需求的必要性。

How it works

用户使用自然语言提示词定义数据处理操作(如 map、reduce、filter)。DocETL 协调这些操作,将工作负载并行化到整个数据集,并将结果以可查询的表格形式返回。系统会自动通过切换模型、重写提示词、分解操作,或将 LLM 任务替换为代码的方式来优化管道,以提升准确度并降低成本。

Who it’s for

此工具面向需要通过 Python API、低代码 YAML 配置或可视化界面处理大规模文档集合的开发者和数据分析师。

Highlights

  • Declarative Pipelines: Define complex workflows using simple operators like map and reduce.
  • Automatic Optimization: Uses agentic rewrites to balance cost and accuracy automatically.
  • Flexible Interfaces: Supports a Python API, YAML configs, and a visual playground called DocWrangler.
  • Scalable Execution: Handles parallelization and rate limiting across various LLM providers.