QGate-Sln-MLRun
解决方案 MLRun(和 Iguazio)的质量门。该项目的主要目标是:
- 独立质量测试(功能、集成、性能、漏洞、验收……测试)
- 在公司环境中全面部署/使用之前进行更深入的质量检查
- 识别可能的兼容性问题(如果有)
- 外部和独立测试覆盖范围
- 社区支持
- ETC。
测试使用这些关键组件,MLRun 解决方案请参阅GIT mlrun ,示例元数据模型请参阅GIT qgate-model和此项目。
测试场景
质量门涵盖了这些测试场景(✅ 已完成、✔ 正在进行、已计划):
- 01 - 项目
- 02 - 功能集
- ✅ TS201:创建功能集
- ✅ TS202:创建功能集并从 DataFrame 源摄取(一步)
- ✅ TS203:创建功能集并从 CSV 源提取(一步)
- ✅ TS204:创建功能集并从 Parquet 源摄取(一步)
- ✅ TS205:创建功能集并从 SQL 源提取(一步)
- ✔ TS206:创建功能集并从 Kafka 源摄取(一步)
- ✔ TS207:创建功能集并从 HTTP 源摄取(一步)
- 03 - 摄取数据
- ✅ TS301:摄取数据(预览模式)
- ✅ TS302:从 DataFrame 源将数据摄取到功能集
- ✅ TS303:从 CSV 源将数据提取到功能集
- ✅ TS304:从 Parquet 源将数据摄取到功能集
- ✅ TS305:从 SQL 源将数据提取到功能集
- ✔ TS306:从 Kafka 源将数据提取到功能集
- ✔ TS307:从 HTTP 源将数据提取到功能集
- 04 - 摄取数据和管道
- ✅ TS401:摄取数据和管道(预览模式)
- ✅ TS402:从 DataFrame 源将数据和管道摄取到功能集
- ✅ TS403:从 CSV 源提取数据和管道到功能集
- ✅ TS404:从 Parquet 源提取数据和管道到功能集
- ✅ TS405:从 SQL 源提取数据和管道到功能集
- ✔ TS406:从 Kafka 源将数据和管道摄取到功能集
- TS407:从 HTTP 源提取数据和管道到功能集
- 05 - 特征向量
- 06 - 从向量获取数据
- ✅ TS601:从离线特征向量获取数据
- ✅ TS602:从在线特征向量获取数据
- 07 - 管道
- ✅ TS701:简单管道
- ✅ TS702:复杂的管道
- ✅ TS703:管道复杂,批量操作
- 08 - 构建模型
- ✅ TS801:构建 CART 模型
- TS802:构建 XGBoost 模型
- TS803:构建 DNN 模型
- 09 - 服务模型
- ✅ TS901:CART 发球得分
- TS902:XGBoost 的发球得分
- TS903:DNN 的发球得分
- 10 - 模型监控/漂移
- 11 - 性能测试
- TS1101:简单管道
- TS1102:复杂管道
- TS11xx:待定。
注意:每个测试场景都包含附加的特定测试用例(例如,具有不同的功能集目标等)。
测试输入/输出
质量门测试这些输入/输出(✅ 已完成、✔ 正在进行、已计划):
- 产出(目标)
- ✅ RedisTarget,✅ SQLTarget/MySQL,✔ SQLTarget/Postgres,✅ KafkaTarget
- ✅ ParquetTarget,✅ CSVTarget
- ✅ 文件系统、S3、BlobStorage
- 输入(来源)
- ✅ Pandas/DataFrame、✅ SQLSource/MySQL、SQLSource/Postgres、KafkaSource
- ✅ ParquetSource,✅ CSVSource
- ✅ 文件系统、S3、BlobStorage
MLRun 当前支持的源/目标。
输出样本
PART 报告的原始形式,请参阅:
- 全部完成 - HTML、TXT
- 有错误 - HTML、TXT
用法
您可以通过四个步骤轻松使用此解决方案:
- 将这两个GIT存储库的内容下载到本地环境
- 从 qgate-model 更新文件
qgate-sln-mlrun.env
- 更新 MLRun/Iguazio 的变量,请参阅
MLRUN_DBPATH
、 V3IO_USERNAME
、 V3IO_ACCESS_KEY
、 V3IO_API
- 仅在安装 Iguazio 时才需要设置
V3IO_*
(不适用于纯免费 MLRun)
- 更新QGate的变量,参见
QGATE_*
(基本描述直接在*.env中)
- 从
qgate-sln-mlrun
运行 - 查看输出(位置基于配置中的
QGATE_OUTPUT
)- './output/qgt-mlrun-.html'
- './output/qgt-mlrun-.txt'
前提:您有可用的 MLRun 或 Iguazio 解决方案(MLRun 是其中的一部分),请参阅官方安装步骤,或直接安装 Desktop Docker。
测试用
该项目使用以下 MLRun 版本进行了测试(请参阅更改日志):
- MLRun (在 Kubernetes 或桌面 Docker 中)
- MLRun 1.8.0(计划 2025 年第一季度)
- ✔ MLRun 1.7.0(?1.7.1?)
- ✅ MLRun 1.6.4、1.6.3、1.6.2、1.6.1、1.6.0
- ✅ MLRun 1.5.2、1.5.1、1.5.0
- ✅ MLRun 1.4.1
- ✅ MLRun 1.3.0
- Iguazio (k8s、本地、VMware 上的虚拟机)
- ✅ 伊瓜齐奥 3.5.3(带有 MLRun 1.4.1)
- ✅ 伊瓜齐奥 3.5.1(带有 MLRun 1.3.0)
注意:当前状态,仅测试最新的 MLRun/Iguazio 版本(向后兼容性基于 MLRun/Iguazio,请参阅)。
其他的
- To-Do ,预期/未来改进的列表,请参阅
- Applied Limits ,应用限制/问题列表,请参阅
- 如何测试该解决方案? ,你必须关注Linux环境。或使用 WSL2 的 Windows(请参阅分步教程)
- MLRun/Iguazio ,简而言之,关键变化(客户视图),请参阅
- MLRun 本地安装,参见 hack