这个项目能做什么
PyCaret 是一个面向 Python 的开源、低代码 AutoML 平台。4.0 系列是一次从底层开始的重构,将三部分打包进一个自托管盒子:基于 sklearn 1.7 的 AutoML 引擎(PyPI 上的 `pycaret` 包)、FastAPI 控制平面,以及 React + Vite Web UI。3.x 系列在 PyPI 上冻结为 `pycaret 3.4.0`,而 4.0 在 `main` 分支上被明确标记为进行中。
控制平面暴露工作区、项目、实验、运行、模型注册表、部署、审批、监控、漂移检测、血缘、webhook、调度,以及 LLM 咨询式 copilot。UI 以深色模式优先,支持点击操作;无需编辑 YAML。一条黄金路径可让用户在约十分钟内完成从数据集上传,到实验、排行榜、晋升到模型注册表、部署到端点 slug,并通过 UI 面板或对 `/api/v1/deployments/<slug>/predict` 执行 `curl POST` 进行预测。
目前的部署方式刻意保持紧凑:`docker compose up --build` 会启动两个容器——端口 3020 上由 nginx 提供服务的 React 包,以及端口 8020 上的 FastAPI 进程,后者还运行进程内 APScheduler、进程内 ThreadPoolExecutor 计算、推理运行时,以及针对持久化到 Docker 卷的 SQLite 文件的 SQLAlchemy 会话。这种单二进制模式与 Plausible、Vaultwarden 和 n8n 使用的形态相同,适用于笔记本电脑和小团队生产环境。该架构被设计为可清晰拆分:每个外部依赖(存储、数据库、密钥、认证、队列、计算、通知)都旨在置于 `Protocol` 之后,并提供本地和云端实现,因此当单二进制形态不再够用时,同一代码库可以面向由 RDS、S3、Secrets Manager、SQS 和 Fargate 支持的独立 api / worker / runtime 容器。存储和数据库已经抽象化;剩余的 Protocol 抽取被排入 Phase 1 工作。
配置由仓库根目录的 `.env` 文件驱动。关键开关包括 `PYCARET_SECRETS_KEY`(用于静态加密 LLM API 密钥和连接密码的 Fernet 密钥,首次运行时自动生成并持久化)、`PYCARET_JWT_SECRET`(在生产环境中必须是强随机值)、`PYCARET_DATABASE_URL`(将 SQLite 替换为 Postgres),以及 `PYCARET_STORAGE_BACKEND=s3` 和 bucket 凭据,用于将工件移出本地磁盘。README 包含一个故障排除表,涵盖 Docker 守护进程连接、端口冲突、pip 安装缓慢、磁盘空间、CRLF shell 脚本、首次启动 Alembic 迁移缓慢,以及管理员密码丢失(恢复需要 `docker compose down -v`)。
支持不使用 Docker 的本地开发:通过 `uv sync --all-packages --all-extras` 加上在 `apps/web` 中执行 `npm install`,然后在端口 8020 上运行 `pycaret-server serve --reload`,并在端口 3020 上运行 `npm run dev`,由 Vite 将 `/api` 和 `/ws` 代理到后端。前置条件为 Python 3.13、Node 22、uv 0.11+ 和 npm 10+。
安全工具包括 `scripts/check-secrets.sh` 扫描器,用于阻止意外提交 Anthropic、OpenAI、Stripe、Slack、GitHub、AWS 和 Google API 密钥形态、Fernet 密文块以及 PEM 私钥。它可以安装为 git pre-push hook。按设计永不提交的文件包括 `*.db`、`*.sqlite`、`.env`、`*.pem`、`*.key`、`credentials.json`、`aws-credentials*` 和 `/data/`。
该项目采用双许可证:`packages/engine/` 下的引擎为 MIT(可免费用于任何用途,包括商业用途),而 `services/api/`、`apps/web/` 和 `infra/` 下的控制平面为 BUSL-1.1,并在四年后变更为 Apache-2.0。根据 Additional Use Grant,任何组织都允许进行生产自托管;受限情形是提供 PyCaret 本身的托管 SaaS。该项目被描述为贡献以 Claude Code 优先,并附有 `AGENTS.md` 简介和 `CONTRIBUTING.md` 人工工作流。
评论
0 评分人数达到10人后显示
登录后参与讨论。