如何利用LLM打造高效手机智能助理?
摘要:本文介绍了智谱开源的AutoGLM构建的Phone Agent,包含具体的流程、原理以及详细的部署步骤以及一点思考。
1. 背景
智谱开源了基于AutoGLM构建的Phone Agent,短短两天star就到了6.7K,只需要输入"帮我在美团上搜索下附件的火锅店",Phone Agent即可自动操作手机,打开美团,输入火锅,点击搜索等操作一气呵成。和上周爆火的字节AI手机,有异曲同工之妙。
抱着浓厚的兴趣,第一时间研读并上手实战了一番,遂记录下部署过程,源码分析,以及调试运行。
2.功能介绍
Phone Agent能够以多模态方式理解手机屏幕内容,并通过自动化操作实现用户的请求任务。
项目通过ADB(Android Debug Bridge)来控制设备,以视觉语言模型进行屏幕感知,再结合智能规划能力生成并执行操作流程。
用户输入一句话,"打开B站,搜一下 one little finger儿歌,并收藏一下",Phone Agent即可自动解析意图、理解当前界面、规划下一步动作并完成整个流程。
系统内置敏感操作确认机制,并支持在登录或验证码场景下进行人工接管。
支持远程ADB调试能力,可通过Wifi或者网络连接设备,实现灵活的远程控制与开发。
3. 部署教程
本人部署环境如下:
手机华为P70
采用ADB中的USB连接方式
windows 10操作系统
采用vllm进行部署,显卡为A40 48G,模型为Autoglm-Phone-9B(模型加载需20G显存,执行任务时占用42G显存)
3.1 Python环境
Python版本: 3.12.11,uv作为包管理
3.2 ADB安装
下载并安装官方ADB安装包,选择并下载platform-tools-latest-windows.zip
ADB加入到环境变量PATH中,例如D:\ws\学习\Phone Agent\platform-tools
3.3 设备启动开发者模式和USB调试
启用开发者模式: 华为P70位置为"设置->关于手机->HarmononyOS版本",连续点击7次左右,直到弹出"开发者模式已启用"
启用USB调试: 开发者模式开启后,在"设置->系统和更新->开发人员选项->USB调试",勾选启用。
设备检测: 使用USB连接手机,连接方式选"传输文件",弹出"是否允许USB调试",点击确定。然后在CMD窗口执行"adb devices"查看设备列表,展示如下内容,即说明安装成功。
3.4 安装ADB Keyboard
下载输入法安装包ADBKeyboard.apk,并在CMD中执行"adb install ADBKeyboard.apk"。
安装完成后,需要在"设置->系统和更新->语言和输入法->ADB Keyboard"勾选启用。
3.5 模型部署
安装依赖: pip install -r requirements.txt
下载模型: 在Model Scope中采用git clone下载模型AutoGLM-Phone-9B
模型启动
nohup python3 -m vllm.entrypoints.openai.api_server \
--served-model-name autoglm-phone-9b \
--allowed-local-media-path ~/media \
--mm-encoder-tp-mode data \
--mm_processor_cache_type shm \
--mm_processor_kwargs "{\"max_pixels\":5000000}" \
--max-model-len 25480 \
--chat-template-content-format string \
--limit-mm-per-prompt "{\"image\":10}" \
--model /path/AutoGLM-Phone-9B \
--host 172.16.0.32 \
--port 9000 > logs/vllm_9000.log 2>&1 &
测试模型部署:
python scripts/check_deployment_cn.py --base-url http://172.16.0.32:9000/v1 --model autoglm-phone-9b
#返回结果,即模型部署成功
<think>用户想要比较这个洗发水在京东和淘宝上的价格,然后选择最便宜的平台下单。当前在小红书app上,显示的是一个关于LUMMI MOOD洗发水的帖子。
