© 2026FindAgent  · @simprr
返回列表
u

ucbepic/docetl

A system for agentic LLM-powered data processing and ETL

agentsdatadata-pipelinesdocument-analysisdocument-processingeltetlllmpythonsemantic-dataunstructured-dataunstructured-data-analysisworkflow
⭐

3.7k

Stars

🔱

386

Forks

👁

30

Watchers

📋

38

Issues

PythonMIT创建于 2024/7/9更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

📜 DocETL:驱动复杂的文档处理流水线

Website Documentation Discord Paper

DocETL Figure

DocETL 是一个用于创建和执行数据处理流水线的工具,特别适用于复杂的文档处理任务。它提供:

  1. 一个交互式 UI Playground,用于迭代式的 Prompt Engineering 和流水线开发。
  2. 一个 Python 包,用于从命令行或 Python 代码中运行生产级流水线。

💡 编写流水线需要帮助? 你可以使用 Claude Code(推荐)来辅助编写流水线——查看快速入门:https://ucbepic.github.io/docetl/quickstart-claude-code/ 如果你更倾向于使用 ChatGPT 或 Claude 应用,请查看 docetl.org/llms.txt,其中包含一个可以在描述任务前复制/粘贴的大型 Prompt。

🌟 社区项目

  • 对话生成器
  • 语音合成 (Text-to-speech)
  • YouTube 字幕主题提取

📚 教育资源

  • UI/UX 心得
  • 利用 Gleaning 提升输出质量
  • 深入解析 Resolve 算子

🚀 快速入门

使用 DocETL 主要有两种方式:

1. 🎮 DocWrangler:交互式 UI Playground(推荐用于开发)

DocWrangler 可帮助你迭代式地开发流水线:

  • 通过试验不同的 Prompt 并实时查看结果
  • 一步步构建你的流水线
  • 导出最终的流水线配置以用于生产环境

DocWrangler

DocWrangler 托管在 docetl.org/playground。若要在本地运行 Playground,你可以:

  • 使用 Docker(推荐,快速启动):make docker
  • 手动设置开发环境

请查看 Playground 设置指南 获取详细说明。

2. 📦 Python 包(用于生产环境)

如果你想将 DocETL 作为 Python 包使用:

先决条件

  • Python 3.10 或更高版本
  • OpenAI API Key
pip install docetl

在项目目录中创建一个 .env 文件:

OPENAI_API_KEY=your_api_key_here  # LLM 操作所需(或你所选 LLM 的密钥)

⚠️ 重要:两个不同的 .env 文件

  • 根目录 .env:由执行 DocETL 流水线的后端 Python 服务器使用。
  • website/.env.local:由 DocWrangler 中的前端 TypeScript 代码使用(用于 UI 功能,如改善 Prompt 和聊天机器人)。

要查看如何使用 DocETL 的示例,请参考 教程。

2. 🎮 DocWrangler 设置

要在本地运行 DocWrangler,有两种选择:

选项 A:使用 Docker(推荐,快速启动)

让 DocWrangler Playground 运行起来的最简单方法:

  1. 创建所需的配置文件:

在根目录创建 .env(用于执行流水线的后端 Python 服务器):

OPENAI_API_KEY=your_api_key_here  # 由 DocETL 流水线执行引擎使用
# BACKEND 配置
BACKEND_ALLOW_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
BACKEND_HOST=localhost
BACKEND_PORT=8000
BACKEND_RELOAD=True

# FRONTEND 配置
FRONTEND_HOST=0.0.0.0
FRONTEND_PORT=3000

# docker-compose 的主机端口映射(若未设置,则使用 docker-compose.yml 中的默认值)
FRONTEND_DOCKER_COMPOSE_PORT=3031
BACKEND_DOCKER_COMPOSE_PORT=8081

# 支持的文本文件编码
TEXT_FILE_ENCODINGS=utf-8,latin1,cp1252,iso-8859-1

在 website 目录中创建 .env.local(用于 DocWrangler UI 功能,如改善 Prompt 和聊天机器人):

OPENAI_API_KEY=sk-xxx  # 用于 TypeScript 功能:改善 Prompt、聊天机器人等
OPENAI_API_BASE=https://api.openai.com/v1
MODEL_NAME=gpt-4o-mini  # UI 助手使用的模型

NEXT_PUBLIC_BACKEND_HOST=localhost
NEXT_PUBLIC_BACKEND_PORT=8000
NEXT_PUBLIC_HOSTED_DOCWRANGLER=false
  1. 运行 Docker:
make docker

这将执行以下操作:

  • 为持久化数据创建 Docker 卷
  • 构建 DocETL 镜像
  • 运行容器,UI 地址为 http://localhost:3000

要清理 Docker 资源(注意:这会删除 Docker 卷):

make docker-clean
AWS Bedrock

本框架支持与 AWS Bedrock 集成。启用步骤:

  1. 配置 AWS 凭证:
aws configure
贡献者
sosspgslss
项目信息
默认分支main
LicenseMIT License
创建时间2024/7/9
最近更新今天
GAI 中文摘要

DocETL 是一个基于大语言模型的智能数据处理与 ETL(抽取、转换、加载)系统,旨在解决处理复杂文档时的自动化管道构建难题。它通过代理式工作流提供灵活的框架,帮助用户将非结构化文档转化为结构化数据,简化了从原型设计到生产部署的全流程。

提供交互式的可视化界面 DocWrangler,支持对提示词工程和管道逻辑进行实时迭代开发。 具备强大的 Python 包支持,能够直接从命令行或代码中部署和执行复杂的生产级数据处理管道。 内置多种数据操作算子,支持通过模型推理对非结构化文档进行清洗、提取、转换及质量优化。 支持导出和复用管道配置文件,实现开发环境与生产环境的无缝衔接。

适用于需要处理大量非结构化文档的数据科学家、工程师及开发人员,特别是在构建知识库、从报告中提取数据或自动化复杂文档工作流的场景中表现优异。