开源数据搬运平台,用于 ELT 管道,把 API、数据库和文件中的数据同步到数据仓库、数据湖和 AI 应用。
ucbepic/docetl
基于 LLM 的 Python 数据处理与 ETL 系统,用自然语言描述操作,对大量结构化与非结构化数据做 map-reduce 处理。
- Star
- 4,137
- Fork
- 452
- 未关闭 Issue
- 47
- 最近提交
- 12天前
这是什么?
DocETL 是一个用 LLM 处理大规模结构化与非结构化数据的系统。每个操作都用自然语言描述,系统提供 map、reduce、filter、resolve、split、gather 等算子,并负责编排执行,在整个数据集上并行处理,最终输出可用数据库查询的表格。
流水线有三种写法:Python API、通过 docetl CLI 运行的 YAML 配置文件,以及用于交互式调整提示词的 DocWrangler 网页界面。项目还包含优化器 MOAR,可自动更换模型、改写提示词、拆分操作,并将子任务替换为代码,以提升准确率并降低成本。
只要在环境变量中设置对应服务商的 API Key,即可使用主流 LLM 提供商。它适合需要做文档分析等数据任务、又不想手写和调优大量 LLM 调用链的团队。
核心功能
- 01提供 map、reduce、filter、resolve、split、gather 等基于 LLM 的数据处理算子。
- 02用自然语言定义操作,并指定输出结构(schema)。
- 03自动优化流水线,可更换模型并改写提示词。
- 04支持 Python API、YAML 配置加 CLI,以及 DocWrangler 网页界面。
- 05在整个数据集上并行执行,并可设置调用频率限制。
适用场景
- 从大批量客服工单中抽取投诉内容、优先级等结构化字段。
- 用先 map 后 reduce 的流程,按类别汇总文档内容。
- 分析访谈记录或非结构化文本,并把结果输出为表格以便查询。
快速上手
- 1
使用 pip 安装该包
pip install docetl - 2
设置你的 LLM 服务商 API 密钥(例如 OpenAI)
export OPENAI_API_KEY=your_key - 3
编写流水线 YAML 文件并使用命令行运行
docetl run pipeline.yaml
使用前须知
- 需要来自 LLM 服务商的 API 密钥,使用会产生费用。
标签
常见问题
- docetl 是什么?
- 基于 LLM 的 Python 数据处理与 ETL 系统,用自然语言描述操作,对大量结构化与非结构化数据做 map-reduce 处理。 DocETL 是一个用 LLM 处理大规模结构化与非结构化数据的系统。每个操作都用自然语言描述,系统提供 map、reduce、filter、resolve、split、gather 等算子,并负责编排执行,在整个数据集上并行处理,最终输出可用数据库查询的表格。
- docetl 可以免费使用吗?用的什么许可证?
- docetl 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- docetl 还在维护吗?
- 活跃维护中。docetl 最近一次提交是在 2026年10月9日。
- docetl 适合用来做什么?
- 从大批量客服工单中抽取投诉内容、优先级等结构化字段。 用先 map 后 reduce 的流程,按类别汇总文档内容。 分析访谈记录或非结构化文本,并把结果输出为表格以便查询。
- docetl 怎么安装和运行?
- 使用 pip 安装该包: pip install docetl 设置你的 LLM 服务商 API 密钥(例如 OpenAI): export OPENAI_API_KEY=your_key 编写流水线 YAML 文件并使用命令行运行: docetl run pipeline.yaml
- 在哪里获取 docetl?
- 源代码和安装说明在 GitHub 上:https://github.com/ucbepic/docetl
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用于构建 RAG、智能体和文档处理应用的 Python 框架,帮助 LLM 连接私有数据。
面向基础模型的数据处理系统,提供 200 多种可组合算子,用于清洗、过滤、去重和合成文本、图像、音频与视频数据。
GPU 加速的数据处理工具包,用于构建可重复的流水线,对大规模文本、图像、视频和音频数据做过滤、去重和转换,服务于 AI 训练。
面向 AI 智能体的记忆系统,支持存储、检索与反思记忆,让智能体随时间学习而非仅回放对话历史。
可自托管的 AI 智能体平台,基于你自己的文档回答问题,并附带引用来源。