AutoGLM-Phone 9B 端侧智能体:基于 vLLM 与 Docker 的云端部署与 ADB 联调指南

一、 产品概述与核心能力

AutoGLM-Phone 是智谱 AI 推出的端侧智能体模型,具备通过自然语言指令直接操作手机 GUI(图形用户界面)的能力。根据官方资料,它是一种基于图形用户界面(GUI)的自主任务完成智能体,能够模拟人类操作手机,执行社交媒体互动、在线购物、酒店预订等跨应用任务。

其核心架构融合了大语言模型的语义理解与任务规划能力,实现了从"思考"到"行动"的闭环。用户通过自然语言下达指令,AutoGLM-Phone 可自动分解任务、定位屏幕元素、执行点击/滑动等操作,并处理任务执行中的异常情况。

二、 部署前准备:环境与资源规划

1. 算力云服务器选购与配置

1.1 服务器规格选择
  • 显卡 :建议选择显存 40G 左右的显卡(如 A40, A100-40G, 或 4090),以确保 AutoGLM-Phone-9B 模型加载和推理的稳定性。
  • 计费模式:推荐选择"按小时租用",灵活划算。
  • 带宽配置强烈建议将带宽拉至最大值。模型文件和 Docker 镜像体积巨大,低带宽会导致下载耗时极长。
  • 系统镜像 :直接选择 Ubuntu 22.04 系统。
  • 端口映射 :创建实例后,务必记录控制台提供的外网端口容器内端口的对应关系,用于后续服务映射。
1.2 基础环境连接

通过 SSH 连接至您租用的云服务器。

bash 复制代码
ssh username@your_server_ip

2. Docker 环境安装与配置

2.1 清理旧版本并安装 Docker Engine

执行以下命令安装最新版 Docker:

bash 复制代码
# 更新索引并安装依赖
sudo apt-get update
sudo apt-get install ca-certificates curl

# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 添加 Docker APT 源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# 安装 Docker 及相关组件
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 验证安装
docker --version
2.2 配置国内镜像加速

编辑 Docker 守护进程配置文件以提升镜像拉取速度。

bash 复制代码
sudo vim /etc/docker/daemon.json

在文件中粘贴以下内容(按 i 进入编辑模式):

json 复制代码
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://noohub.ru",
        "https://huecker.io",
        "https://dockerhub.timeweb.cloud"
    ]
}

保存并退出(按 Esc,输入 :wq 回车),然后重启 Docker 服务。

bash 复制代码
sudo service docker restart
# 验证配置生效
sudo docker info | grep Mirrors -A 4

三、 模型下载与准备

我们需要将 ZhipuAI/AutoGLM-Phone-9B 模型下载到服务器的 /opt/model 目录。推荐使用 ModelScope(魔搭社区)进行下载。

1. 使用 ModelScope 下载(推荐)

bash 复制代码
# 安装下载工具
pip install modelscope

# 创建目录并下载模型
sudo mkdir -p /opt/model
sudo chmod 777 /opt/model # 确保有写入权限
modelscope download --model 'ZhipuAI/AutoGLM-Phone-9B' --local_dir '/opt/model'

2. 备用下载方案

若 ModelScope 下载缓慢,可使用 Git LFS 或 Python SDK 作为备用方案。

bash 复制代码
# 方案二:Git LFS
git lfs install
cd /opt/model
git clone https://www.modelscope.cn/ZhipuAI/AutoGLM-Phone-9B.git

# 方案三:Python SDK
from modelscope import snapshot_download
model_dir = snapshot_download('ZhipuAI/AutoGLM-Phone-9B')

四、 使用 vLLM 部署高性能推理服务

vLLM 框架能显著提升大模型推理的吞吐量和效率。我们将通过 Docker 运行 vLLM 服务。

1. 准备 NVIDIA Container Toolkit

确保宿主机已安装 NVIDIA 驱动,并配置容器工具包。

bash 复制代码
# 检查宿主机 NVIDIA 驱动
nvidia-smi

# 配置 NVIDIA 容器库(若 nvidia-smi 正常,此步可跳过)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

2. 启动 vLLM 推理服务容器

使用 Docker 命令启动服务。请将 <your_cloud_port> 替换为云服务器控制台映射给你的外网端口(例如 30001)。

bash 复制代码
docker run -d --gpus all \
  -p <your_cloud_port>:8000 \
  -v /opt/model:/app/model \
  --name autoglm-vllm \
  vllm/vllm-openai:latest \
  --model /app/model \
  --served-model-name AutoGLM-Phone-9B \
  --max-model-len 8192 \
  --tensor-parallel-size 1

参数说明

  • -p <your_cloud_port>:8000: 将容器内的 8000 端口映射到宿主机外网端口。
  • -v /opt/model:/app/model: 将宿主机模型目录挂载到容器内。
  • --gpus all: 允许容器使用所有 GPU。
  • --max-model-len 8192: 设置模型最大上下文长度。
  • --tensor-parallel-size 1: 设置张量并行大小,单卡设为 1。

3. 验证服务状态

服务启动后,可通过以下命令检查日志和进行 API 测试。

bash 复制代码
# 查看容器日志
docker logs -f autoglm-vllm

