
DocETL 是一个用于创建和执行数据处理流程的工具,尤其适合处理复杂的文档处理任务。它提供:
💡 需要帮助编写流程吗?
你可以使用 Claude Code(推荐)来帮助你编写流程——请参阅快速入门:https://ucbepic.github.io/docetl/quickstart-claude-code/
如果你想使用 ChatGPT 或 Claude 应用,请参阅 docetl.org/llms.txt 获取一个大的提示词,你可以在描述任务前复制/粘贴。
使用 DocETL 主要有两种方式:
DocWrangler 帮助你迭代式地开发流程:
- 实时尝试不同的提示词并查看结果
- 逐步构建你的流程
- 导出最终确定的流程配置以供生产使用

DocWrangler 托管在 docetl.org/playground。若要在本地运行游乐场,你可以:
- 使用 Docker(推荐快速启动):make docker
- 手动设置开发环境
详细说明请参阅 游乐场设置指南。
如果你想将 DocETL 作为 Python 包使用:
pip install docetl
在你的项目目录中创建一个 .env 文件:
OPENAI_API_KEY=your_api_key_here # LLM 操作所需(或你选择的 LLM 的密钥)
⚠️ 重要:两个不同的 .env 文件
- 根目录.env:由执行 DocETL 流程的后端 Python 服务器使用
-website/.env.local:由 DocWrangler 中的前端 TypeScript 代码使用(用于“改进提示词”和“聊天机器人”等 UI 功能)
查看如何使用 DocETL 的示例,请参阅 教程。
要在本地运行 DocWrangler,你有两个选择:
运行 DocWrangler 游乐场最简单的方式:
在根目录创建 .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
make docker
这将:
- 创建一个用于持久化数据的 Docker 卷
- 构建 DocETL 镜像
- 运行容器,UI 可通过 http://localhost:3000 访问
清理 Docker 资源(注意:这将删除 Docker 卷):
make docker-clean
本框架支持与 AWS Bedrock 集成。启用方法:
aws configure
make test-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 文档。
用于开发或如果你不想使用 Docker:
git clone https://github.com/ucbepic/docetl.git
cd docetl
.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
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
make run-ui-dev
如果你计划贡献或修改 DocETL,可以通过运行测试套件来验证你的设置:
make tests-basic # 运行基本测试套件(使用 OpenAI 时成本 < $0.01)
详细文档和教程,请访问我们的 文档网站。