UFO:Windows操作系统的具象智能代理

        近年来,随着AI技术的发展,智能代理在各种应用中扮演着越来越重要的角色。微软推出的UFO(User-Focused Operator)正是这样一个出色的多代理框架,旨在通过无缝导航和操作,满足用户在Windows操作系统中跨多个应用程序的需求。今天,我将为大家介绍UFO的架构、功能亮点以及如何开始使用这个强大的工具。

https://github.com/microsoft/UFO

图片

框架概述

UFO作为一个多代理框架,主要包含以下几个组件:

  1. HostAgent 🤖:负责选择适合用户请求的应用程序。当请求跨越多个应用时,它还可以在完成部分任务后切换应用。

  2. AppAgent 👾:在选定的应用程序内迭代执行操作,直至任务成功完成。

  3. 应用自动化器 🎮:负责将HostAgent和AppAgent的行动翻译为与应用程序的交互,包括UI控件、原生API或AI工具的使用。

这两个代理利用GPT-Vision的多模态能力来理解应用界面并完成用户的请求。更详细的技术内容可以参考官方的技术报告和文档。

图片

最新动态

官方一直致力于不断改进和优化UFO,以提供更高效的用户体验。以下是最近的一些更新和重要新闻:

  • 2024-09-08:发布v1.1.0版本!此版本允许UFO点击应用程序的任意区域,并将其延迟减少至原来的三分之一。

  • 2024-07-06:发布v1.0.0版本!详细文档已上线,欢迎大家贡献和反馈。

  • 2024-06-28:官方激动地宣布,UFO的官方介绍视频已在YouTube上线!

  • 2024-05-21:官方在GitHub上达到了5000颗星!✨

详细的更新日志请参考官方的技术文档,每一次更新都包含许多新功能和改进,从HostAgent重构到支持Google Gemini推理引擎,再到支持自定义用户代理等,让UFO变得更强大和易用。

媒体报道

UFO发布以来,受到了广泛的媒体关注。以下是部分媒体报道的标题和评价:

  • Microsoft的UFO带来了更智能的Windows体验

  • UFO & GPT-4-V:让GPT接管一切

  • AI PC - 计算机的未来?微软的UFO

  • 下一代智能版Windows要来了?微软推出首个Windows Agent,命名为UFO!

这些报道展示了UFO如何革新技术前沿以及其对多平台的影响。

功能亮点

UFO具有许多突出的功能:

  1. Windows首个智能代理:UFO是首个能够将自然语言用户请求翻译为在Windows操作系统上可执行操作的智能代理框架。

  2. 专家代理:通过从多种异构源(包括离线帮助文档、在线搜索引擎和人类示范)进行检索增强生成(RAG),使UFO成为应用程序的“专家”。

  3. 丰富的技能集:UFO具备多种技能,支持全面的自动化操作,包括鼠标、键盘、原生API和“Copilot”。

  4. 交互模式:UFO能够在一个会话内处理用户的多个子请求,实现复杂任务的无缝完成。

  5. 代理定制化:用户可以通过提供附加信息,自定义自己的代理。代理在需要时会主动查询用户详细信息,以便更好地调整其行为。

  6. 可扩展的AppAgent创建:UFO提供扩展性,允许用户和应用开发者以简单且可扩展的方式创建自己的AppAgent。

如何开始

步骤1:安装

UFO需要Python 3.10或更高版本,并运行在Windows 10及以上的操作系统上。您可以通过以下命令进行安装:

# 创建conda环境(可选)# conda create -n ufo python=3.10# conda activate ufo
# 克隆仓库git clone https://github.com/microsoft/UFO.gitcd UFO# 安装依赖pip install -r requirements.txt# 如果您想使用Qwen作为LLM,请取消注释相关库。

步骤2:配置LLM

在运行UFO之前,您需要为HostAgent和AppAgent分别提供LLM配置。您可以通过复制ufo/config/config.yaml.template并编辑相应的配置,创建您自己的ufo/config/config.yaml文件:

OpenAI:  VISUAL_MODE: True,  # 是否使用视觉模式  API_TYPE: "openai",  # API类型  API_BASE: "https://api.openai.com/v1/chat/completions",  # OpenAI API端点  API_KEY: "sk-",  # OpenAI API密钥  API_VERSION: "2024-02-15-preview",  # 默认版本  API_MODEL: "gpt-4-vision-preview",  # 唯一的OpenAI模型
Azure OpenAI (AOAI):  VISUAL_MODE: True,  # 是否使用视觉模式  API_TYPE: "aoai",  # API类型  API_BASE: "YOUR_ENDPOINT",  # AOAI API地址  API_KEY: "YOUR_KEY",  # AOAI API密钥  API_VERSION: "2024-02-15-preview",  # 默认版本  API_MODEL: "gpt-4-vision-preview",  # 唯一的OpenAI模型  API_DEPLOYMENT_ID: "YOUR_AOAI_DEPLOYMENT",  # AOAI API部署ID

