OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  DocETL — 面向文档处理与信息抽取的 LLM 数据流水线

DocETL — 面向文档处理与信息抽取的 LLM 数据流水线

 
  aero ·  2026-04-15 11:00:29 · 10 次点击  · 0 条评论  

📜 DocETL:驱动复杂文档处理流程

官网
文档
Discord
论文

DocETL 示意图

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

  1. 一个用于迭代式提示工程和流程开发的交互式 UI 游乐场
  2. 一个用于从命令行或 Python 代码运行生产流程的 Python 包

💡 需要帮助编写流程吗?
你可以使用 Claude Code(推荐)来帮助你编写流程——请参阅快速入门:https://ucbepic.github.io/docetl/quickstart-claude-code/
如果你想使用 ChatGPT 或 Claude 应用,请参阅 docetl.org/llms.txt 获取一个大的提示词,你可以在描述任务前复制/粘贴。

🌟 社区项目

📚 教育资源

🚀 快速开始

使用 DocETL 主要有两种方式:

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

DocWrangler 帮助你迭代式地开发流程:
- 实时尝试不同的提示词并查看结果
- 逐步构建你的流程
- 导出最终确定的流程配置以供生产使用

DocWrangler

DocWrangler 托管在 docetl.org/playground。若要在本地运行游乐场,你可以:
- 使用 Docker(推荐快速启动):make docker
- 手动设置开发环境

详细说明请参阅 游乐场设置指南

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

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

先决条件

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

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

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

⚠️ 重要:两个不同的 .env 文件
- 根目录 .env:由执行 DocETL 流程的后端 Python 服务器使用
- website/.env.local:由 DocWrangler 中的前端 TypeScript 代码使用(用于“改进提示词”和“聊天机器人”等 UI 功能)

查看如何使用 DocETL 的示例,请参阅 教程

2. 🎮 DocWrangler 设置

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

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

运行 DocWrangler 游乐场最简单的方式:

  1. 创建所需的环境文件:

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

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

# 前端配置
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 功能,如改进提示词和聊天机器人):

OPENAI_API_KEY=sk-xxx  # 由 TypeScript 功能使用:改进提示词、聊天机器人等
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
  1. 测试你的 AWS 凭证:
make test-aws
  1. 使用 AWS 支持运行:
AWS_PROFILE=your-profile AWS_REGION=your-region make docker

或使用 Docker Compose:

AWS_PROFILE=your-profile AWS_REGION=your-region docker compose --profile aws up

环境变量:
- AWS_PROFILE:你的 AWS CLI 配置文件(默认:'default')
- AWS_REGION:AWS 区域(默认:'us-west-2')

Bedrock 模型以 bedrock 为前缀。更多详情请参阅 liteLLM 文档

选项 B:手动设置(开发)

用于开发或如果你不想使用 Docker:

  1. 克隆仓库:
git clone https://github.com/ucbepic/docetl.git
cd docetl
  1. 在根目录/顶级目录的 .env 文件中设置环境变量(用于后端 Python 服务器):
OPENAI_API_KEY=your_api_key_here  # 由 DocETL 流程执行引擎使用
# 后端配置
BACKEND_ALLOW_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
BACKEND_HOST=localhost
BACKEND_PORT=8000
BACKEND_RELOAD=True

# 前端配置
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 功能):

OPENAI_API_KEY=sk-xxx  # 由 TypeScript 功能使用:改进提示词、聊天机器人等
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. 安装依赖项:
make install      # 使用 uv 安装 Python 依赖并设置 pre-commit
make install-ui   # 安装 UI 依赖

如果你更喜欢直接使用 uv 而不是 Make:

curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --all-groups --all-extras
  1. 启动开发服务器:
make run-ui-dev
  1. 访问 http://localhost:3000/playground 以使用交互式 UI。

🛠️ 开发设置

如果你计划贡献或修改 DocETL,可以通过运行测试套件来验证你的设置:

make tests-basic  # 运行基本测试套件(使用 OpenAI 时成本 < $0.01)

详细文档和教程,请访问我们的 文档网站

10 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 27 ms
Developed with Cursor