从零搭建使用 Open-AutoGML 搜索附近的美食

199 阅读4分钟

1. 环境配置

下载项目库:github.com/zai-org/Ope… , 使用 Open-AutoGML 需要安装以下开发环境:

  • python 环境
  • ADB 调试工具
  • ADB Keyboard(用于文本输入)
  • 模型部署(可以使用 BigModel 三方模型)

1.1. Python 环境搭建

检查 python 环境。建议使用 Python 3.10 及以上版本。

python3 -V

这里建议使用虚拟环境创建对应的环境。可以使用 Poetry 或 Python 自带的虚拟环境管理。这里使用 Python 自带的虚拟环境管理。

  • 创建虚拟环境:python3 -m venv 环境名
  • 激活虚拟环境:source 环境名/bin/activate
  • 删除旧环境:rm -rf venv
  • 用python3.9创建新环境:python3.9 -m venv venv
  • 退出环境:deactivate

安装示例如下:

Open-AutoGLM git:(main) python3.10 -m venv venv3.10Open-AutoGLM git:(main) source venv3.10/bin/activate
(venv3.10) ➜  Open-AutoGLM git:(main) 

这样我们就进入了创建的3.14虚拟环境。

1.2. ADB 调试工具

这里可以参照 Android 官方 ADB 指令的下载与安装文档:developer.android.com/tools/relea…

adb 安装完毕后,可打开终端命令行来检查一下是否成功。

➜  ~ adb devices
List of devices attached
2212d99e	device

1.3. ADB Keyboard(用于文本输入)

下载 安装包 并在对应的安卓设备中进行安装。 注意,安装完成后还需要到 设置-输入法 或者 设置-键盘列表 中启用 ADB Keyboard 才能生效(或使用命令adb shell ime enable com.android.adbkeyboard/.AdbIMEHow-to-use)。

1.4. 安装项目依赖

将 Open-AutoGML(github.com/zai-org/Ope…)项目下载到本地后,进入该项目对应的环境。执行以下指令:

pip install -r requirements.txt 
pip install -e .

1.5. 启动模型服务

你可以选择自行部署模型服务,或使用第三方模型服务商。如果机器资源比较大,可以选择自行部署模型服务。这里我选择使用智谱 BigModel。

  • 文档: docs.bigmodel.cn/cn/api/intr…
  • --base-url: https://open.bigmodel.cn/api/paas/v4
  • --model: autoglm-phone
  • --apikey: 在智谱平台申请你的 API Key

使用示例:

# 使用智谱 BigModel
python main.py --base-url https://open.bigmodel.cn/api/paas/v4 --model "autoglm-phone" --apikey "your-bigmodel-api-key" "打开美团搜索附近的火锅店"

1.5.1. 验证 apiKey

我们在智谱AI开放平台申请 apikey 后可以参照 API 使用文档(docs.bigmodel.cn/cn/api/intr…)来验证是否可用。

使用 curl 指令输入:

curl -X POST "https://open.bigmodel.cn/api/paas/v4/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
    "model": "glm-4.6",
    "messages": [
        {
            "role": "system",
            "content": "你是一个有用的AI助手。"
        },
        {
            "role": "user",
            "content": "你好,请介绍一下自己。"
        }
    ],
    "temperature": 1.0,
    "stream": true
}'

输出类似下面的内容时说明可用:

2. 实操用智谱 AI 帮我点外卖

在完成环境安装后,我们来进行一次火锅的搜索。在工程项目目录中执行:

 python main.py --base-url https://open.bigmodel.cn/api/paas/v4 --model "autoglm-phone" --apikey "apikey" "打开美团搜索附近的火锅店"

desktop1.gif

3. 常见错误

3.1. ERROR: No matching distribution found for Pillow>=12.0.0

ERROR: No matching distribution found for Pillow>=12.0.0
WARNING: You are using pip version 21.1.2; however, version 25.3 is available.
You should consider upgrading via the '/Users/dengshiwei/Documents/AI/Open-AutoGLM/venv/bin/python -m pip install --upgrade pip' command.

使用的 python3.14 版本,在安装依赖时找不到 Pillow >= 12.0.0 的版本,解决方法时降低到 python 版本到 3.10。这里可以使用 pyenv 来管理本地多个 python 版本。

brew update
brew install pyenv
pyenv install 3.10.14
进入到项目,切换对应的 python 版本:pyenv local 3.10.14

3.2. 键盘没效果

我本地已经展示安装了键盘,但是运行 main.py 时还是提示找不到。

这里的原因是源码中的检测方法遇到手机权限的问题。

 result = subprocess.run(
          ["adb", "shell", "ime", "list", "-s"],
          capture_output=True,
          text=True,
          timeout=10,
      )

本质上是 adb shell ime list -s 指令,但是很多手机都没权限了。

java.lang.SecurityException: uid 2000 does not have android.permission.WRITE_SECURE_SETTINGS.

这里可以改为:

result = subprocess.run(
    ["adb", "shell", "settings", "get", "secure", "enabled_input_methods"],
    capture_output=True,
    text=True,
    timeout=3,
)

后续我会提交一个 MR 来兼容一下这个问题。

4. 体验感受

使用 智谱 BigModel 的模型情况下, 环境的搭建还是比较方便的,能够很快把开发环境搭建完成。如果是本地部署模型会比较耗费时间。总体来看还是比较智能的,能够操作挺多 App 的,还需要继续体验,但是目前感觉要商业化这个耗时还得继续优化,我执行了一个搜索火锅的指令,大概整体耗时在35s左右,跟中兴的 AI 手机体验比,耗时还有点多。持续进步吧。

#AutoGLM #智谱AI #OpenAutoGLM