您还可以为每个代理配置非视觉模型(如GPT-4),通过设置VISUAL_MODE: False和适当的API_MODEL。另外,您可以在BACKUP_AGENT字段中设置备用语言模型引擎,以防主引擎在推理过程中失败。

步骤3:RAG的附加设置(可选)

如果您想增强UFO的外部知识调取功能,可以在ufo/config/config.yaml文件中配置外部数据库用于检索增强生成(RAG):

  • 离线帮助文档:使UFO能够从离线帮助文档中检索信息。

  • 在线Bing搜索引擎:利用最新的在线搜索结果增强UFO的能力。

  • 自我经验:将任务完成轨迹保存到UFO的内存中,以供将来参考。

  • 用户演示:通过用户演示提升UFO的能力。

步骤4:启动UFO

<|diff_marker|> ADD A1000 在Windows命令行(CLI)中执行以下命令以启动UFO:​​​​​​​

# 假设您在克隆的UFO文件夹中python -m ufo --task <your_task_name>

这将启动UFO进程,您可以通过命令行界面与之交互。如果一切正常,您将看到以下提示:

欢迎使用UFO🛸,Windows操作系统交互的UI专注代理。 _   _  _____   ___| | | ||  ___| / _ \| | | || |_   | | | || |_| ||  _|  | |_| | \___/ |_|     \___/请输入要完成的请求🛸:

步骤5:执行日志

您可以在以下文件夹中找到截屏和请求&响应日志:

./ufo/logs/<your_task_name>/

这些日志可用于调试、重播或分析代理输出。

获取帮助

若需帮助,请首先查阅官方的文档。若仍有疑问,您可以在GitHub Issue上提问或通过邮件联系ufo-agent@microsoft.com。

评价

请参考官方技术报告附录A中的WindowsBench部分。以下是一些有助于完成请求的提示:

  • 在UFO执行请求之前,请确保目标应用程序处于活动状态(可以最小化但不能关闭)。

  • 请注意,GPT-V的输出可能因相同请求而异。如果未成功完成请求,请尝试重新尝试。

引用

如果您在研究中使用了UFO,请引用官方 的论文:​​​​​​​

@article{ufo,  title={{UFO: A UI-Focused Agent for Windows OS Interaction}},  author={Zhang, Chaoyun and Li, Liqun and He, Shilin and Zhang, Xu and Qiao, Bo and  Qin, Si and Ma, Minghua and Kang, Yu and Lin, Qingwei and Rajmohan, Saravan and Zhang, Dongmei and  Zhang, Qi},  journal={arXiv preprint arXiv:2402.07939},  year={2024}}

相关项目

您也可以关注TaskWeaver,一个以编码优先的LLM代理框架,用于无缝规划和执行数据分析任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/463753.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于人工智能的搜索和推荐系统

互联网上的搜索历史分析和用户活动是个性化推荐的基础&#xff0c;这些推荐已成为电子商务行业和在线业务的强大营销工具。随着人工智能的使用&#xff0c;在线搜索也在改进&#xff0c;因为它会根据用户的视觉偏好提出建议&#xff0c;而不是根据每个客户的需求和偏好量身定制…

使用ffmpeg和mediamtx模拟多通道rtsp相机

首先下载ffmpeg&#xff0c;在windows系统上直接下载可执行文件&#xff0c;并配置环境变量即可在命令行当中调用执行。 下载地址&#xff1a; https://ffmpeg.org/再在github上下载mediamtx搭建rtsp服务器&#xff0c;使用ffmpeg将码流推流到rtsp服务器。 下载地址&#xff1…

Spring Boot框架:校园社团信息管理的现代化解决方案

3系统分析 3.1可行性分析 通过对本校园社团信息管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本校园社团信息管理系统采用SSM框架&#xff0c;JAVA作…

软件测试面试八股文个人总结

一、软件测试基础面试题 1、阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些? 软件生命周期是指一个计算机软件从功能确定设计&#xff0c;到开发成功投入使用&#xff0c;并在使用中不断地修改、增补和完善&#xff0c;直到停止该软件的使用的全过程(从酝酿到…

彻底理解链表(LinkedList)结构

目录 比较操作结构封装单向链表实现面试题 循环链表实现 双向链表实现 链表&#xff08;Linked List&#xff09;是一种线性数据结构&#xff0c;由一组节点&#xff08;Node&#xff09;组成&#xff0c;每个节点包含两个部分&#xff1a;数据域&#xff08;存储数据&#xff…

C#/.NET/.NET Core优秀项目和框架2024年10月简报

前言 每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架&#xff08;每周至少会推荐两个优秀的项目和框架当然节假日除外&#xff09;&#xff0c;推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等&#xff08;打不开或者打开GitHub很慢的同学可以优先查看…