# 使用 curl 测试 OpenAI 兼容接口
curl http://localhost:<your_cloud_port>/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "AutoGLM-Phone-9B",
    "prompt": "请打开微信",
    "max_tokens": 100,
    "temperature": 0.1
  }'

五、 本地 ADB 连接与 AutoGLM-Controller 配置

模型服务部署完成后,需在本地环境配置 Android 设备连接与控制端。

1. 安卓设备无线 ADB 调试配置

  1. 进入手机「设置 > 开发者选项」,启用「无线调试」。
  2. 选择「使用配对码配对设备」,记下显示的 IP 地址、端口和配对码。
  3. 在本地电脑(与手机在同一 WiFi 下)执行配对命令:
bash 复制代码
adb pair <手机IP地址>:<配对端口>
# 根据提示输入配对码
  1. 配对成功后,执行连接命令:
bash 复制代码
adb connect <手机IP地址>:<调试端口>
  1. 验证连接:
bash 复制代码
adb devices
# 应显示已连接的设备

2. 配置并运行 AutoGLM-Controller 应用

AutoGLM-Controller 是连接 AI 服务与手机 ADB 的桥梁。根据开源项目指南,需进行以下配置:

  1. 获取项目 :从 GitHub 克隆项目。

    bash 复制代码
    git clone https://github.com/Chenhaja/Voice-Control-AutoGLM-Android-Termux.git
  2. 配置讯飞语音 SDK (如需语音控制):

    • SpeechApplication 中填写个人讯飞 appID。
    • 将 SDK 文件(Msc.jarJnilibs 目录下的 .so 文件)放入项目指定位置。
  3. 修改服务地址 :在应用配置中,将 AI 服务地址指向你部署的云服务器 http://<你的服务器IP>:<你的外网端口>/v1

  4. 编译并运行应用。

六、 启动与执行:连接 AI 与手机

1. 启动完整的 AutoGLM-Phone 服务链

在本地运行 AutoGLM-Phone 主程序,并指向云端 vLLM 服务。

bash 复制代码
# 假设你已克隆 open-AutoGLM 官方仓库
cd Open-AutoGLM

# 启动主程序,连接云端模型服务和本地 ADB
python main.py \
  --base-url http://<你的服务器IP>:<你的外网端口>/v1 \
  --model "AutoGLM-Phone-9B" \
  --android-mode

关键参数 --android-mode:此参数用于启用与 AutoGLM-Controller 应用的通信通道,是实现手机操作的关键。

2. 执行自然语言指令

启动成功后,即可通过命令行或集成的语音接口向 AutoGLM-Phone 发送指令。例如:

  • "帮我点一份附近评分最高的外卖。"
  • "打开抖音,找到第一条视频并点赞。"
  • "查一下明天从北京到上海的航班,按价格排序。"

模型将理解指令,通过 ADB 控制手机自动执行一系列操作,并返回任务执行结果。

七、 总结与关键点

根据官方架构与部署实践,成功运行 AutoGLM-Phone 需紧密整合三个核心层:

  1. 云端推理层:基于 vLLM 的高性能模型服务,负责核心的任务理解与规划。确保显卡显存充足(>=40G)并正确配置端口映射是此层稳定的基础。
  2. 本地控制层:AutoGLM-Controller 应用与 ADB。必须确保稳定的 WiFi 网络环境以实现无线 ADB 连接,并正确配置应用中的服务端地址。
  3. 通信与执行层--android-mode 参数是连接 AI 决策与物理操作的关键开关,它激活了与控制器应用的文件或 Socket 通信,将 AI 生成的"操作序列"转换为实际的 ADB 命令。

此部署方案将计算密集的模型推理置于云端,本地只需处理轻量的控制通信,实现了资源与效率的平衡。对于追求更高隐私或离线可用的场景,可参考社区方案,在 Termux 或本地高性能机器上部署完整的模型,但需应对更复杂的依赖与环境配置挑战。

相关推荐
埃科光电2 小时前
应用分享丨破解3C行业反光与弱缺陷检测难题
图像处理·数码相机·计算机视觉·制造·相机
Swift社区2 小时前
AI赋能智汇高校 - 从零掌握大模型本地部署与微调全流程
人工智能·深度学习·语言模型
极小狐2 小时前
极狐GitLab 18.7 版本发布,带来了改进的 GitLab Duo 分析仪表盘与密钥有效性校验、支持为聊天和智能体选择 AI 模型,以及更多新功能!
人工智能·gitlab
子夜江寒2 小时前
使用 OpenCV 实现银行卡卡号识别
图像处理·opencv·计算机视觉
sld1682 小时前
深度解析 S2B2C 模式:重构商业生态,赋能企业高效增长
大数据·人工智能·重构
一只鹿鹿鹿2 小时前
springboot集成工作流教程(全面集成以及源码)
大数据·运维·数据库·人工智能·web安全
小陈永不服输2 小时前
2025 AI元年:软件行业的颠覆性洗牌与生态重构
人工智能·重构
名为沙丁鱼的猫7292 小时前
【万文超详A2A 协议】从个体赋能到群体智能,智能体间的“TCP/IP协议“
人工智能·python·深度学习·机器学习·自然语言处理·nlp
aitoolhub2 小时前
AI设计重构创作逻辑:从技能执行到创意表达
人工智能·aigc·视觉传达