
# 通过SDK部署智能体运行时
本文以预置Agent模板为例，介绍如何在本地使用AgentArts SDK的Toolkit工具将本地代码部署到云上AgentArts智能体运行时。
#### 背景介绍
AgentArts SDK包含一套命令行工具，用于简化Agent应用的全生命周期管理，包括初始化、配置、构建、部署和运维。当前Toolkit已预置以下Agent示例模板供您选择，您也可以使用自研代码：
- basic：基础智能体模板，具有最小化的设置。适用于从一个非常简单的起点开始，然后根据需求逐步添加功能的开发者。它提供一个基本的框架，可以帮助开发者快速启动项目，而不需要从零开始构建所有内容。
- langgraph：基于LangGraph的智能体，适用于需要处理复杂状态和逻辑的应用场景。
- langchain：基于LangChain的智能体，适合需要将多个语言处理工具和服务集成到一个应用中的场景。
- google-adk：Google ADK智能体模板，适用于利用Google提供的技术和工具来开发智能体应用的开发者。
 
#### 前提条件
- 操作系统：Linux ARM64，服务器可访问公网。
  ![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/caution_3.0-zh-cn.png)
  需使用ARM64系统制作的Agent镜像，使用X86系统制作的镜像在调用智能体运行时时会调用失败。
  可以使用华为云ECS服务购买服务器，购买时需要选择鲲鹏架构（ARM64）。
  ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002675304607.png "点击放大")
  
- 安装Python：请确保Python 3.10及以上版本已安装。 大多数Linux发行版（如Ubuntu）都预装了Python，您可以先通过python3 --version检查。如未安装，可以使用如下命令安装：
  ```
  sudo apt update
  sudo apt install python3
  ```
  
- 安装Docker：请确保Docker 18.06及以上版本已安装。如未安装，可以使用如下命令安装：
  ```
  # 查询 Docker 版本
  docker --version
  # 安装Docker
  sudo apt update
  sudo apt install docker.io
  ```
  安装完成后，建议立即配置国内镜像加速器。在后续执行agentarts launch构建镜像时，Docker需要拉取python:3.10-slim基础镜像，默认从docker.io官方仓库下载，可能超时失败。提前配置加速器可避免此问题。
  执行以下命令创建Docker配置目录：
  ```
  sudo mkdir -p /etc/docker
  ```
  执行以下命令配置国内镜像源（直接复制并回车执行）：
  ```
  sudo tee /etc/docker/daemon.json <<-'EOF'
  {
    "registry-mirrors":[
      "https://docker.m.daocloud.net",
      "https://dockerproxy.net",
      "https://mirror.baidubce.com"
    ]
  }
  EOF
  ```
  依次执行以下命令重启Docker服务，使配置生效：
  ```
  sudo systemctl daemon-reload
  sudo systemctl restart docker
  ```
  ![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
  华为云SWR基础版不支持OCI镜像格式，如果您使用的是Docker 27及以上版本，并且需要处理OCI镜像，可以通过设置环境变量来关闭OCI支持。
  ```
  export DOCKER_BUILDKIT=0
  # 或者
  export BUILDKIT_USE_OCI_MEDIA_TYPES=0
  ```
  
- 执行以下命令安装SDK（建议在Python虚拟环境中安装，以避免与系统包产生冲突）。
  ```
  # 安装依赖包
  apt install python3.12-venv
  # 创建并激活虚拟环境 (linux) 
  python3 -m venv venv
  source venv/bin/activate
  # 安装sdk
  pip install agentarts-sdk
  ```
  ![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
  - 执行pip install agentarts-sdk命令下载缓慢、超时可以更改为使用如下命令
    ```
    pip install agentarts-sdk -i https://repo.huaweicloud.com/repository/pypi/simple --trusted-host repo.huaweicloud.com
    ```
    
  
  - 如果系统缺少python3-venv包，导致无法创建虚拟环境，请按照命令回显提示安装python3-venv包。 ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002568294810.png "点击放大")
    
    
- 执行以下命令配置华为云凭证，获取华为云凭证请参考[认证鉴权](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_047.html)。
  ```
  export HUAWEICLOUD_SDK_AK="your-access-key"
  export HUAWEICLOUD_SDK_SK="your-secret-key"
  ```
  
 
#### 通过SDK部署智能体运行时
1. 创建agent。 
   执行以下命令初始化一个LangGraph项目，支持基本的问答能力。
   ```
   agentarts init -n my-agent -t langgraph
   ```
   执行完成后会在目录下创建如下目录和文件：
   ```
   my_agent/
   ├── agent.py              # Agent implementation
   ├── requirements.txt      # Python dependencies
   ├── Dockerfile            
   └── .agentarts_config.yaml # Project configuration
   ```
   
   
2. （可选）配置agent。使用交互式配置向导设置部署参数。 
   ```
   agentarts config
   ```
   配置向导会引导完成以下配置，按Enter键表示使用默认配置：
   1. Agent名称（显示已有Agent列表）
   
   2. 入口函数（格式：module:function）
   
   3. 华为云区域（默认cn-southwest-2）
   
   4. 依赖文件（自动检测requirements.txt）
   
   5. SWR组织名称
   
   6. SWR仓库名称
   
   
   
   
3. 修改.agentarts_config.yaml中环境变量配置。 
   ```
   environment_variables:
     - key: OPENAI_API_KEY
       value: 您申请的大模型apikey
     - key: OPENAI_MODEL_NAME
       value: 您申请的大模型名称
     - key: OPENAI_BASE_URL
       value: 您申请的大模型访问地址
   ```
   
   
4. 部署agent。 
   执行以下命令，将应用在本地构建镜像并部署至AgentArts智能体运行时。
   ```
   agentarts launch
   ```
   ![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
   首次部署耗时较长，大约需要3-5min，请耐心等待。
   当回显部署完成时，则表示创建成功。
   图1部署完成   
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002567935750.png "点击放大")
   部署完成后登录AgentArts控制台，查看已部署的智能体运行时及详细信息。
   图2查看已部署的智能体运行时   
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002598538185.png "点击放大")
   
   
5. 查看智能体启动状态以及调试agent。 
   执行以下命令，对agent进行调试。
   ```
   agentarts invoke '{"message":"你好"}'
   ```
   调用成功结果如下：
   ![](https://support.huaweicloud.com/highcode-agentarts/zh-cn_image_0000002598537817.png "点击放大")
   
   
 
#### 更多操作
关于SDK使用的更多详细操作请参考[AgentArts SDK参考](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_035.html)。
