python调用openai兼容api实现视觉识别坐标完成自动化操作电脑示例代码
代码语言:python
所属分类:其他
代码描述:python调用openai兼容api实现视觉识别坐标完成自动化操作电脑示例代码,具体步骤:1. 用户输入任务。2. 截取当前屏幕,3. 将截图和任务描述发送给OpenAI Vision API。 4. OpenAI分析截图和任务,规划下一步操作(例如点击某个坐标、输入文本)。它会以特定的JSON格式返回操作指令。5. 解析OpenAI的指令,使用`pyautogui`模拟鼠标点击或键盘输入。** 6. 重复2-5步,直到OpenAI指示任务完成。
代码标签: python 调用 openai 兼容 api 视觉 识别 坐标 完成 自动化 操作 电脑 示例 代
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* #pip install openai pyautogui mss Pillow #`openai`: 用于与OpenAI API交互。 # `pyautogui`: 用于模拟鼠标和键盘操作。 # `mss`: 更高效的屏幕截图库。 #`Pillow`: 处理图像(`mss`通常配合它使用)。 #2. **获取OpenAI API Key:** #在 OpenAI 官网 ([https://platform.openai.com/](https://platform.openai.com/)) 获取你的 API Key。 # **MacOS 用户额外设置:** #确保Python和你的终端应用有“辅助功能”和“屏幕录制”权限:`系统设置` -> `隐私与安全性` -> `辅助功能` / `屏幕录制`,找到你的终端或IDE并勾选。 #如果遇到`pyautogui`错误,可能需要安装`opencv-python`: `pip install opencv-python` import base64 import json import time import pyautogui import mss from openai import OpenAI import re import os # --- 配置 --- OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY") # 建议通过环境变量设置 if not OPENAI_API_KEY: print("WARNING: OPENAI_API_KEY not found in environment variables.") OPENAI_API_KEY = "YOUR_OPENAI_API_KEY_HERE" # 如果没有环境变量,请直接在这里替换你的API Key OPENAI_MODEL = "gpt-4o" # 或 "gpt-4-turbo" (推荐gpt-4o,更具视觉理解能力) # PyAutoGUI 的一些设置 # pyautogui.FAILSAFE = True # 启用安全模式,将鼠标移动到屏幕左上角会停止程序 pyautogui.PAUSE = 0.5 # 每个pyautogui调用后暂停的时间,方便观察 # --- 初始化 OpenAI 客户端 --- client = OpenAI(api_key=OPENAI_API_KEY) # --- 辅助函数 --- def take_screenshot(): """ 使用 mss 库截取当前屏幕,并将其编码为 base64 字符串。 """ with mss.mss() as sct: monitor = sct.monitors[1] # 通常是主显示器,如果有多显示器,可以调整 sct_img = sct.grab(monitor) img_bytes = mss.tools.to_png(sct_img.rgb, sct_img.size) return base64.b64encode(img_bytes).decode("utf-8") def get_ai_action(base64_image, user_prompt, conversation_history): """ 将截图和用户/AI历史消息发送给OpenAI Vision API, 获取AI规划的下一步操作。 """ # 构建消息列表 messages = [ { "role": "system", "content": """ 你是一个电脑操作自动化助手。你的任务是根据用户的需求和当前屏幕截图,规划并执行下一步操作。 你的输出必须是严格的JS.........完整代码请登录后点击上方下载按钮下载查看
网友评论0