快速入门
🛠️ 步骤 1:安装
UFO 需要在 Windows OS >= 10 上运行 Python >= 3.10。可以通过运行以下命令进行安装:
# [optional to create conda environment]
# conda create -n ufo python=3.10
# conda activate ufo
# clone the repository
git clone https://github.com/microsoft/UFO.git
cd UFO
# install the requirements
pip install -r requirements.txt
# If you want to use the Qwen as your LLMs, uncomment the related libs.
⚙️ 步骤 2:配置大型语言模型 (LLM)
在运行 UFO 之前,您需要分别为主机代理 (HostAgent) 和应用程序代理 (AppAgent) 提供您的 LLM 配置。您可以通过复制 ufo/config/config.yaml.template
并编辑 HOST_AGENT 和 APP_AGENT 的配置来创建自己的配置文件 ufo/config/config.yaml
,如下所示:
copy ufo\config\config.yaml.template ufo\config\config.yaml
notepad ufo\config\config.yaml # paste your key & endpoint
OpenAI
VISUAL_MODE: True, # Whether to use the visual mode
API_TYPE: "openai" , # The API type, "openai" for the OpenAI API.
API_BASE: "https://api.openai.com/v1/chat/completions", # The the OpenAI API endpoint.
API_KEY: "sk-", # The OpenAI API key, begin with sk-
API_VERSION: "2024-02-15-preview", # "2024-02-15-preview" by default
API_MODEL: "gpt-4-vision-preview", # The OpenAI model
Azure OpenAI (AOAI)
VISUAL_MODE: True, # Whether to use the visual mode
API_TYPE: "aoai" , # The API type, "aoai" for the Azure OpenAI.
API_BASE: "YOUR_ENDPOINT", # The AOAI API address. Format: https://{your-resource-name}.openai.azure.com
API_KEY: "YOUR_KEY", # The aoai API key
API_VERSION: "2024-02-15-preview", # "2024-02-15-preview" by default
API_MODEL: "gpt-4-vision-preview", # The OpenAI model
API_DEPLOYMENT_ID: "YOUR_AOAI_DEPLOYMENT", # The deployment id for the AOAI API
您还可以为每个代理使用非视觉模型(例如 GPT-4),方法是将 VISUAL_MODE: False
和适当的 API_MODEL
(openai) 和 API_DEPLOYMENT_ID
(aoai) 进行设置。如果上述引擎在推理过程中失败,您还可以选择在 BACKUP_AGENT
字段中设置备用 LLM 引擎。API_MODEL
可以是任何接受图像作为输入的 GPT 模型。
非视觉模型配置
您可以通过在 config.yaml
文件中配置以下设置,为每个代理利用非视觉模型(例如 GPT-4):
信息
VISUAL_MODE: False
- 为每个代理指定适当的
API_MODEL
(OpenAI) 和API_DEPLOYMENT_ID
(AOAI)。
可选地,您可以在 BACKUP_AGENT
字段中设置一个备用大型语言模型 (LLM) 引擎,以处理主引擎在推理过程中失败的情况。请确保准确配置这些设置,以有效利用非视觉模型。
注意
UFO 还支持其他 LLM 和高级配置,例如自定义您自己的模型,请查看文档了解更多详细信息。由于模型输入的限制,提供了一个精简版的提示,以便用户体验,该提示在 config_dev.yaml
中配置。
📔 步骤 3:RAG 的额外设置(可选)
如果您想通过外部知识增强 UFO 的能力,您可以选择在 ufo/config/config.yaml
文件中配置外部数据库以进行检索增强生成 (RAG)。
我们为 RAG 提供了以下选项,以增强 UFO 的能力:
-
离线帮助文档:使 UFO 能够从离线帮助文档中检索信息。
-
在线 Bing 搜索引擎:通过利用最新的在线搜索结果增强 UFO 的能力。
-
自我经验:将任务完成轨迹保存到 UFO 的内存中以备将来参考。
-
用户演示:通过用户演示提升 UFO 的能力。
提示
查阅它们各自的文档,了解如何配置这些设置的更多信息。
🎉 步骤 4:启动 UFO
⌨️ 您可以在 Windows 命令行 (CLI) 中执行以下操作:
# assume you are in the cloned UFO folder
python -m ufo --task <your_task_name>
这将启动 UFO 进程,您可以通过命令行界面与其交互。如果一切顺利,您将看到以下消息:
Welcome to use UFO🛸, A UI-focused Agent for Windows OS Interaction.
_ _ _____ ___
| | | || ___| / _ \
| | | || |_ | | | |
| |_| || _| | |_| |
\___/ |_| \___/
Please enter your request to be completed🛸:
或者,您也可以通过使用以下命令,直接使用特定任务和请求调用 UFO:
python -m ufo --task <your_task_name> -r "<your_request>"
步骤 5 🎥:执行日志
您可以在以下文件夹中找到截取的屏幕截图以及请求和响应日志:
./ufo/logs/<your_task_name>/
您可以使用它们来调试、重放或分析代理输出。
注意
LLM 接受您的桌面和应用程序 GUI 的屏幕截图作为输入。请确保在执行过程中没有敏感或机密信息可见或被捕获。如需更多信息,请参阅 DISCLAIMER.md。