Schnellstart

🛠️ Schritt 1: Installation

UFO benötigt Python >= 3.10, das unter Windows OS >= 10 läuft. Es kann durch Ausführen des folgenden Befehls installiert werden

# [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.

⚙️ Schritt 2: Konfigurieren Sie die LLMs

Bevor Sie UFO ausführen, müssen Sie Ihre LLM-Konfigurationen individuell für HostAgent und AppAgent bereitstellen. Sie können Ihre eigene Konfigurationsdatei ufo/config/config.yaml erstellen, indem Sie die Datei ufo/config/config.yaml.template kopieren und die Konfiguration für HOST_AGENT und APP_AGENT wie folgt bearbeiten

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

Sie können auch nicht-visuelle Modelle (z.B. GPT-4) für jeden Agenten verwenden, indem Sie VISUAL_MODE: False und die richtigen API_MODEL (openai) und API_DEPLOYMENT_ID (aoai) einstellen. Sie können optional auch eine Sicherungs-LLM-Engine im Feld BACKUP_AGENT einstellen, falls die obigen Engines während der Inferenz fehlschlagen. Das API_MODEL kann jedes GPT-Modell sein, das Bilder als Eingabe akzeptieren kann.

Nicht-visuelle Modellkonfiguration

Sie können nicht-visuelle Modelle (z.B. GPT-4) für jeden Agenten nutzen, indem Sie die folgenden Einstellungen in der Datei config.yaml konfigurieren

Info

  • VISUAL_MODE: False
  • Geben Sie das entsprechende API_MODEL (OpenAI) und API_DEPLOYMENT_ID (AOAI) für jeden Agenten an.

Optional können Sie eine Sicherungs-Sprachmodell-Engine (LLM) im Feld BACKUP_AGENT einstellen, um Fälle zu behandeln, in denen die primären Engines während der Inferenz ausfallen. Stellen Sie sicher, dass Sie diese Einstellungen genau konfigurieren, um nicht-visuelle Modelle effektiv zu nutzen.

Hinweis

UFO unterstützt auch andere LLMs und erweiterte Konfigurationen, wie z.B. die Anpassung Ihres eigenen Modells. Bitte prüfen Sie die Dokumente für weitere Details. Aufgrund der Einschränkungen der Modelleingabe wird eine Lite-Version des Prompts bereitgestellt, damit Benutzer diese erleben können, was in config_dev.yaml konfiguriert ist.

📔 Schritt 3: Zusätzliche Einstellungen für RAG (optional).

Wenn Sie die Fähigkeiten von UFO mit externem Wissen erweitern möchten, können Sie es optional mit einer externen Datenbank für Retrieval Augmented Generation (RAG) in der Datei ufo/config/config.yaml konfigurieren.

Wir bieten die folgenden Optionen für RAG, um die Fähigkeiten von UFO zu verbessern

  • Offline-Hilfedokument: Ermöglicht UFO den Abruf von Informationen aus Offline-Hilfedokumenten.

  • Online-Bing-Suchmaschine: Verbessert die Fähigkeiten von UFO durch die Nutzung der aktuellsten Online-Suchergebnisse.

  • Selbsterfahrung: Speichert die Trajektorien der Aufgabenerfüllung im Speicher von UFO für zukünftige Referenz.

  • Benutzerdemonstration: Steigert die Fähigkeiten von UFO durch Benutzerdemonstration.

Tipp

Konsultieren Sie deren jeweilige Dokumentation für weitere Informationen zur Konfiguration dieser Einstellungen.

🎉 Schritt 4: UFO starten

⌨️ Sie können Folgendes auf Ihrer Windows-Kommandozeile (CLI) ausführen

# assume you are in the cloned UFO folder
python -m ufo --task <your_task_name>

Dadurch wird der UFO-Prozess gestartet und Sie können über die Kommandozeilenschnittstelle damit interagieren. Wenn alles gut läuft, sehen Sie die folgende Nachricht

Welcome to use UFO🛸, A UI-focused Agent for Windows OS Interaction. 
 _   _  _____   ___
| | | ||  ___| / _ \
| | | || |_   | | | |
| |_| ||  _|  | |_| |
 \___/ |_|     \___/
Please enter your request to be completed🛸:

Alternativ können Sie UFO auch direkt mit einer spezifischen Aufgabe und Anfrage aufrufen, indem Sie den folgenden Befehl verwenden

python -m ufo --task <your_task_name> -r "<your_request>"

Schritt 5 🎥: Ausführungsprotokolle

Sie finden die aufgenommenen Screenshots und die Anforderungs- & Antwortprotokolle im folgenden Ordner

./ufo/logs/<your_task_name>/

Sie können diese zur Fehlerbehebung, zum Wiederholen oder zur Analyse der Agentenausgabe verwenden.

Hinweis

Das LLM akzeptiert Screenshots Ihres Desktops und der Anwendungsoberfläche als Eingabe. Bitte stellen Sie sicher, dass während des Ausführungsprozesses keine sensiblen oder vertraulichen Informationen sichtbar sind oder erfasst werden. Weitere Informationen finden Sie in DISCLAIMER.md.