Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atorber/aihcx-cli
https://github.com/atorber/aihcx-cli
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/atorber/aihcx-cli
- Owner: atorber
- Created: 2024-12-29T07:34:45.000Z (9 days ago)
- Default Branch: main
- Last Pushed: 2024-12-29T08:06:34.000Z (9 days ago)
- Last Synced: 2024-12-29T08:27:36.021Z (9 days ago)
- Language: Python
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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客户端
```