Heim >Backend-Entwicklung >Python-Tutorial >Ich habe einen KI-Begleiter erstellt, der meinen Bildschirm überwacht und dabei hilft, meine Fehler zu beheben ✨

Ich habe einen KI-Begleiter erstellt, der meinen Bildschirm überwacht und dabei hilft, meine Fehler zu beheben ✨

PHPz
PHPzOriginal
2024-08-09 07:46:02857Durchsuche

In letzter Zeit kämpfe ich mit meiner Sucht nach Naruto-Binge-Watching. Auch wenn es Spaß macht, hilft es mir definitiv nicht dabei, Shareholder Value zu schaffen. ?

Warum also nicht einen persönlichen KI-Assistenten bauen, der meinen Bildschirm überwacht und mich informiert, wenn ich etwas übertreibe, was ich nicht tun sollte, wie zum Beispiel Anime schauen? ?

Angesichts der rasanten Entwicklung der KI im vergangenen Jahr habe ich beschlossen, ein multimodales Sprachmodell zu verwenden, um meinen Bildschirm zu überwachen und mich zu informieren, wenn ich zu viel Zeit mit unproduktiven Aktivitäten verbringe.

So, hier ist, wie ich es gemacht habe.

  • Konfigurieren Sie OpenAI GPT-4o, ein multimodales KI-Modell.
  • Verwenden Sie ein Bildschirmanalysetool von Composio, um den Bildschirm zu überwachen.
  • Übergeben Sie die Screenshots in regelmäßigen Abständen an GPT.
  • Die Nachricht von GPT als Benachrichtigung im System rendern.

I Created an AI Companion that Monitors My Screen and Helps Fix My Screw Ups ✨

In diesem Artikel erkläre ich auch, wie Sie mit OpenAI und Composio Ihren persönlichen KI-Freund aufbauen können.


Composio – Ihre KI-Agent-Tooling-Plattform

Composio ist eine Open-Source-Plattform, die Ihre KI-Agenten mit Tools und Integrationen ausstattet. Sie können damit die Leistungsfähigkeit und Vielseitigkeit Ihrer KI-Agenten durch Integrationstools wie Code-Interpreter, RAG, Einbettung und Integrationen wie GitHub, Slack, Jira usw. erweitern.

I Created an AI Companion that Monitors My Screen and Helps Fix My Screw Ups ✨

Bitte helfen Sie uns mit einem Stern. ?

Es würde uns helfen, mehr Artikel wie diesen zu erstellen?

Markieren Sie das Composio.dev-Repository ⭐


Voraussetzungen für den Aufbau eines KI-Freundes

Um das Projekt erfolgreich abzuschließen, benötigen Sie Folgendes.

  • OpenAI SDK und API-Schlüssel: Zur Interaktion mit dem LLM.
  • Composio: Für den Zugriff auf das Bildanalysetool.
  • PyAutoGUI: Zur Automatisierung von Interaktionen auf dem Bildschirm.
  • Osascript: Zum Ausführen von AppleScript-Befehlen zur Steuerung von macOS-Anwendungen.

Also, fangen wir an.


Fangen wir an?

Beginnen Sie mit der Erstellung einer virtuellen Python-Umgebung.

python -m venv ai-friend
cd ai-friend
source bin/activate

Jetzt installieren Sie die folgenden Abhängigkeiten.

pip install composio-core
pip install composio-openai openai
pip install pyautogui

Als nächstes erstellen Sie eine .env-Datei und fügen Umgebungsvariablen für den OpenAI-API-Schlüssel hinzu.

OPENAI_API_KEY=your API key

Composio einrichten

Mit der CLI können Sie Composio ganz einfach einrichten.

Melden Sie sich zunächst bei Ihrem Konto an, indem Sie den folgenden Befehl ausführen.

composio login

Beenden Sie den Anmeldevorgang, um fortzufahren.

Jetzt Apps aktualisieren.

composio apps update

Jetzt können Sie mit dem Codierungsteil fortfahren.


Den KI-Freund aufbauen

Nachdem Sie die Umgebung eingerichtet haben, können wir mit dem Codierungsteil fortfahren.

Importieren Sie zunächst die Bibliotheken und initialisieren Sie die Toolsets.

import dotenv
from openai import OpenAI

from composio_openai import App, ComposioToolSet
from composio.utils.logging import get as get_logger

logger = get_logger(__name__)


# Load environment variables from .env
dotenv.load_dotenv()

# Initialize tools.
openai_client = OpenAI()
composio_toolset = ComposioToolSet()

# Retrieve actions
actions = composio_toolset.get_tools(apps=[App.SYSTEMTOOLS, App.IMAGEANALYSERTOOL])

Also, im obigen Codeblock,

  • Wir haben alle erforderlichen Bibliotheken und Module importiert.
  • Die in der .env-Datei definierten Variablen wurden geladen.
  • Eine Instanz von OpenAI() und ComposioToolSet erstellt.
  • Die Aktionen wurden von SYSTEMTOOLS und IMAGEANALYSERTOO abgerufen.

Hier erfahren Sie, was diese Tools bewirken.

  • SYSTEM-TOOLS: Die System-Tools haben zwei Aktionen: Push-Benachrichtigungen und Bildschirmaufnahme.
  • IMAGEANALYSERTOOL: Dieses Tool hat nur eine Aktion: analysiert Bilder mit multimodalen LLMs wie GPT-4o und Claude Sonnet usw.

Wenn Sie den Code und seine Funktionsweise untersuchen möchten, überprüfen Sie die Codedateien auf Systemtools und das Bildanalysetool.

Hinweis: Aktionen in Composio sind Aufgaben, die Ihr Agent ausführen kann, z. B. das Klicken auf einen Screenshot, das Senden einer Benachrichtigung oder das Senden einer E-Mail.

