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.