Rumah >pembangunan bahagian belakang >Tutorial Python >Saya Mencipta Rakan AI yang Memantau Skrin Saya dan Membantu Memperbaiki Skrin Saya ✨
Kebelakangan ini, saya bergelut dengan ketagihan menonton Naruto secara berlebihan. Walaupun ia menyeronokkan, ia pastinya tidak membantu saya menyampaikan nilai pemegang saham. ?
Jadi, mengapa tidak membina pembantu peribadi AI yang memantau skrin saya dan memberitahu saya jika saya melakukan sesuatu yang berlebihan yang tidak sepatutnya saya lakukan, seperti menonton anime? ?
Memandangkan perkembangan pesat dalam AI pada tahun lalu, saya memutuskan untuk menggunakan model bahasa berbilang modal untuk memantau skrin saya dan memberitahu saya apabila saya menghabiskan terlalu banyak masa untuk aktiviti tidak produktif.
Jadi, beginilah cara saya melakukannya.
Dalam artikel ini, saya juga akan menerangkan cara anda boleh membina rakan AI peribadi anda menggunakan OpenAI dan Composito.
Composio ialah platform sumber terbuka yang melengkapkan ejen AI anda dengan alatan dan penyepaduan. Ia membolehkan anda memperluaskan keupayaan dan kepelbagaian ejen AI anda melalui alat penyepaduan seperti jurubahasa kod, RAG, Pembenaman dan penyepaduan seperti GitHub, Slack, Jira, dsb.
Tolong bantu kami dengan bintang. ?
Ini akan membantu kami mencipta lebih banyak artikel seperti ini ?
Bintangkan repositori Composito.dev ⭐
Untuk berjaya menyelesaikan projek, anda memerlukan perkara berikut.
Jadi, mari kita mulakan.
Mulakan dengan mencipta persekitaran maya Python.
python -m venv ai-friend cd ai-friend source bin/activate
Sekarang, pasang kebergantungan berikut.
pip install composio-core pip install composio-openai openai pip install pyautogui
Seterusnya, Buat fail .env dan tambahkan pembolehubah persekitaran untuk kunci API OpenAI.
OPENAI_API_KEY=your API key
Anda boleh menggunakan CLI untuk menyediakan Composito dengan mudah.
Mula-mula, log masuk ke akaun anda dengan menjalankan arahan berikut.
composio login
Selesaikan aliran log masuk untuk meneruskan lebih jauh.
Sekarang, kemas kini apl.
composio apps update
Kini, anda sudah bersedia untuk beralih ke bahagian pengekodan.
Sekarang anda telah menyediakan persekitaran, mari pergi ke bahagian pengekodan.
Mula-mula, import perpustakaan dan mulakan set alatan.
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])
Jadi, dalam blok kod di atas,
Jadi, inilah yang dilakukan oleh alatan ini.
Jika anda ingin memeriksa kod dan cara ia berfungsi, semak fail kod untuk alat sistem dan alat penganalisis imej.
Nota: Tindakan dalam Composio ialah tugas yang boleh dilakukan oleh ejen anda, seperti mengklik tangkapan skrin, menghantar pemberitahuan atau menghantar mel.
Sekarang, tentukan gesaan yang jelas dan padat untuk ejen. Ini penting untuk prestasi ejen. Anda boleh mengubah gesaan berdasarkan keperluan anda.
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)
Dalam blok kod di atas,
Sekarang, tentukan fungsi untuk menjalankan pembantu.
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()
Berikut ialah perkara yang berlaku dalam kod di atas.
Akhir sekali, laksanakan fail dengan menjalankan fail Python dan biarkan rakan AI baharu anda memastikan anda fokus pada matlamat anda.
Ejen memantau skrin anda dan menghantar pemberitahuan apabila ia melihat anda melakukan sesuatu yang anda tidak sepatutnya.
Kod penuh boleh didapati di sini
Berikut ialah contoh ejen yang sedang beraksi.
Dalam artikel ini, anda membina rakan AI peribadi anda yang memantau aktiviti anda. Walau bagaimanapun, menambah integrasi luaran seperti Kalendar atau alat Gmail boleh menjadikannya lebih berguna. Ini memberitahu anda jika anda mempunyai beberapa acara untuk dihadiri atau e-mel penting untuk dibalas.
Anda boleh melakukannya dengan mudah dengan pelbagai integrasi Composito, daripada GitHub dan Kalendar kepada Slack, Discord dan banyak lagi.
Jika anda ingin melihat lebih banyak artikel berkaitan AI, beritahu saya dalam ulasan dan berikan kami bintang di GitHub.
Bintangkan repositori Composito.dev ⭐
Terima kasih kerana membaca! <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>
Atas ialah kandungan terperinci Saya Mencipta Rakan AI yang Memantau Skrin Saya dan Membantu Memperbaiki Skrin Saya ✨. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!