CLI
CLI概述
AgentArts Starter toolkit是SDK提供的命令行工具,用于在终端中管理Agent的部署、调用、状态查询和资源销毁等操作。
安装与配置
CLI工具通过agentarts.toolkit包提供,安装SDK后即可使用:
pip install agentarts-sdk
验证安装:
agentarts --version
命令列表
| 命令 | 说明 |
|---|---|
| 命令用于初始化一个新的AgentArts项目。该命令会创建完整的项目结构,包括Agent实现代码、依赖文件和配置文件,帮助开发者快速开始Agent应用开发。 | |
| 命令用于管理AgentArts项目配置。支持创建、更新、查看和管理Agent配置信息,包括基本配置、SWR配置和运行时配置等。 | |
| deploy和launch命令用于将Agent部署到华为云AgentArts平台。该命令会构建Docker镜像、上传到SWR(容器镜像服务),并创建或更新Agent实例。 | |
| 用于调用已部署的Agent,向其发送请求并获取响应。支持同步调用和流式调用两种模式,适用于测试Agent功能、调试业务逻辑以及生产环境调用。 | |
| 用于检查已部署Agent的健康状态。该命令会向Agent发送健康检查请求,返回当前运行状态、响应时间和健康指标,帮助开发者监控Agent运行情况。 | |
| 用于从华为云AgentArts平台删除Agent及其相关资源。该命令会永久删除Agent实例、配置信息和相关资源,执行前会提示确认,防止误操作。 |
init - 初始化agent项目
命令用于初始化一个新的AgentArts项目。该命令会创建完整的项目结构,包括Agent实现代码、依赖文件和配置文件,帮助开发者快速开始Agent应用开发。
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
| --name | -n | 项目名称 | myagent-{随机字符} |
| --template | -t | 项目模板类型 | 交互式选择 |
| --path | -p | 项目创建路径 | 当前目录 |
| --region | -r | 华为云区域 | cn-southwest-2 |
| --swr-org | 无 | SWR组织名称 | agentarts-{随机字符}-org |
| --swr-repo | 无 | SWR仓库名称 | agent_{Agent名称} |
| 模板名称 | 说明 |
|---|---|
| basic | 基础模板,适合快速开始。 |
| langgraph | LangGraph框架模板,支持状态工作流。 |
| langchain | LangChain框架模板,支持工具集成。 |
| google-adk | Google ADK框架模板,支持Gemini模型。 |
执行效果
执行init命令后,会在指定路径下创建以下项目结构:
{project_name}/
├── .agentarts_config.yaml # AgentArts配置文件
├── agent.py # Agent实现代码
├── Dockerfile # Docker构建文件
└── requirements.txt # 项目依赖文件 - .agentarts_config.yaml:AgentArts配置文件,包含部署和运行配置。
- agent.py: Agent的主要实现文件,包含入口函数和业务逻辑。
- Dockerfile:Docker镜像构建文件,用于容器化部署。
- requirements.txt:项目依赖列表,包括SDK和框架包。
使用示例
- 示例 1: 交互式创建项目
agentarts init
执行后会提示:
- 输入项目名称
- 选择模板类型(输入数字选择)
- 输入华为云区域(默认cn-southwest-2)
- 示例 2: 使用LangGraph模板创建项目
agentarts init --name my-agent --template langgraph
- 示例 3: 指定路径和区域创建项目
agentarts init -n my-agent -t langchain --path ./projects --region cn-southwest-2
- 示例 4: 完整参数示例
agentarts init \ --name my-agent \ --template langgraph \ --path ./my-projects \ --region cn-southwest-2 \ --swr-org my-organization \ --swr-repo my-repository
configure/config - 配置Agent
命令用于管理AgentArts项目配置。支持创建、更新、查看和管理Agent配置信息,包括基本配置、SWR配置和运行时配置等。
configure是config命令的别名,两者功能完全相同。
| 参数 | 简写 | 说明 | 是否必填 |
|---|---|---|---|
| --name | -n | Agent名称 | 否,交互式提示 |
| --entrypoint | -e | Agent入口函数 | 否,交互式提示 |
| --region | -r | 华为云区域 | 否,默认cn-southwest-2 |
| --dependency-file | -d | 依赖文件路径 | 否,自动检测 |
| --swr-org | 无 | SWR组织名称 | 否,默认agentarts-org |
| --swr-repo | 无 | SWR仓库名称 | 否,默认agent_{Agent名称} |
| --set-default | 无 | 设置为默认Agent | 否,默认是 |
执行agentarts config后,会依次提示输入:
- Agent名称(显示已有Agent列表)
- 入口函数(格式:module:function)
- 华为云区域(默认cn-southwest-2)
- 依赖文件(自动检测requirements.txt)
- SWR组织名称
- SWR仓库名称
配置完成后:
- 保存配置到 .agentarts_config.yaml
- 自动生成Dockerfile(如果不存在)
使用示例
- 示例 1: 交互式配置
agentarts config
按提示输入配置信息,适合首次配置或不确定参数时使用。
- 示例 2: 快速配置
agentarts config --name my-agent --entrypoint agent:create_app
仅提供必要参数,其他使用默认值。
- 示例 3: 完整参数配置
agentarts config \ --name my-agent \ --entrypoint agent:create_app \ --region cn-southwest-2 \ --dependency-file requirements.txt \ --swr-org my-organization \ --swr-repo my-repository
- 示例 4: 列出所有Agent
agentarts config list
- 示例 5: 设置默认Agent
agentarts config set-default my-agent
deploy/launch- 部署Agent
deploy和launch命令用于将Agent部署到华为云AgentArts平台。该命令会构建Docker镜像、上传到SWR(容器镜像服务),并创建或更新Agent实例。
launch是deploy命令的别名,两者功能完全相同。
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
| --agent | -a | Agent名称 | 使用默认Agent |
| --mode | -m | 部署模式(local/cloud) | cloud |
| --tag | -t | Docker镜像标签 | latest |
| --port | -p | 服务端口(覆盖配置) | 从配置文件读取 |
| --local-port | -l | 本地端口映射(本地模式) | 从配置文件读取 |
| --swr-org | 无 | SWR组织(覆盖配置) | 从配置文件读取 |
| --swr-repo | 无 | SWR仓库(覆盖配置) | 从配置文件读取 |
| --description | -d | Agent描述(覆盖配置) | 从配置文件读取 |
部署流程
执行deploy命令会依次执行以下步骤:
- 配置验证
- 检查 .agentarts_config.yaml配置文件
- 验证必要配置项是否完整
- 确认Agent入口函数存在
- 镜像构建
- 读取Dockerfile构建配置
- 构建包含Agent代码的Docker镜像
- 标记镜像版本(latest和时间戳版本)
- 镜像推送
- 登录华为云SWR服务
- 推送镜像到指定组织和仓库
- 验证镜像推送成功
- Agent创建/更新
- 调用AgentArts控制平面API
- 创建新的Agent或更新现有Agent
- 配置运行时参数和环境变量
- 部署验证
- 检查Agent状态
- 验证服务可用性
- 输出访问端点信息
使用示例
- 示例 1: 基本部署
agentarts deploy
使用默认Agent和配置进行部署。
- 示例 2: 指定Agent部署
agentarts deploy --agent my-agent
或使用简写:agentarts deploy -a my-agent
invoke - 调用Agent
用于调用已部署的Agent,向其发送请求并获取响应。支持同步调用和流式调用两种模式,适用于测试Agent功能、调试业务逻辑以及生产环境调用。
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
| payload | - | JSON格式的请求数据(位置参数) | 必填 |
| --agent | -a | Agent名称 | 使用默认Agent |
| --region | -r | 华为云区域 | 从配置文件读取 |
| --mode | -m | 调用模式(local/cloud) | cloud |
| --port | -p | 本地模式端口 | 8080 |
| --endpoint | -e | 指定端点名称 | 无 |
| --session | -s | 会话ID(用于有状态Agent) | 自动生成UUID |
| --bearer-token | -bt | Bearer认证令牌 | 无 |
| --timeout | - | 请求超时时间(秒) | 900 |
使用示例
- 示例 1: 基本调用
agentarts invoke '{"message": "你好"}' - 示例 2: 指定Agent调用
agentarts invoke '{"message": "你好"}' --agent my-agent - 示例 3: 使用简写参数
agentarts invoke '{"message": "你好"}' -a my-agent - 示例 4: 指定区域调用
agentarts invoke '{"message": "你好"}' --agent my-agent --region cn-southwest-2 - 示例 5: 本地模式调用
agentarts invoke '{"message": "你好"}' --mode local
status - 查询状态
用于检查已部署Agent的健康状态。该命令会向Agent发送健康检查请求,返回当前运行状态、响应时间和健康指标,帮助开发者监控Agent运行情况。
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
| --agent | -a | Agent名称 | 使用默认Agent |
| --region | -r | 华为云区域 | 从配置文件读取 |
| --mode | -m | 检查模式(local/cloud) | cloud |
| --port | -p | 本地模式端口 | 8080 |
| --bearer-token | -bt | Bearer认证令牌 | 无 |
| --endpoint | -e | 指定端点名称 | 无 |
| --session | -s | 会话ID(用于有状态Agent) | 无 |
使用示例
- 示例 1: 检查默认Agent状态
agentarts status
- 示例 2: 检查指定Agent状态
agentarts status --agent my-agent
或使用简写:agentarts status -a my-agent
- 示例 3: 指定区域检查
agentarts status --agent my-agent --region cn-southwest-2
或使用简写:agentarts status -a my-agent -r cn-southwest-2
- 示例 4: 本地模式检查
agentarts status --mode local
或指定端口:agentarts status --mode local --port 8080
destroy - 销毁资源
用于从华为云AgentArts平台删除Agent及其相关资源。该命令会永久删除Agent实例、配置信息和相关资源,执行前会提示确认,防止误操作。
此操作不可逆,删除后无法恢复Agent数据和配置。
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
| --agent | -a | Agent名称 | 使用默认Agent |
| --region | -r | 华为云区域 | 从配置文件读取 |
| --yes | -y | 跳过确认提示 | false |
使用示例
- 示例 1: 交互式删除默认Agent
agentarts destroy
执行后会提示确认,输入y确认删除。
- 示例 2: 删除指定Agent
agentarts destroy --agent my-agent