Skip to main content

WeData 3.0 机器学习 Notebook Kernel 运行时初始化库,提供 MLflow 深度桥接、Feast gRPC 代理、腾讯云 OpenAPI 签名调用及平台级多租户隔离。

Project description

wedata-ml-runtime

WeData 3.0 机器学习 Notebook Kernel 运行时初始化库。

定位

本包是 WeData 3.0 Notebook 场景下,运行在 DLC 计算容器中的 Kernel 启动适配层。它不改变用户代码,而是通过 monkey patching 把开源的 mlflow / feast 改造成带有 WeData 平台语义(多租户隔离、CAM 鉴权、审计、网关代理)的版本。

前身:wedata-pre-code(同时支持 2.0 和 3.0)

本包仅承载 WeData 3.0 逻辑。WeData 2.0 仍沿用 wedata-pre-code,位于 ../wedata-pre-execute/(已进入维护模式)。

核心能力

  1. 装包标记:配合 DLC 镜像预装 → 运行时刷新 /opt/spark/pip_list.json 系统包快照,消除重复装包告警
  2. 环境变量注入WEDATA_WORKSPACE_ID / MLFLOW_TRACKING_URI / TENCENTCLOUD_SECRET_ID/KEY/TOKEN / KERNEL_WEDATA_* 等 20+ 条
  3. MLflow 客户端重写
    • create/get/search/rename/delete experiment 改走腾讯云 OpenAPI(TC3-HMAC-SHA256 手签)
    • MlflowClient 上所有写操作套装饰器做 workspace_id 校验
  4. Feast gRPC 代理:给 RemoteRegistryX-Target-Service-IP/PORT 请求头走反向代理
  5. 自动 tag 注入:所有 mlflow 对象自动打上 wedata.workspace / wedata.datascience.type / mlflow.user

使用

%pip install wedata-ml-runtime
from wedata_ml_runtime.client import Wedata3PreCodeClient

client = Wedata3PreCodeClient(
    workspace_id="...",
    base_url="...",
    region="...",
    ap_region_id=1,
    mlflow_gateway_url="...",
    feast_gateway_url="...",
    mlflow_proxy_ip="...",
    mlflow_proxy_port="...",
    feast_proxy_ip="...",
    feast_proxy_port="...",
    kernel_task_name="...",
    kernel_task_id="...",
    cloud_sdk_secret_id="...",
    cloud_sdk_secret_key="...",
    cloud_sdk_secret_token="...",
    qcloud_uin="...",
    qcloud_subuin="...",
)
client.init()

必传参数

参数 说明
workspace_id 工作空间 ID
base_url WeData 控制台基础 URL
mlflow_gateway_url MLflow Serverless 网关地址
feast_gateway_url Feast Serverless 网关地址
mlflow_proxy_ip / mlflow_proxy_port MLflow 转发地址
feast_proxy_ip / feast_proxy_port Feast 转发地址

可选参数

参数 说明
region / ap_region_id 地域标识
kernel_task_name / kernel_task_id 任务身份
kernel_submit_form_workflow 工作流标识
cloud_sdk_secret_id / cloud_sdk_secret_key / cloud_sdk_secret_token CAM 临时凭证三元组(12 小时过期)
cloud_sdk_env SDK 环境(dev / test / pre
cloud_sdk_user_id 测试账户 ID(cloud_sdk_env=test 时使用)
qcloud_uin / qcloud_subuin 腾讯云主账号 / 子账号 UIN

构建发布

bash build.sh

脚本内容:rm -rf dist/ build/uv buildtwine upload dist/*

从 wedata-pre-code 迁移

维度 老包 wedata-pre-code 新包 wedata-ml-runtime
PyPI 名 wedata-pre-code wedata-ml-runtime
Python 模块 wedata_pre_code.wedata3.client wedata_ml_runtime.client
客户端类 Wedata3PreCodeClient Wedata3PreCodeClient(保持兼容)
extras pip install "wedata-pre-code[wedata-3]" 无需 extras,主依赖已覆盖
覆盖平台 2.0 + 3.0 仅 3.0

迁移办法:把 %pip install wedata-pre-code[wedata-3]==X.Y.Z 改为 %pip install wedata-ml-runtime==X.Y.Z,并把 from wedata_pre_code.wedata3.client import Wedata3PreCodeClient 改为 from wedata_ml_runtime.client import Wedata3PreCodeClient

相关设计文档

  • application/science/doc/plan/wedata-pre-code-image-baseline-plan.md:DLC 镜像基线 + 运行时 Override 方案

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wedata_ml_runtime-0.1.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wedata_ml_runtime-0.1.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file wedata_ml_runtime-0.1.0.tar.gz.

File metadata

  • Download URL: wedata_ml_runtime-0.1.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for wedata_ml_runtime-0.1.0.tar.gz
Algorithm Hash digest
SHA256 92940003062cbffebdbcf396b71286a216e2c6c2ab590dc8d151f88f9a7239d5
MD5 285c101356e7f39751ab5517f4f0b5ba
BLAKE2b-256 a9c53aaac514c5ad68828756a3cb9c1ff3e332a534d011f4edc7f7b25ec02e59

See more details on using hashes here.

File details

Details for the file wedata_ml_runtime-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wedata_ml_runtime-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84bec46a56c45875c3586569a721390fb42f2287d307ac94a6cd1acbf6f05524
MD5 1f983cc6377ac6e83039c8afaa09cc05
BLAKE2b-256 adc5606c879c8c2b49774a30519d7d35c6e0aa7edee2b01c2383e0e7945ed205

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page