Saya Mencipta Rakan AI yang Memantau Skrin Saya dan Membantu Memperbaiki Skrin Saya ✨

PHPz
Lepaskan: 2024-08-09 07:46:02
asal
696 orang telah melayarinya

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 wissen zu lassen, 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.
  • Darstellen der Nachricht von GPT als Benachrichtigung im System.

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.


Lass uns anfangen ?

Beginnen Sie mit der Erstellung einer virtuellen Python-Umgebung.

python -m venv ai-friend cd ai-friend source bin/activate
Salin selepas log masuk

Jetzt installieren Sie die folgenden Abhängigkeiten.

pip install composio-core pip install composio-openai openai pip install pyautogui
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Beenden Sie den Anmeldevorgang, um fortzufahren.

Jetzt Apps aktualisieren.

composio apps update
Salin selepas log masuk

Jetzt können Sie mit dem Codierungsteil fortfahren.


Den KI-Freund aufbauen

Da Sie nun 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])
Salin selepas log masuk

Also, im obigen Codeblock,

  • Wir haben alle erforderlichen Bibliotheken und Module importiert.
  • Die in der .env-Datei definierten Variablen 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 für 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 Versenden einer E-Mail.

Richten Sie OpenAI Assistant ein

Jetzt definieren Sie 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)
Salin selepas log masuk

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 Models.

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()
Salin selepas log masuk

Hier ist, was im obigen Code vor sich geht.

  • Hantar Mesej 'SEMAK': Ini menghantar mesej "SEMAK" kepada pembantu dalam urutan yang ditentukan untuk memastikan model responsif.
  • Ejen Laksanakan: Mencipta larian untuk pembantu menggunakan urutan dan ID pembantu yang ditentukan.
  • Kendalikan Panggilan Alat: Menunggu dan mengendalikan panggilan alat yang dibuat oleh pembantu menggunakan set alat Composito.
  • Gelung Ejen: Gelung ejen supaya ia berjalan dan memantau aliran kerja anda secara berterusan.

Akhir sekali, laksanakan fail dengan menjalankan fail Python dan biarkan rakan AI baharu anda memastikan anda fokus pada matlamat anda.

Ejen memantau skrin anda dan menghantar pemberitahuan apabila ia melihat anda melakukan sesuatu yang anda tidak sepatutnya.

Kod penuh boleh didapati di sini

Berikut adalah contoh ejen yang sedang beraksi.


Langkah seterusnya

Dalam artikel ini, anda membina rakan AI peribadi anda yang memantau aktiviti anda. Walau bagaimanapun, menambah penyepaduan luaran seperti Kalendar atau alat Gmail boleh menjadikannya lebih berguna. Ini memberitahu anda jika anda mempunyai beberapa acara untuk dihadiri atau e-mel penting untuk dibalas.

Anda boleh melakukannya dengan mudah dengan pelbagai integrasi Composito, daripada GitHub dan Kalendar kepada Slack, Discord dan banyak lagi.

Jika anda ingin melihat lebih banyak artikel berkaitan AI, beritahu saya dalam ulasan dan berikan kami bintang di GitHub.

Bintangkan repositori Composito.dev ⭐

Terima kasih kerana membaca!

Atas ialah kandungan terperinci Saya Mencipta Rakan AI yang Memantau Skrin Saya dan Membantu Memperbaiki Skrin Saya ✨. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!