Próximos pasos

En este artículo, creaste tu amigo AI personalizado que monitorea tu actividad. Sin embargo, agregar integraciones externas como una herramienta de Calendario o Gmail puede hacerlo aún más útil. Esto te permite saber si tienes algunos eventos a los que asistir o correos electrónicos importantes a los que responder.

Puedes hacerlo fácilmente con la amplia gama de integraciones de Composio, desde GitHub y Calendar hasta Slack, Discord y más.

Si quieres ver más artículos relacionados con la IA, házmelo saber en los comentarios y danos una estrella en GitHub.

Destacar el repositorio Composio.dev ⭐

¡Gracias por leer!

","image":"http://www.luping.net/uploads/20240816/172381104866bf44e803c73.gif","datePublished":"2024-08-16T20:24:07+08:00","dateModified":"2024-08-16T20:24:07+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Creé un compañero de IA que monitorea mi pantalla y me ayuda a solucionar mis errores ✨

Creé un compañero de IA que monitorea mi pantalla y me ayuda a solucionar mis errores ✨

Publicado el 2024-08-16
Navegar:995

Últimamente, he estado luchando con mi adicción a ver Naruto en exceso. Si bien es divertido, definitivamente no me ayuda a generar valor para los accionistas. ?

Entonces, ¿por qué no crear un asistente personal de IA que monitoree mi pantalla y me avise si me estoy excediendo en algo que no debería hacer, como mirar anime? ?

Teniendo en cuenta el rápido desarrollo de la IA durante el año pasado, decidí utilizar un modelo de lenguaje multimodal para monitorear mi pantalla y avisarme cuando dedico demasiado tiempo a actividades no productivas.

Así que así es como lo hice.

  • Configurar OpenAI GPT-4o, modelo de IA multimodal.
  • Utilice una herramienta de análisis de pantalla de Composio para monitorear la pantalla.
  • Pasa las capturas de pantalla a GPT a intervalos regulares.
  • Representar el mensaje de GPT como una notificación en el sistema.

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

En este artículo, también explicaré cómo puedes crear tu amigo personal de IA usando OpenAI y Composio.


Composio: su plataforma de herramientas para agentes de IA

Composio es una plataforma de código abierto que equipa a sus agentes de IA con herramientas e integraciones. Le permite ampliar la capacidad y versatilidad de sus agentes de IA a través de herramientas de integración como intérprete de código, RAG, incrustación e integraciones como GitHub, Slack, Jira, etc.

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

Por favor ayúdanos con una estrella. ?

¿Nos ayudaría a crear más artículos como este?

Destacar el repositorio Composio.dev ⭐


Requisitos previos para crear un amigo con IA

Para completar con éxito el proyecto, necesitará lo siguiente.

  • OpenAI SDK y clave API: Para interactuar con el LLM.
  • Composio: Para acceder a la herramienta de análisis de imágenes.
  • PyAutoGUI: Para automatizar interacciones en la pantalla.
  • Osascript: para ejecutar comandos AppleScript para controlar aplicaciones macOS.

Entonces, comencemos.


¿Empecemos?

Comience creando un entorno virtual Python.

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

Ahora, instala las siguientes dependencias.

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

A continuación, cree un archivo .env y agregue variables de entorno para la clave API de OpenAI.

OPENAI_API_KEY=your API key

Configurar composición

Puedes usar la CLI para configurar Composio fácilmente.

Primero, inicia sesión en tu cuenta ejecutando el siguiente comando.

composio login

Finalice el flujo de inicio de sesión para continuar.

Ahora, actualiza las aplicaciones.

composio apps update

Ahora estás listo para pasar a la parte de codificación.


Construyendo el amigo de la IA

Ahora que has configurado el entorno, pasemos a la parte de codificación.

Primero, importe las bibliotecas e inicialice los conjuntos de herramientas.

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])

Entonces, en el bloque de código anterior,

  • Importamos todas las bibliotecas y módulos necesarios.
  • Cargó las variables definidas en el archivo .env.
  • Se creó una instancia de OpenAI() y ComposioToolSet.
  • Recuperadas las acciones de SYSTEMTOOLS e IMAGEANALYSERTOO.

Esto es lo que hacen estas herramientas.

  • HERRAMIENTAS DEL SISTEMA: Las herramientas del sistema tienen dos acciones: notificaciones push y captura de pantalla.
  • IMAGEANALYSERTOOL: esta herramienta tiene una sola acción: analiza imágenes utilizando LLM multimodales como GPT-4o y Claude Sonnet, etc.

Si desea examinar el código y cómo funciona, consulte los archivos de código de las herramientas del sistema y la herramienta de análisis de imágenes.

Nota: Las acciones en Composio son tareas que su agente puede realizar, como hacer clic en una captura de pantalla, enviar una notificación o enviar un correo electrónico.

Configurar el Asistente OpenAI

Ahora, defina un mensaje claro y conciso para el agente. Esto es crucial para el desempeño del agente. Puede modificar las indicaciones según sus requisitos.

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)

En el bloque de código anterior,

  • Se proporciona una instrucción asistente detallada.
  • Se creó una nueva instancia de asistente con la instrucción, el nombre del modelo y las acciones previamente definidas.
  • Finalmente, crea un hilo para la interacción con los modelos.

Definir y ejecutar el asistente

Ahora, define una función para ejecutar los asistentes.

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()

Esto es lo que sucede en el código anterior.

  • Enviar un mensaje 'COMPROBAR': Esto envía un mensaje "COMPROBAR" al asistente en el hilo especificado para garantizar que el modelo responda.
  • Ejecutar agente: crea una ejecución para el asistente utilizando el hilo especificado y los ID del asistente.
  • Manejar llamadas de herramientas: espera y maneja las llamadas de herramientas realizadas por el asistente utilizando el conjunto de herramientas Composio.
  • Haga un bucle con el agente: haga un bucle con el agente para que se ejecute y supervise su flujo de trabajo continuamente.

Finalmente, ejecuta el archivo ejecutando el archivo Python y dejando que tu nuevo amigo AI te mantenga enfocado en tus objetivos.

El agente monitorea tu pantalla y envía una notificación cuando te ve haciendo algo que no debes.

El código completo se puede encontrar aquí

Aquí hay un ejemplo del agente en acción.


Próximos pasos

En este artículo, creaste tu amigo AI personalizado que monitorea tu actividad. Sin embargo, agregar integraciones externas como una herramienta de Calendario o Gmail puede hacerlo aún más útil. Esto te permite saber si tienes algunos eventos a los que asistir o correos electrónicos importantes a los que responder.

Puedes hacerlo fácilmente con la amplia gama de integraciones de Composio, desde GitHub y Calendar hasta Slack, Discord y más.

Si quieres ver más artículos relacionados con la IA, házmelo saber en los comentarios y danos una estrella en GitHub.

Destacar el repositorio Composio.dev ⭐

¡Gracias por leer!

Declaración de liberación Este artículo se reproduce en: https://dev.to/composiodev/i-created-an-ai-companion-that-monitors-my-screen-and-helps-fix-my-screw-ups-144i?1 Cualquiera infracción, comuníquese con [email protected] para eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3