AI领域,能否让智能体像人类一样在计算机上自主完成各种任务,一直是一个具有挑战性的课题。而今天我们介绍的Cradle框架,正是向这一方向迈出了重要的一步。通过Cradle,基础模型可以通过屏幕截图作为输入,键盘和鼠标操作作为输出,在统一的界面下执行复杂的计算机任务。

Cradle介绍

? 最新更新

在2024年6月27日,Cradle框架迎来了重大更新!该框架现已扩展到四款游戏:荒野大镖客2(RDR2)、星露谷物语(Stardew Valley)、都市:天际线(Cities: Skylines)和Dealer's Life 2,以及包括Chrome、Outlook、Capcut、美图和飞书在内的各种软件。此外,我们还发布了最新的论文。欢迎大家查阅!

GCC愿景

最新视频

通过点击下方任意视频缩略图,观看Cradle在各大环境中的表现。

              

? 安装指南

准备环境文件

Cradle目前提供对OpenAI和Claude的API访问,请在项目根目录创建.env文件存储API密钥(其中一个即可)。

示例.env文件内容:

OA_OPENAI_KEY = "your_openai_key"
RF_CLAUDE_AK = "your_claude_access_key"
RF_CLAUDE_SK = "your_claude_secret_key"
AZ_OPENAI_KEY = "your_azure_key"
AZ_BASE_URL = "your_azure_base_url"
IDE_NAME = "Code"

前往OpenAI获取OpenAI API密钥,或Azure Portal获取Azure OpenAI的API密钥,Anthropic获取Claude的API密钥。

设置

Python 环境

请按照以下步骤设置Python环境并安装所需依赖:

# 克隆仓库
git clone https://github.com/BAAI-Agents/Cradle.git
cd Cradle

# 创建新conda环境
conda create --name cradle-dev python=3.10
conda activate cradle-dev
pip install -r requirements.txt

安装OCR工具

您可以选择以下任一方式安装OCR工具Spacy:

  1. 从Spacy下载并安装最佳匹配版本的模型:
python -m spacy download en_core_web_lg

或者

  1. 从path或URL安装:
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-3.7.1/en_core_web_lg-3.7.1.tar.gz

? 开始使用

由于每个游戏和软件之间存在巨大差异,我们提供了具体的设置说明:

  1. Red Dead Redemption 2
  2. Stardew Valley
  3. Cities: Skylines
  4. Dealer's Life 2
  5. 软件设置

? 文件结构

对于希望将我们的框架应用于新游戏的用户,这一部分主要展示Cradle的核心目录和组织结构,我们将重点标注对迁移到新游戏的相关模块,并提供详细说明。

Cradle
├── cache # 缓存GroundingDino和bert-base-uncased模型
├── conf # 环境和llm模型的配置文件
├── deps # Cradle框架的依赖项,可忽略
├── docs # Cradle框架的文档,可忽略
├── res # Cradle框架的资源
│ ├── models # 可忽略
│ ├── tool # RDR2的子查找器
│ ├── [games or software] # 游戏或软件的资源,如rdr2、dealers、skylines、stardew等
├── requirements.txt # Cradle框架的需求文件
├── runner.py # Cradle框架的主入口
├── cradle # Cradle的核心模块
│ ├── config # Cradle框架的配置
│ ├── environment # Cradle框架的环境
│ │ ├── [games or software] # 游戏或软件的环境
│ ├── gameio # 直接包装技能注册和环境控制的接口
│ ├── log # Cradle框架的日志
│ ├── memory # Cradle框架的记忆模块
│ ├── module # 目前只有技能执行模块,未来会迁移其他模块,如动作规划、自我反思等
│ ├── planner # Cradle框架的计划模块,将统一接口用于动作规划、自我反思等模块
│ ├── runner # 对每个游戏和软件的执行逻辑
│ ├── utils # 一些辅助功能,如保存和加载json
│ └── provider # Cradle框架的提供者模块
│ ├── augment # 图像增强方法
│ ├── llm # 调用LLM模型,如OpenAI的GPT-4o、Claude等
│ ├── object_detect # 物体检测方法
│ ├── process # 用于动作规划、自我反思等模块的预处理和后处理方法
│ ├── video # 视频处理方法
│ ├── others # 其他操作方法,如保存和加载坐标等
│ └── ...
└── ...

同类项目介绍

在通用计算机控制领域,还有一些其他值得关注的项目:

  1. OpenAI's Codex:这是一个由OpenAI开发的代码生成模型,能够通过自然语言指令生成代码,并执行特定任务。它在代码生成和自动化任务中表现尤为出色。

  2. Google's DeepMind:DeepMind团队开发了一系列能够执行复杂任务的AI模型,其中包括AlphaGo、AlphaStar等,它们展示了AI在解决复杂问题和高竞争环境中的潜力。

  3. IBM Watson:Watson是一个能够在多领域提供AI解决方案的智能系统,广泛应用于医疗、金融、教育等领域,通过自然语言处理和机器学习技术,提供智能化服务。

  4. Microsoft's Bonsai:Bonsai是一个由微软推出的工业控制AI平台,能够通过机器教学和强化学习技术,帮助企业实现生产流程的智能化和自动化。

每个项目都有其独特的应用场景和技术优势,它们共同推动了通用计算机控制和智能体技术的发展。希望Cradle框架能为更多用户带来便利,助力基础模型在通用计算机任务中展现其强大潜力。

- END -



点赞(1) 打赏

评论列表 共有 0 条评论

暂无评论

服务号

订阅号

备注【拉群】

商务洽谈

微信联系站长

发表
评论
立即
投稿
返回
顶部