--- 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](https://huggingface.co/THUDM/glm-4v-9b) 训练得到的一个专门用于 Agent任务的模型。 `cogagent-9b-20241220` 是一款较为先进的智能体模型,它具备强大的跨平台兼容性,能够实现对多种计算设备上的图形界面进行自动化的操作。 无论是Windows、macOS还是Android系统,`cogagent-9b-20241220` 都能够接收用户指令,自动获取设备屏幕截图,经过模型推理后执行自动化设备操作。 ## 运行模型 请前往我们的[github](https://github.com/THUDM/CogAgent) 查看具体的运行示例。 ## 输入和输出 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官方仓库](https://github.com/THUDM/CogVLM) 找到相关代码和权重地址。

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](LICENSE)。