Следующие шаги

В этой статье вы создали своего персонального ИИ-друга, который следит за вашей активностью. Однако добавление внешних интеграций, таких как календарь или инструмент Gmail, может сделать его еще более полезным. Это позволит вам узнать, есть ли у вас какие-либо мероприятия, которые нужно посетить, или важные электронные письма, на которые нужно ответить.

Вы можете легко сделать это с помощью широкого спектра интеграций Composio: от GitHub и Calendar до Slack, Discord и т. д.

Если вы хотите увидеть больше статей, посвященных искусственному интеллекту, дайте мне знать в комментариях и поставьте нам звездочку на GitHub.

Отметьте репозиторий Composio.dev ⭐

Спасибо, что читаете!

","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"}}
«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Я создал AI-компаньона, который контролирует мой экран и помогает исправить мои ошибки ✨

Я создал AI-компаньона, который контролирует мой экран и помогает исправить мои ошибки ✨

Опубликовано 16 августа 2024 г.
Просматривать:223

В последнее время я боролся со своей зависимостью от запойного просмотра Наруто. Хотя это и приятно, это определенно не помогает мне повысить акционерную стоимость. ?

Итак, почему бы не создать личного помощника с искусственным интеллектом, который будет следить за моим экраном и сообщать мне, если я переусердствую с чем-то, чего делать не следует, например с просмотром аниме? ?

Учитывая быстрое развитие искусственного интеллекта в прошлом году, я решил использовать мультимодальную языковую модель, чтобы контролировать экран и сообщать мне, когда я трачу слишком много времени на непродуктивную деятельность.

Итак, вот как я это сделал.

  • Настройте OpenAI GPT-4o, мультимодальную модель искусственного интеллекта.
  • Для мониторинга экрана используйте инструмент анализа экрана от Composio.
  • Регулярно передавайте скриншоты в GPT.
  • Отображение сообщения из GPT в виде уведомления в системе.

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

В этой статье я также объясню, как вы можете создать своего личного друга-ИИ с помощью OpenAI и Composio.


Composio — ваша платформа инструментов для AI-агентов

Composio — это платформа с открытым исходным кодом, которая снабжает ваших ИИ-агентов инструментами и интеграциями. Он позволяет вам расширить возможности и универсальность ваших ИИ-агентов с помощью инструментов интеграции, таких как интерпретатор кода, RAG, внедрение, а также таких интеграций, как GitHub, Slack, Jira и т. д.

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

Пожалуйста, помогите нам со звездой. ?

Это поможет нам создавать больше подобных статей?

Отметьте репозиторий Composio.dev ⭐


Предварительные условия для создания AI-Friend

Для успешного завершения проекта вам понадобится следующее.

  • OpenAI SDK и ключ API: для взаимодействия с LLM.
  • Композиция: для доступа к инструменту анализа изображений.
  • PyAutoGUI: для автоматизации взаимодействия на экране.
  • Osascript: для выполнения команд AppleScript для управления приложениями macOS.

Итак, начнем.


Давайте начнем?

Начните с создания виртуальной среды Python.

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

Теперь установите следующие зависимости.

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

Далее создайте файл .env  и добавьте переменные среды для ключа OpenAI API.

OPENAI_API_KEY=your API key

Настройка Composio

Вы можете использовать CLI для простой настройки Composio.

Сначала войдите в свою учетную запись, выполнив следующую команду.

composio login

Чтобы продолжить, завершите процедуру входа.

Теперь обновите приложения.

composio apps update

Теперь вы готовы перейти к кодированию.


Создание друга-ИИ

Теперь, когда вы настроили среду, давайте перейдем к кодированию.

Сначала импортируйте библиотеки и инициализируйте наборы инструментов.

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

Итак, в приведенном выше блоке кода

  • Мы импортировали все необходимые библиотеки и модули.
  • Загружены переменные, определенные в файле .env.
  • Создан экземпляр OpenAI() и ComposioToolSet.
  • Извлечены действия из SYSTEMTOOLS и IMAGEANALYSERTOO.

Итак, вот что делают эти инструменты.

  • СИСТЕМНЫЕ ИНСТРУМЕНТЫ: Системные инструменты имеют два действия: push-уведомления и захват экрана.
  • IMAGEANALYSERTOOL: Этот инструмент имеет только одно действие: анализирует изображения с использованием мультимодальных LLM, таких как GPT-4o и Claude Sonnet и т. д.

Если вы хотите изучить код и то, как он работает, проверьте файлы кода для системных инструментов и инструмента анализа изображений.

Примечание. Действия в Composio — это задачи, которые может выполнять ваш агент, например нажатие на снимок экрана, отправка уведомления или отправка письма.

Настройка помощника OpenAI

Теперь определите четкую и краткую подсказку для агента. Это имеет решающее значение для производительности агента. Вы можете изменить подсказки в соответствии с вашими требованиями.

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)

В приведенном выше блоке кода

  • Прилагается подробная инструкция для помощника.
  • Создан новый экземпляр помощника с ранее определенной инструкцией, названием модели и ранее определенными действиями.
  • Наконец, создайте тему для взаимодействия с моделями.

Определите и запустите помощника

Теперь определите функцию для запуска помощников.

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

Вот что происходит в приведенном выше коде.

  • Отправить сообщение «ПРОВЕРИТЬ»: помощнику в указанной цепочке будет отправлено сообщение «ПРОВЕРИТЬ», чтобы убедиться, что модель реагирует.
  • Агент выполнения: создает запуск для помощника, используя указанный поток и идентификаторы помощника.
  • Обработка вызовов инструментов: ожидает и обрабатывает вызовы инструментов, сделанные помощником с использованием набора инструментов Composio.
  • Зациклить агент: зациклите агент, чтобы он постоянно работал и контролировал ваш рабочий процесс.

Наконец, запустите файл Python и позвольте вашему новому другу-ИИ сосредоточить вас на ваших целях.

Агент контролирует ваш экран и отправляет уведомление, когда видит, что вы делаете что-то, чего не следует делать.

Полный код можно найти здесь

Вот пример агента в действии.


Следующие шаги

В этой статье вы создали своего персонального ИИ-друга, который следит за вашей активностью. Однако добавление внешних интеграций, таких как календарь или инструмент Gmail, может сделать его еще более полезным. Это позволит вам узнать, есть ли у вас какие-либо мероприятия, которые нужно посетить, или важные электронные письма, на которые нужно ответить.

Вы можете легко сделать это с помощью широкого спектра интеграций Composio: от GitHub и Calendar до Slack, Discord и т. д.

Если вы хотите увидеть больше статей, посвященных искусственному интеллекту, дайте мне знать в комментариях и поставьте нам звездочку на GitHub.

Отметьте репозиторий Composio.dev ⭐

Спасибо, что читаете!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/composiodev/i-created-an-ai-companion-that-monitors-my-screen-and-helps-fix-my-screw-ups-144i?1 Любой нарушение, пожалуйста, свяжитесь с [email protected], чтобы удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3