Próximas etapas

Neste artigo, você criou seu amigo de IA personalizado que monitora sua atividade. No entanto, adicionar integrações externas, como uma ferramenta Calendário ou Gmail, pode torná-lo ainda mais útil. Isso permite que você saiba se você tem alguns eventos para participar ou e-mails importantes para responder.

Você pode fazer isso facilmente com a ampla variedade de integrações do Composio, desde GitHub e Calendar até Slack, Discord e muito mais.

Se você quiser ver mais artigos relacionados à IA, deixe-me saber nos comentários e dê-nos uma estrela no GitHub.

Marque o repositório Composio.dev ⭐

Obrigado por ler!

","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"}}
"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Criei um AI Companion que monitora minha tela e ajuda a consertar meus erros ✨

Criei um AI Companion que monitora minha tela e ajuda a consertar meus erros ✨

Publicado em 16/08/2024
Navegar:663

Ultimamente, tenho lutado contra meu vício de assistir Naruto compulsivamente. Embora seja agradável, definitivamente não me ajuda a agregar valor aos acionistas. ?

Então, por que não criar um assistente pessoal de IA que monitore minha tela e me avise se estou exagerando em algo que não deveria, como assistir anime? ?

Considerando o rápido desenvolvimento da IA ​​no ano passado, decidi usar um modelo de linguagem multimodal para monitorar minha tela e me avisar quando estou gastando muito tempo em atividades não produtivas.

Então, aqui está como eu fiz isso.

  • Configurar OpenAI GPT-4o, modelo de IA multimodal.
  • Use uma ferramenta de análise de tela do Composio para monitorar a tela.
  • Passe as capturas de tela para a GPT em intervalos regulares.
  • Renderizando a mensagem do GPT como uma notificação no sistema.

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

Neste artigo, também explicarei como você pode construir seu amigo pessoal de IA usando OpenAI e Composio.


Composio - Sua plataforma de ferramentas para agentes de IA

Composio é uma plataforma de código aberto que equipa seus agentes de IA com ferramentas e integrações. Ele permite ampliar a capacidade e versatilidade de seus agentes de IA por meio de ferramentas de integração como interpretador de código, RAG, incorporação e integrações como GitHub, Slack, Jira, etc.

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

Por favor, ajude-nos com uma estrela. ?

Isso nos ajudaria a criar mais artigos como este?

Marque o repositório Composio.dev ⭐


Pré-requisitos para construir um AI Friend

Para concluir o projeto com sucesso, você precisará do seguinte.

  • OpenAI SDK e chave API: Para interagir com o LLM.
  • Composição: Para acessar a ferramenta de análise de imagens.
  • PyAutoGUI: Para automatizar interações na tela.
  • Osascript: Para executar comandos AppleScript para controlar aplicativos macOS.

Então, vamos começar.


Vamos começar?

Comece criando um ambiente virtual Python.

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

Agora, instale as seguintes dependências.

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

Em seguida, crie um arquivo .env e adicione variáveis ​​de ambiente para a chave da API OpenAI.

OPENAI_API_KEY=your API key

Configurar composição

Você pode usar a CLI para configurar o Composio facilmente.

Primeiro, faça login em sua conta executando o seguinte comando.

composio login

Conclua o fluxo de login para prosseguir.

Agora, atualize os aplicativos.

composio apps update

Agora, você está pronto para passar para a parte de codificação.


Construindo o amigo AI

Agora que você configurou o ambiente, vamos passar para a parte de codificação.

Primeiro, importe as bibliotecas e inicialize os conjuntos de ferramentas.

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

Então, no bloco de código acima,

  • Importamos todas as bibliotecas e módulos necessários.
  • Carregou as variáveis ​​definidas no arquivo .env.
  • Criada uma instância de OpenAI() e ComposioToolSet.
  • Recuperou as ações de SYSTEMTOOLS e IMAGEANALYSERTOO.

Então, aqui está o que essas ferramentas fazem.

  • FERRAMENTAS DO SISTEMA: As ferramentas do sistema possuem duas ações: notificações push e captura de tela.
  • IMAGEANALYSERTOOL: Esta ferramenta possui apenas uma ação: analisa imagens usando LLMs multimodais como GPT-4o e Claude Sonnet, etc.

Se você quiser examinar o código e como ele funciona, verifique os arquivos de código das ferramentas do sistema e da ferramenta de análise de imagem.

Observação: ações no Composio são tarefas que seu agente pode realizar, como clicar em uma captura de tela, enviar uma notificação ou enviar um e-mail.

Configurar o Assistente OpenAI

Agora, defina um prompt claro e conciso para o agente. Isso é crucial para o desempenho do agente. Você pode alterar os prompts com base em seus 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)

No bloco de código acima,

  • Uma instrução detalhada do assistente é fornecida.
  • Criada uma nova instância de assistente com a instrução definida anteriormente, o nome do modelo e as ações definidas anteriormente.
  • Por fim, crie um tópico para interação com as modelos.

Definir e executar o assistente

Agora, defina uma função para executar os assistentes.

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

Aqui está o que está acontecendo no código acima.

  • Enviar uma mensagem 'CHECK': envia uma mensagem "CHECK" ao assistente no thread especificado para garantir que o modelo seja responsivo.
  • Execute Agent: Cria uma execução para o assistente usando o thread especificado e os IDs do assistente.
  • Tratar chamadas de ferramenta: aguarda e trata chamadas de ferramenta feitas pelo assistente usando o conjunto de ferramentas Composio.
  • Faça um loop no agente: faça um loop no agente para que ele execute e monitore seu fluxo de trabalho continuamente.

Finalmente, execute o arquivo executando o arquivo Python e deixando seu novo amigo IA mantê-lo focado em seus objetivos.

O agente monitora sua tela e envia uma notificação quando vê você fazendo algo que não deveria.

O código completo pode ser encontrado aqui

Aqui está um exemplo do agente em ação.


Próximas etapas

Neste artigo, você criou seu amigo de IA personalizado que monitora sua atividade. No entanto, adicionar integrações externas, como uma ferramenta Calendário ou Gmail, pode torná-lo ainda mais útil. Isso permite que você saiba se você tem alguns eventos para participar ou e-mails importantes para responder.

Você pode fazer isso facilmente com a ampla variedade de integrações do Composio, desde GitHub e Calendar até Slack, Discord e muito mais.

Se você quiser ver mais artigos relacionados à IA, deixe-me saber nos comentários e dê-nos uma estrela no GitHub.

Marque o repositório Composio.dev ⭐

Obrigado por ler!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/composiodev/i-created-an-ai-companion-that-monitors-my-screen-and-helps-fix-my-screw-ups-144i?1 Qualquer violação, entre em contato com [email protected] para excluir
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3