数据库作业5

1&#xff0c;建立触发器&#xff0c;订单表中增加订单数量后&#xff0c;商品表商品数量同步减少对应的商品订单出数量,并测试 测试&#xff1a; 2.建立触发器&#xff0c;实现功能:客户取消订单&#xff0c;恢复商品表对应商品的数量 测试 3.建立触发器&#xff0c;实现功能:…

证书下行,这些高质量IT证书仍值得考

在快速变化的信息技术领域&#xff0c;专业认证不仅证明了个人的专业技能&#xff0c;还常常是许多企业在招聘时考虑的重要标准&#xff0c;因此很多IT朋友都会选择考一本证书来傍身。 然而&#xff0c;随着技术的发展和市场的变化&#xff0c;并不是所有的IT证书都能保持其原有…

华为荣耀曲面屏手机下面空白部分设置颜色的方法

荣耀部分机型下面有一块空白区域&#xff0c;如下图红框部分 设置这部分的颜色需要在themes.xml里面设置navigationBarColor属性 <item name"android:navigationBarColor">android:color/white</item>

【开源免费】基于SpringBoot+Vue.JS新闻推荐系统(JAVA毕业设计)

博主说明&#xff1a;本文项目编号 T 056 &#xff0c;文末自助获取源码 \color{red}{T056&#xff0c;文末自助获取源码} T056&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

使用DJL和PaddlePaddle的口罩检测详细指南

使用DJL和PaddlePaddle的口罩检测详细指南 完整代码 该项目利用DJL和PaddlePaddle的预训练模型&#xff0c;构建了一个口罩检测应用程序。该应用能够在图片中检测人脸&#xff0c;并将每张人脸分类为“戴口罩”或“未戴口罩”。我们将深入分析代码的每个部分&#xff0c;以便…

【MySQL】架构

1. MySQL架构基本理解 与餐厅就餐类比理解 每次数据库查询就像一次餐厅服务 应用程序发出查询相当于点菜MySQL解析和执行查询&#xff0c;后厨根据订单制作食物事务管理保证数据的一致性&#xff0c;类似于结账的时候保证账单正确查询的时候考虑优化器&#xff0c;类似于厨师选…

Linux服务器或Linux计算机设置不记录历史命令

1.设置环境变量 打开命令终端&#xff0c;编辑.bashrc文件中&#xff0c;修改HISTSIZE和HISTFILESIZE都为0 sudo nano ~/.bashrcfor setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE0 HISTFILESIZE0 2.生效 source ~/.bashrc 3.验证 cat ./b…

基于Spring Boot的中小型制造企业质量管理系统设计与实现,LW+源码+讲解

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自…

动手学深度学习65 注意力分数

1. 注意力分数 好处&#xff1a;k q v的长度都可以不一样。 2. 代码 3. QA 1 画出注意力权重&#xff0c;对任何一行query&#xff0c;给每一对key-value多少注意力【哪对key-value更重要】 2 语义上的区别 3 是的。一元版本换成向量版本 4 通常用相似度做注意力分数&…

从新手到专家:7款电脑平面设计软件评测

平面设计在时尚、广告等多个领域扮演着重要角色&#xff0c;而创作出独特且富有创意的设计作品则需要依赖优秀的电脑平面设计软件。市场上的电脑平面设计软件众多&#xff0c;每款软件都有其独到之处。本文将为你推荐几款值得关注的电脑平面设计软件&#xff0c;并分析它们的特…

HTML 块级元素和内联(行内)元素详解

在 HTML 中,元素根据它们在页面中的表现方式分为两类:块级元素 和 内联元素(行内元素)。了解块级元素和内联元素的特性与使用方法,是掌握HTML开发的重要基础。本文将深入探讨这两类元素的特点及其在实际开发中的应用。 文章目录 一、块级元素1.1 块级元素是什么?1.2 块级…

微信支付宝小程序SEO优化的四大策略

在竞争激烈的小程序市场中&#xff0c;高搜索排名意味着更多的曝光机会和潜在用户。SEO即搜索引擎优化&#xff0c;对于小程序而言&#xff0c;主要指的是在微信小程序商店中提高搜索排名&#xff0c;从而增加曝光度和用户访问量。有助于小程序脱颖而出&#xff0c;提升品牌知名…

内存马浅析

之前在jianshu上写了很多博客&#xff0c;但是安全相关的最近很多都被锁了。所以准备陆陆续续转到csdn来。内存马前几年一直是个很热门的漏洞攻击手段&#xff0c;因为相对于落地的木马&#xff0c;无文件攻击的内存马隐蔽性、持久性更强&#xff0c;适用的漏洞场景也更多。 J…

【网络】套接字编程——TCP通信

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;TCP网络服务器简单模拟实现。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1a;…