Maison >développement back-end >Tutoriel Python >J'ai créé un compagnon IA qui surveille mon écran et m'aide à réparer mes erreurs ✨
Dernièrement, j'ai eu du mal avec ma dépendance à regarder Naruto en frénésie. Même si c'est agréable, cela ne m'aide certainement pas à créer de la valeur pour les actionnaires. ?
Alors, pourquoi ne pas créer un assistant personnel IA qui surveille mon écran et me fait savoir si j'exagère quelque chose que je ne devrais pas faire, comme regarder un anime ? ?
Compte tenu du développement rapide de l'IA au cours de l'année écoulée, j'ai décidé d'utiliser un modèle de langage multimodal pour surveiller mon écran et me faire savoir quand je passe trop de temps sur des activités non productives.
Alors, voici comment j'ai procédé.
Dans cet article, j'expliquerai également comment vous pouvez créer votre ami IA personnel en utilisant OpenAI et Composio.
Composio est une plateforme open source qui équipe vos agents IA d'outils et d'intégrations. Il vous permet d'étendre la capacité et la polyvalence de vos agents IA grâce à des outils d'intégration tels que l'interpréteur de code, RAG, Embedding et des intégrations comme GitHub, Slack, Jira, etc.
S'il vous plaît, aidez-nous avec une étoile. ?
Cela nous aiderait à créer plus d'articles comme celui-ci ?
Démarrez le référentiel Composio.dev ⭐
Pour mener à bien le projet, vous aurez besoin des éléments suivants.
Alors, commençons.
Commencez par créer un environnement virtuel Python.
python -m venv ai-friend cd ai-friend source bin/activate
Maintenant, installez les dépendances suivantes.
pip install composio-core pip install composio-openai openai pip install pyautogui
Ensuite, créez un fichier .env et ajoutez des variables d'environnement pour la clé API OpenAI.
OPENAI_API_KEY=your API key
Vous pouvez utiliser la CLI pour configurer Composio facilement.
Tout d'abord, connectez-vous à votre compte en exécutant la commande suivante.
composio login
Terminez le flux de connexion pour continuer.
Maintenant, mettez à jour les applications.
composio apps update
Maintenant, vous êtes prêt à passer à la partie codage.
Maintenant que vous avez configuré l'environnement, passons à la partie codage.
Tout d'abord, importez les bibliothèques et initialisez les ensembles d'outils.
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])
Donc, dans le bloc de code ci-dessus,
Voici donc ce que font ces outils.
Si vous souhaitez examiner le code et son fonctionnement, vérifiez les fichiers de code pour les outils système et l'outil d'analyse d'images.
Remarque : les actions dans Composio sont des tâches que votre agent peut effectuer, comme cliquer sur une capture d'écran, envoyer une notification ou envoyer un e-mail.
Maintenant, définissez une invite claire et concise pour l'agent. Ceci est crucial pour les performances des agents. Vous pouvez modifier les invites en fonction de vos besoins.
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)
Dans le bloc de code ci-dessus,
Maintenant, définissez une fonction pour exécuter les assistants.
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()
Voici ce qui se passe dans le code ci-dessus.
Enfin, exécutez le fichier en exécutant le fichier Python et en laissant votre nouvel ami IA vous garder concentré sur vos objectifs.
L'agent surveille votre écran et envoie une notification lorsqu'il vous voit faire quelque chose que vous ne devriez pas.
Le code complet peut être trouvé ici
Voici un exemple de l'agent en action.
Dans cet article, vous avez créé votre ami IA personnalisé qui surveille votre activité. Cependant, l'ajout d'intégrations externes telles qu'un outil Calendrier ou Gmail peut le rendre encore plus utile. Cela vous permet de savoir si vous avez des événements auxquels assister ou des e-mails importants auxquels répondre.
Vous pouvez le faire facilement grâce au large éventail d'intégrations de Composio, de GitHub et Calendar à Slack, Discord, et plus encore.
Si vous souhaitez voir plus d'articles sur l'IA, faites-le-moi savoir dans les commentaires et donnez-nous une étoile sur GitHub.
Démarrez le référentiel Composio.dev ⭐
Merci d'avoir lu ! <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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!