Richten Sie OpenAI Assistant ein

Definieren Sie nun eine klare und prägnante Aufforderung für den Agenten. Dies ist entscheidend für die Agentenleistung. Sie können die Eingabeaufforderungen entsprechend Ihren Anforderungen ändern.

assistant_instruction = (
    """You are an intelligent and proactive personal productivity assistant.
    Your primary tasks are:
    1. Regularly capture and analyze screenshots of the user's screen.
    2. Monitor user activity and provide timely, helpful interventions.

    Specific responsibilities:
    - Every few seconds, take a screenshot and analyze its content.
    - Compare recent screenshots to identify potential issues or patterns.
    - If you detect that the user is facing a technical or workflow problem:
        - Notify them with concise, actionable solutions.
        - Prioritize non-intrusive suggestions that can be quickly implemented.
    - If you notice extended use of potentially distracting websites or applications (e.g., social media, video streaming):
        - Gently remind the user about their productivity goals.
        - Suggest a brief break or a transition to a more focused task.
    - Maintain a balance between being helpful and not overly disruptive.
    - Tailor your interventions based on the time of day and the user's apparent work patterns.

    Operational instructions:
    - You will receive a 'CHECK' message at regular intervals. Upon receiving this:
        1. Take a screenshot using the screenshot tool.
        2. Then, analyse that screenshot using the image analyser tool.
        3. Then, check if the user uses distracting websites or applications.
        4. If they are, remind them to do something productive.
        5. If they are not, check if the user is facing a technical or workflow problem based on previous history.
        6. If they are, notify them with concise, actionable solutions.
        7. Try to maintain a history of the user's activity and notify them if they are doing something wrong.

    Remember: Your goal is to enhance productivity while respecting the user's autonomy and work style."""
)
assistant = openai_client.beta.assistants.create(
    name="Personal Productivity Assistant",
    instructions=assistant_instruction,
    model="gpt-4-turbo",
    tools=actions,  # type: ignore
)
# create a thread
thread = openai_client.beta.threads.create()
print("Thread ID: ", thread.id)
print("Assistant ID: ", assistant.id)

Im obigen Codeblock

  • Eine detaillierte Assistentenanleitung wird bereitgestellt.
  • Eine neue Assistenteninstanz mit der zuvor definierten Anweisung, dem Modellnamen und den zuvor definierten Aktionen erstellt.
  • Erstellen Sie abschließend einen Thread für die Interaktion mit den Modellen.

Definieren Sie den Assistenten und führen Sie ihn aus

Definieren Sie nun eine Funktion zum Ausführen der Assistenten.

def check_and_run_assistant():
    logger.info("Checking and running assistant")

    # Send 'CHECK' message to the assistant
    message = openai_client.beta.threads.messages.create(
        thread_id=thread.id,
        role="user",
        content="CHECK",
    )

    # Execute Agent
    run = openai_client.beta.threads.runs.create(
        thread_id=thread.id,
        assistant_id=assistant.id,
    )

    # Execute function calls
    run_after_tool_calls = composio_toolset.wait_and_handle_assistant_tool_calls(
        client=openai_client,
        run=run,
        thread=thread,
    )

# Run the assistant check every 10 seconds
while True:
    check_and_run_assistant()

Hier ist, was im obigen Code vor sich geht.

  • Eine „CHECK“-Nachricht senden: Dadurch wird eine „CHECK“-Nachricht an den Assistenten im angegebenen Thread gesendet, um sicherzustellen, dass das Modell reagiert.
  • Agent ausführen: Erstellt einen Lauf für den Assistenten unter Verwendung der angegebenen Thread- und Assistenten-IDs.
  • Werkzeugaufrufe verarbeiten: Wartet auf Werkzeugaufrufe, die vom Assistenten mit dem Composio-Toolset getätigt werden, und verarbeitet diese.
  • Schleifen Sie den Agenten: Lassen Sie den Agenten schleifen, damit er Ihren Arbeitsablauf kontinuierlich ausführt und überwacht.

Führen Sie abschließend die Datei aus, indem Sie die Python-Datei ausführen und sich von Ihrem neuen KI-Freund auf Ihre Ziele konzentrieren lassen.

Der Agent überwacht Ihren Bildschirm und sendet eine Benachrichtigung, wenn er sieht, dass Sie etwas tun, was Sie nicht tun sollten.

Den vollständigen Code finden Sie hier

Hier ist ein Beispiel des Agenten in Aktion.


Nächste Schritte

In diesem Artikel haben Sie Ihren personalisierten KI-Freund erstellt, der Ihre Aktivitäten überwacht. Das Hinzufügen externer Integrationen wie eines Kalender- oder Gmail-Tools kann es jedoch noch nützlicher machen. Dadurch erfahren Sie, ob Sie an Veranstaltungen teilnehmen oder wichtige E-Mails beantworten müssen.

Mit der breiten Palette an Integrationen von Composio, von GitHub und Calendar bis hin zu Slack, Discord und mehr, können Sie dies ganz einfach tun.

Wenn Sie weitere Artikel zum Thema KI sehen möchten, lassen Sie es mich in den Kommentaren wissen und geben Sie uns einen Stern auf GitHub.

Markieren Sie das Composio.dev-Repository ⭐

Danke fürs Lesen! <script> // Detect dark theme var iframe = document.getElementById('tweet-1820129229683454160-179'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1820129229683454160&theme=dark" } </script>

Das obige ist der detaillierte Inhalt vonIch habe einen KI-Begleiter erstellt, der meinen Bildschirm überwacht und dabei hilft, meine Fehler zu beheben ✨. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn