Ubuntu
test
892e231
|
raw
history blame
7.92 kB
metadata
license: other
language:
  - zh
  - en
base_model:
  - THUDM/glm-4v-9b
pipeline_tag: image-text-to-text
library_name: transformers

CogAgent

关于模型

cogagent-9b-20241220 是 我们基于 GLM-4V-9B 训练得到的一个专门用于 Agent任务的模型。 cogagent-9b-20241220 是一款较为先进的智能体模型,它具备强大的跨平台兼容性,能够实现对多种计算设备上的图形界面进行自动化的操作。 无论是Windows、macOS还是Android系统,cogagent-9b-20241220 都能够接收用户指令,自动获取设备屏幕截图,经过模型推理后执行自动化设备操作。

运行模型

请前往我们的github 查看具体的运行示例。

输入和输出

cogagent-9b-20241220是一个Agent类执行模型而非对话模型,不支持连续对话,但是但支持连续的执行历史。 这里展示了用户应该怎么整理自己的输入格式化的传入给模型。并获得模型规则的回复。

用户输入部分

  1. task 字段

    用户输入的任务描述,类似文本格式的prompt,该输入可以指导 CogAgent1.5 模型完成用户任务指令。请保证简洁明了。

  2. platform 字段

    CogAgent1.5 支持在多个平台上执行可操作Agent功能, 我们支持的带有图形界面的操作系统有三个系统,

    • Windows 10,11,请使用 WIN 字段。
    • Mac 14,15,请使用 MAC 字段。
    • Android 13,14,15 以及其他GUI和UI操作方式几乎相同的安卓UI发行版,请使用 Mobile 字段。

    如果您使用的是其他系统,效果可能不佳,但可以尝试使用 Mobile 字段用于手机设备,WIN 字段用于Windows设备,MAC 字段用于Mac设备。

  3. format 字段

    用户希望 CogAgent1.5 返回何种格式的数据, 这里有以下几种选项:

    • Answer in Action-Operation-Sensitive format.: 本仓库中demo默认使用的返回方式,返回模型的行为,对应的操作,以及对应的敏感程度。
    • Answer in Status-Plan-Action-Operation format.: 返回模型的装题,行为,以及相应的操作。
    • Answer in Status-Action-Operation-Sensitive format.: 返回模型的状态,行为,对应的操作,以及对应的敏感程度。
    • Answer in Status-Action-Operation format.: 返回模型的状态,行为。
    • Answer in Action-Operation format. 返回模型的行为,对应的操作。
  4. history 字段

    拼接顺序和结果应该如下所示:

    query = f'{task}{history}{platform}{format}'
    

模型返回部分

  1. 敏感操作: 包括 <<敏感操作>> <<一般操作>> 几种类型,只有要求返回Sensitive的时候返回。
  2. Plan, Agent, Status, Action 字段: 用于描述模型的行为和操作。只有要求返回对应字段的时候返回,例如带有Action则返回 Action字段内容。
  3. 常规回答部分,这部分回答会在格式化回答之前,表示综述。
  4. Grounded Operation 字段: 用于描述模型的具体操作,包括操作的位置,类型,以及具体的操作内容。其中 box 代表执行区域的坐标,element_type 代表执行的元素类型, element_info 代表执行的元素描述。这些信息被一个 操作指令 操作所包裹。这些指令包括:
    • CLICK: 点击操作,模拟鼠标点击或者手指触摸。
    • LONGPRESS: 长案操作。仅在 Mobile 模式下支持。

例子

用户的任务是希望帮忙将所有邮件标记为已读,用户使用的是 Mac系统,希望返回的是Action-Operation-Sensitive格式。 正确拼接后的提示词应该为:

Task: 帮我将所有的邮件标注为已读
(Platform: Mac)
(Answer in Action-Operation-Sensitive format.)

接着,这里展现了不同格式要求下的返回结果:

Answer in Action-Operation-Sensitive format
Action: 点击页面顶部工具栏中的“全部标为已读”按钮,将所有邮件标记为已读。
Grounded Operation: CLICK(box=[[219,186,311,207]], element_type='可点击文本', element_info='全部标为已读')
<<一般操作>>
Answer in Status-Plan-Action-Operation format
Status: None
Plan: None.
Action: 点击收件箱页面顶部中间的“全部标记为已读”按钮,将所有邮件标记为已读。
Grounded Operation: CLICK(box=[[219,186,311,207]], element_type='可点击文本', element_info='全部标为已读')
Answer in Status-Action-Operation-Sensitive format
Status: 当前处于邮箱界面[[0, 2, 998, 905]],左侧是邮箱分类[[1, 216, 144, 570]],中间是收件箱[[144, 216, 998, 903]],已经点击“全部标为已读”按钮[[223, 178, 311, 210]]。
Action: 点击页面顶部工具栏中的“全部标为已读”按钮,将所有邮件标记为已读。
Grounded Operation: CLICK(box=[[219,186,311,207]], element_type='可点击文本', element_info='全部标为已读')
<<一般操作>>
Answer in Status-Action-Operation format
Status: None
Action: 在收件箱页面顶部,点击“全部标记为已读”按钮,将所有邮件标记为已读。
Grounded Operation: CLICK(box=[[219,186,311,207]], element_type='可点击文本', element_info='全部标为已读')
Answer in Action-Operation format
Action: 在左侧邮件列表中,右键单击第一封邮件,以打开操作菜单。
Grounded Operation: RIGHT_CLICK(box=[[154,275,343,341]], element_info='[AXCell]')

注意事项

  1. 该模型不是对话模型,不支持连续对话,请发送具体指令,并参考我们提供的历史拼接方式进行拼接。
  2. 该模型必须要有图片传入,纯文字对话无法实现GUI Agent任务。
  3. 该模型输出有严格的格式要求,请严格按照我们的要求进行解析。输出格式为 STR 格式,不支持输出JSON 格式。

先前的工作

在2023年11月,我们发布了CogAgent的第一代模型,现在,你可以在 CogVLM&CogAgent官方仓库 找到相关代码和权重地址。

CogVLM

📖 Paper: CogVLM: Visual Expert for Pretrained Language Models

CogVLM 是一个强大的开源视觉语言模型(VLM)。CogVLM-17B拥有100亿的视觉参数和70亿的语言参数,支持490*490分辨率的图像理解和多轮对话。

CogVLM-17B 17B在10个经典的跨模态基准测试中取得了最先进的性能包括NoCaps, Flicker30k captioning, RefCOCO, RefCOCO+, RefCOCOg, Visual7W, GQA, ScienceQA, VizWiz VQA 和 TDIUC 基准测试。

CogAgent

📖 Paper: CogAgent: A Visual Language Model for GUI Agents

CogAgent 是一个基于CogVLM改进的开源视觉语言模型。CogAgent-18B拥有110亿的视觉参数和70亿的语言参数, 支持1120*1120分辨率的图像理解。在CogVLM的能力之上,它进一步拥有了GUI图像Agent的能力。

CogAgent-18B 在9个经典的跨模态基准测试中实现了最先进的通用性能,包括 VQAv2, OK-VQ, TextVQA, ST-VQA, ChartQA, infoVQA, DocVQA, MM-Vet, 和 POPE 测试基准。它在包括AITW和Mind2Web在内的GUI操作数据集上显著超越了现有的模型。

协议

模型权重的使用请遵循 Model License