Skip to main content

CLI tool for managing MAS hosting platform algorithm services

Project description

mas-algo-cli

华为云盘古大模型服务算法包开发和打包 CLI 工具。

要求

  • Python 3.9(算法包环境使用 Python 3.9)

安装和使用

mkdir my-workspace && cd my-workspace

# 1. 创建并激活虚拟环境
uv venv --python 3.9                     # 或 python3.9 -m venv .venv
source .venv/bin/activate                 # Windows: .venv\Scripts\activate

# 2. 安装 CLI
uv pip install mas-algo-cli              # 或 pip install mas-algo-cli

# 3. 安装托管环境常用依赖(numpy, pandas, scikit-learn, requests 等)
algo install-deps

# 4. 创建项目
algo new my_algo

# 5. 开发和运行
cd my_algo
cp .env.example .env
algo run

所有命令都在同一个虚拟环境中运行,无需为每个项目单独创建环境。

目录结构如下:

my-workspace/
├── .venv/          # 虚拟环境(CLI + 所有算法项目共用)
├── my_algo_1/      # 算法项目 1(algo new 创建)
├── my_algo_2/      # 算法项目 2
└── ...

命令

创建新项目

algo new my_algo

模板选项:

  • basic - 最小服务骨架
  • predict - 预测/ML(使用 pandas)
  • cv - 计算机视觉(使用 OpenCV)

algo new 会自动:

  1. 创建项目目录和文件
  2. 安装 rest-stubs 包(提供 IDE 支持)
  3. 安装模板所需依赖(如 pandas、opencv-python 等)

安装托管环境依赖

algo install-deps

一键安装托管环境中的常用包(numpy, pandas, scipy, scikit-learn, requests, flask, opencv-python, pillow 等),方便本地开发和测试。

本地运行

cd my_algo
cp .env.example .env
# 编辑 .env 设置 MODEL_URL

algo run

调试

  1. 生成 VS Code 调试配置:

    algo debug
    
  2. 以调试模式运行:

    algo run --debug
    
  3. 在 VS Code 中附加调试器:

    • 打开项目文件夹
    • Cmd+Shift+D 打开调试面板
    • 选择 "Attach to Algo Service"
    • F5
  4. main.py 中设置断点,然后发送请求:

    curl -X POST http://localhost:8080/ -H "Content-Type: application/json" -d '{"value": "test"}'
    

打包部署

algo pack

生成 .tar.gz 文件用于上传。

项目结构

my_algo/
├── main.py           # AlgoProcessor 类(必需)
├── requirements.txt  # 基础镜像中未包含的依赖
├── dependency/       # 离线 .whl 包
├── lib/              # .so 动态库(可选)
└── .env              # 环境变量

基础镜像依赖

托管环境已预装约 150 个包,下面的包不需要准备离线包:

类别
核心库 numpy 1.26.4, pandas 2.1.2, scipy 1.11.2
机器学习 scikit-learn 1.0.2, xgboost 1.6.2, lightgbm 3.3.5
深度学习 tensorflow 2.16.1, keras 3.9.0, torch 1.13.1
图像处理 opencv-python 4.7.0.72, pillow 11.2.1
网络框架 flask 3.0.0, requests 2.32.0, aiohttp 3.12.11
分布式 ray 2.46.0

添加依赖

对于基础镜像中未包含的包:

  1. 下载 .whl 文件
  2. 放入 dependency/ 目录
  3. requirements.txt 中添加:
    dependency/your-package-1.0.0-py3-none-any.whl
    

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

mas_algo_cli-0.2.1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

mas_algo_cli-0.2.1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file mas_algo_cli-0.2.1.tar.gz.

File metadata

  • Download URL: mas_algo_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for mas_algo_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 90b0392c3953d81b564d2eecb0d82120ae2fde589e52937e99fe8586eaf4eda7
MD5 d8b693486716ad1bccd500f4cfd681f6
BLAKE2b-256 580031cb9708b6d15d6a3167a60461c2bec1c1f265f30438d1f31b3112ed242a

See more details on using hashes here.

File details

Details for the file mas_algo_cli-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mas_algo_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0019f89c0bcb18a8f0c5465926a085cbb065e53691a3277ed2ba11bb7e0f9fd
MD5 4ef5245f8e6e623df28abdff452446f1
BLAKE2b-256 09630863476baaccd672b81f1cc36ddc1b132ff377298cf44439e65404e95b2c

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