快速入门

🛠️ 步骤 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_AGENTAPP_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 的能力:

提示

查阅它们各自的文档,了解如何配置这些设置的更多信息。

🎉 步骤 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