この記事では、あなたのアクティビティを監視するパーソナライズされた AI フレンドを構築しました。ただし、カレンダーや Gmail ツールなどの外部統合を追加すると、さらに便利になります。これにより、参加するイベントがあるか、返信しなければならない重要なメールがあるかどうかを知ることができます。
GitHub や Calendar から Slack、Discord などに至るまで、Composio の幅広い統合を使用すると、これを簡単に行うことができます。
AI 関連の記事をもっと見たい場合は、コメント欄で知らせて、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 パーソナル アシスタントを構築してみてはいかがでしょうか? ?
過去 1 年間の AI の急速な発展を考慮して、マルチモーダル言語モデルを使用して画面を監視し、非生産的な活動に時間を費やしすぎていることを知らせることにしました。
それでは、私がやった方法をご紹介します。
この記事では、OpenAI と Composio を使用して個人的な AI フレンドを構築する方法についても説明します。
Composio は、AI エージェントにツールと統合を提供するオープンソース プラットフォームです。コード インタープリター、RAG、埋め込みなどの統合ツールや、GitHub、Slack、Jira などの統合を通じて、AI エージェントの能力と多用途性を拡張できます。
スターのご協力をお願いいたします。 ?
このような記事をもっと作成するのに役立ちますか?
Composio.dev リポジトリにスターを付けます ⭐
プロジェクトを正常に完了するには、次のものが必要です。
それでは、始めましょう。
まず、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
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])
したがって、上記のコード ブロックでは、
これらのツールの機能は次のとおりです。
コードとその動作を調べたい場合は、システム ツールと画像解析ツールのコード ファイルを確認してください。
注: Composio のアクションは、スクリーンショットのクリック、通知の送信、メールの送信など、エージェントが実行できるタスクです。
次に、エージェントに対する明確かつ簡潔なプロンプトを定義します。これはエージェントのパフォーマンスにとって非常に重要です。要件に基づいてプロンプトを変更できます。
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()
上記のコードで何が起こっているかを次に示します。
最後に、Python ファイルを実行してファイルを実行し、新しい AI 友達が目標に集中できるようにします。
エージェントはあなたの画面を監視し、あなたがしてはいけないことをしているのを発見すると通知を送信します。
完全なコードはここにあります
これは、実際のエージェントの例です。
この記事では、あなたのアクティビティを監視するパーソナライズされた AI フレンドを構築しました。ただし、カレンダーや Gmail ツールなどの外部統合を追加すると、さらに便利になります。これにより、参加するイベントがあるか、返信しなければならない重要なメールがあるかどうかを知ることができます。
GitHub や Calendar から Slack、Discord などに至るまで、Composio の幅広い統合を使用すると、これを簡単に行うことができます。
AI 関連の記事をもっと見たい場合は、コメント欄で知らせて、GitHub でスターを付けてください。
Composio.dev リポジトリにスターを付けます ⭐
読んでいただきありがとうございます!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3