This release is a pre-release and may not be stable for production use.
Datamind 是什么
Datamind 是一个开放式模型服务管理平台,专注于模型训练完成后的交付与运行。它连接模型开发与生产运行,让开发成果能够直接转化为生产服务。平台支持多框架、多任务和多算法,将复杂的交付、运行与治理沉淀为稳定的平台能力。
核心能力
- 多框架、多任务、多算法:支持不同机器学习框架,保持一致的交付与运行方式。
- 渐进式模型发布:支持全量、金丝雀和影子发布,让模型上线与切换更加可控。
- 在线与批量推理:支持实时预测和批量预测,满足不同生产运行场景。
- 在线实验与评估:支持 A/B 实验、稳定分桶和流量分配,用于真实流量下的运行指标与预测结果对比。
- 全生命周期治理:提供权限控制、操作审计和运行状态管理,让模型服务可追踪、可管理。
快速开始
Datamind 支持 Python >=3.12,<3.15,建议使用 Python 3.12。
如需异步任务或对象存储,还需分别配置 Redis 或 MinIO。已验证的版本为 Redis 8.8.2 和 MinIO RELEASE.2025-09-07T16-13-09Z。
安装
从 PyPI 安装:
python -m pip install pydatamind
如需机器学习框架支持,可按需安装对应 extra,例如:
python -m pip install "pydatamind[sklearn]"
或安装全部支持的机器学习框架:
python -m pip install "pydatamind[full]"
从源码安装:
git clone https://github.com/zhongsheng-chen/Datamind.git
cd Datamind
python -m pip install -e .
从源码运行管理控制台前,需要构建前端资源,推荐使用 Node.js 24:
npm ci
npm run build:console
配置
创建 .env 配置文件,并设置以下首次运行所需参数。完整配置项及说明见 .env.example。
# 运行环境
DATAMIND_ENVIRONMENT=development
# 数据库连接地址
DATAMIND_DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/dbname
# 身份认证
DATAMIND_AUTH_ENABLED=true
DATAMIND_AUTH_SECRET_KEY=replace-with-a-long-random-secret
DATAMIND_ENVIRONMENT:设置运行环境。DATAMIND_DATABASE_URL:设置 PostgreSQL 数据库连接地址。DATAMIND_AUTH_ENABLED:是否启用认证。DATAMIND_AUTH_SECRET_KEY:设置 JWT 签名密钥。
请根据实际环境设置数据库连接地址和 JWT 签名密钥。完整参数见环境变量,生产环境要求见生产部署和 Docker 部署。
初始化
执行数据库迁移:
datamind db upgrade
创建首个管理员并完成系统初始化:
datamind init
默认管理员用户名和密码均为 admin。如需自定义,请在执行初始化前配置:
DATAMIND_INIT_ADMIN_USERNAME=admin
DATAMIND_INIT_ADMIN_PASSWORD=replace-with-a-strong-password
登录
启用认证后,完成系统初始化即可登录 CLI:
datamind login --username admin
如已自定义管理员用户名,请替换命令中的 admin。按提示输入密码即可完成登录。CLI 会在本地保存登录凭据,供后续命令自动使用。
启动
启动服务:
datamind service run
在另一个终端启动管理控制台:
datamind console run
打开管理控制台:http://127.0.0.1:8701,使用初始化时创建的管理员账号登录。
模型支持
Datamind 当前支持分类与评分两类任务,并兼容多种主流 Python 机器学习框架。
| 机器学习框架 | 分类 | 评分 |
|---|---|---|
| scikit-learn | ✓ | ✓ |
| XGBoost | ✓ | — |
| LightGBM | ✓ | — |
| CatBoost | ✓ | — |
- 分类任务:支持
sklearn.linear_model.LogisticRegression、sklearn.tree.DecisionTreeClassifier和sklearn.ensemble.RandomForestClassifier,并兼容XGBoost、LightGBM与CatBoost,返回分类标签与预测概率。 - 评分任务:支持以
sklearn.linear_model.LogisticRegression为估计器的optbinning.Scorecard,返回违约概率、总评分与特征分。
示例
示例位于源码仓库的 examples/ 目录,请克隆仓库后在项目根目录运行。 相关依赖包括 scikit-learn、optbinning 和 CatBoost。若已安装对应 extra 或 pydatamind[full],可跳过依赖安装。
python -m pip install -e ".[sklearn,catboost]"
分类任务
以 fraud-risk 欺诈风险模型为例:
python examples/classification/catboost/train.py \
--output examples/classification/catboost/artifacts/fraud_risk.cbm
datamind model register fraud-risk \
--display-name "欺诈风险模型" \
--version 1.0.0 \
--model-path examples/classification/catboost/artifacts/fraud_risk.cbm \
--framework catboost \
--model-type catboost \
--task-type classification
评分任务
以 application-scorecard 申请评分模型为例:
python examples/scorecard/train.py
datamind model register application-scorecard \
--display-name "申请评分模型" \
--version 1.0.0 \
--model-path examples/scorecard/artifacts/application_scorecard.pkl \
--framework sklearn \
--model-type logistic_regression \
--task-type scoring
更多示例见 examples。
Docker 镜像
Datamind 的 Docker 镜像发布于 Docker Hub:
docker.io/zhongshengchen/datamind:latest
Docker 镜像、Docker Compose 及相关配置见 Docker 部署文档。
文档
安装、使用与部署说明见 Documentation。
开发
安装开发环境:
python -m pip install -e ".[test,full,release]"
npm ci
npm run build:console
运行本地测试:
make test-all
构建:
make build
致谢
感谢所有参与 Datamind 开发、测试、文档与反馈的贡献者,以及为本项目提供基础能力的开源社区。
License
Datamind 使用 Apache License 2.0。
Metadata
Release files for pydatamind 0.1.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pydatamind-0.1.0rc1.tar.gz | 710.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydatamind-0.1.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / pydatamind-0.1.0rc1.tar.gz
| Download URL | pydatamind-0.1.0rc1.tar.gz |
|---|---|
| Size | 710.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
297ce821829656889ac87caf9c83c32c51c3fc3a46b6c0723fe7749bd2cc2c28
|
|
BLAKE2b-256 checksum How to use checksums |
76ab09385ee1243591a5592c41876d087cedf85bcd259143b7475f06ab7092ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.15
|
Release files / pydatamind-0.1.0rc1-py3-none-any.whl
| Download URL | pydatamind-0.1.0rc1-py3-none-any.whl |
|---|---|
| Size | 737.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eeabaee53624e958cd3e359e7b651215fd44f8fa62070102bd62c019362e4d40
|
|
BLAKE2b-256 checksum How to use checksums |
4da69a3c986bcf086f5b838ffbb0c9795aad054ca57844ddcca0c9ba7365662e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.15
|
Security for pydatamind 0.1.0rc1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.