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.8.tar.gz (15.0 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.8-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for wedata_ml_runtime-0.1.8.tar.gz
Algorithm Hash digest
SHA256 b68d81b3e11d069f4738cad2355df0dc701bc8b245cb7aea9f37875a4a36feca
MD5 a4c0c2eff2a626a1895fb14ea398a372
BLAKE2b-256 d17e7726ca2e1228861ceb96e554e8df6461232850085e3860fea05ad8cd0568

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wedata_ml_runtime-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b1b9e43893491a3f69417ba2e3c700224bf19ca8f4f4fba0fe2e8070984f3a4b
MD5 031878e1e9ee56053ef3877313597172
BLAKE2b-256 6a74cb7dd1b43b8a0124ec42235c5f5e882cbdc51000ea3a5796a3ec8c2e1b28

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