Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/atorber/aihcx-cli


https://github.com/atorber/aihcx-cli

Last synced: 3 days ago
JSON representation

Awesome Lists containing this project

README

        

# AI训练平台命令行工具

一个用于管理AI训练平台的命令行工具。

## 使用源码安装

```bash
pip install -r requirements.txt
pip install -e .
```

## 打包发布

### 打包和安装

1. 本地打包
在项目根目录下运行:
```
python setup.py sdist
```

打包后的文件会保存在 dist/ 目录中,例如:dist/aihcx-0.1.0.tar.gz。

2. 本地安装
使用 pip 安装:

```
pip install dist/aihcx-0.1.0.tar.gz
```

3. 运行工具
安装完成后,运行:
```
aihcx
```

### 发布新版本

1. 更新版本号
编辑 setup.py 中的 version 字段

2. 创建新的 tag
```bash
git tag v0.1.0
git push origin v0.1.0
```

3. 构建分发包
```bash
# 安装构建工具
pip install build wheel

# 构建源码包和wheel包
python setup.py sdist bdist_wheel
```

4. 发布到PyPI(可选)
```bash
# 安装发布工具
pip install twine

# 检查分发包
twine check dist/*

# 上传到 PyPI
twine upload dist/*
```

或者创建 GitHub Release,CI 会自动发布到 PyPI。

5. 安装新版本
```bash
pip install --upgrade aihcx
```

### 发布到 PyPI(可选)

1. 安装 twine:
```
pip install twine
```

2. 上传到 PyPI:
```
twine upload dist/*
```

3. 发布后,用户可以通过以下命令直接安装:
```
pip install aihcx
```

## 配置

### 基本配置

首次使用前需要配置认证信息:

```bash
# 设置配置信息
aihcx config \
--host aihc.bj.baidubce.com \
--access-key \
--secret-key \
--pool

# 查看当前配置
aihcx config --show
```

### 命令补全

安装命令自动补全支持:

```bash
# 对于 zsh
aihcx completion zsh >> ~/.zshrc
source ~/.zshrc

# 对于 bash
aihcx completion bash >> ~/.bashrc
source ~/.bashrc

# 对于 fish
aihcx completion fish > ~/.config/fish/completions/aihcx.fish
```

补全支持:
- 命令补全(Tab键)
- 子命令补全
- 参数名补全
- 资源名补全(部分支持)

## 使用方法

所有命令都支持 `--help` 选项查看详细帮助信息。

### 训练任务管理

```bash
# 创建任务
aihcx job create -f job.json # 从配置文件创建任务

# 查看任务列表
aihcx job list # 列出所有任务
aihcx job list --pool # 指定资源池的任务
aihcx job list --page 2 --size 20 # 分页查询
aihcx job list --order desc # 按时间降序排列

# 获取任务详情
aihcx job get # 获取任务详情
aihcx job status # 获取任务状态

# 任务操作
aihcx job delete # 删除任务
aihcx job update --priority high # 更新任务优先级(high/normal/low)

# 任务日志和终端
aihcx job logs --podname # 查看任务日志
aihcx job exec --podname [command] # 连接到任务实例
aihcx job exec --podname -it bash # 交互式终端

# 导出任务配置
aihcx job export # 导出任务配置到文件
```

### 资源池管理

```bash
# 查看资源池列表
aihcx pool list # 显示所有资源池

# 获取资源池详情
aihcx pool get [pool-id] # 不指定ID时使用默认资源池
```

### 队列管理

```bash
# 查看队列列表
aihcx queue list # 显示所有队列
aihcx queue list --pool # 指定资源池的队列

# 获取队列详情
aihcx queue get [queue-name] # 不指定名称时使用default队列
aihcx queue get --pool # 指定资源池的队列
```

### 节点管理

```bash
# 查看节点列表
aihcx node list # 显示所有节点
aihcx node list --pool # 指定资源池的节点
```

### Pod管理

```bash
# 查看Pod列表
aihcx pod list # 显示任务的所有Pod
```

### 命令格式说明

命令遵循以下格式:
```bash
aihcx [TYPE] [COMMAND] [NAME] [FLAGS]
```

- TYPE: 资源类型,如 job、pool、node、queue、pod
- COMMAND: 操作命令,如 create、list、get、delete 等
- NAME: 资源名称(部分命令需要)
- FLAGS: 命令参数

### 版本信息

```bash
aihcx version # 显示版本信息
```

## 环境变量支持

可以通过环境变量设置常用配置:

```bash
export AIHC_HOST=aihc.bj.baidubce.com
export AIHC_ACCESS_KEY=your-access-key
export AIHC_SECRET_KEY=your-secret-key
export AIHC_DEFAULT_POOL=your-default-pool
```

## 注意事项

1. 请妥善保管AK/SK密钥对
2. 建议设置默认资源池,简化命令使用
3. 使用自动补全提高效率
4. 大型任务配置建议使用配置文件
5. 导出任务配置后可用于快速复制任务
6. 使用 --help 查看每个命令的详细用法

## 项目结构

```
aihcx-cli/
├── README.md # 本文档
├── requirements.txt # 依赖包
├── setup.py # 安装配置
└── aihcx/ # 源代码
├── __init__.py # 包初始化
├── cli.py # CLI入口
├── commands.py # 命令实现
└── client.py # API客户端
```