用AI操作电脑:使用PyQt和Python结合AI生成代码的实用指南

news2024/11/13 14:43:12


在github上有这样一个名字叫做open-interpreter的项目,收获了52k个Star。该项目通过自然语言来控制电脑,极大简化了使用电脑的难度,提高了工作效率。受该项目启发,我们可以做一个中文版桌面AI助手。

分步思考:

自然语言如何转为计算机操作?→

操作计算机有哪些种方式?(答:鼠标键盘、cmd命令、Python代码……)

如何将自然语言转为操作计算机的代码?(答:调用LLM)

这样基本流程就确定下来:

将用户输入的自然语言输入到LLM,得到相应的可执行代码,然后执行该代码即可

项目原理:

在这里插入图片描述

项目思考:

我们已经得到了一个该项目的雏形,但如果要把它实现为一个可用的应用程序,应考虑哪些方面呢?

注意到在该项目设计过程中,使用了生成式的动态Python代码,因此应着重考虑项目安全性,针对一些相对比较危险的操作,需要让用户进行二次确认。

那么如何判断该代码是否安全,这里可以参考日志等级(info、warning、error……),定义一个1-5的危险级别,让LLM帮我们输出一个1-5的整数,当危险级别过高时,需要进行二次确认。

最终项目流程图如下:

用户输入命令
获取用户输入
发送请求至LLM
获取OpenAI响应
提取Python命令
检测危险级别
危险级别 >= 3
危险级别 == 5
显示你疯了吗?
显示警告信息
继续执行命令
继续执行命令
执行Python命令
获取执行结果
显示执行结果
显示错误信息
结束
用户取消命令执行

项目代码:


关注并回复“AI助手”即可获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2117938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法工程师转行大模型:时代的选择or个人的选择

算法工程师的黄金时代:大模型转行之路 随着人工智能技术的飞速发展,尤其是深度学习领域的大规模预训练模型(大模型)的兴起,算法工程师们正面临前所未有的机遇与挑战。本文旨在探讨算法工程师如何顺利过渡到大模型领域…

基于Matlab的图像去雾系统(四种方法)关于图像去雾的基本算法代码的集合,方法包括局部直方图均衡法、全部直方图均衡法、暗通道先验法、Retinex增强。

基于Matlab的图像去雾系统(四种方法) 关于图像去雾的基本算法代码的集合,方法包括局部直方图均衡法、全部直方图均衡法、暗通道先验法、Retinex增强。 所有代码整合到App designer编写的GUI界面中,包括导入图片,保存处…

吴恩达发布企业AI转型手册,AI Transformation Playbook,对公司高管、正在创业的AIer是不错的指南。

AI 时代,人人都在创业。 今天看到一篇吴恩达发布的 AI 转型指南,原文《 AI Transformation Playbook——How to lead your company into the AI era》。 对公司高管、正在创业的 AIer 是个不错的指南。 这本人工智能转型手册借鉴了领导谷歌大脑团队和百…

浅谈OLTP 与 OLAP 数据建模的差异

OLTP 与 OLAP:常见工作流 联机分析处理 (OLAP) 和联机事务处理 (OLTP) 是两种主要的数据处理系统。两者之间存在多种差异。 OLTP 系统旨在处理来自多个用户的多个事务,它们通常用于许多应用程序的后端。例如,在线商务网站将使用 OLTP 系统来…

chapter13-常用类——(Arrays)——day16

目录 481-Arrays排序源码解读 483-Arrays模拟排序 484-Arrays其他方法 485-Arrays课堂练习 481-Arrays排序源码解读 接口编程-compare 483-Arrays模拟排序 484-Arrays其他方法 二分搜索查找要求有序,如果数组中不存在这个元素,返回-(low1&…

Sentence-BERT实现文本匹配【CoSENT损失】

引言 还是基于Sentence-BERT架构,或者说Bi-Encoder架构,但是本文使用的是苏神提出的CoSENT损失函数1。 点击来都是缘分,之前过时的方法可以不细看,别的文章可以不收藏,现在是最流行的方法,这篇文章建议收藏…

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 Asio(standalone) spdlog 支持协议: UDP TCP Client TCP Ser…

利用高德+ArcGIS优雅获取任何感兴趣的矢量边界

荷花十里,清风鉴水,明月天衣。 四时之景不同,乐亦无穷尽也。今天呢,梧桐君给大家讲解一下,如何利用高德地图,随机所欲的获取shp边界数据。 文章主要分成以下几个步骤: 首先搜索你想获取的矢量…

深度学习中常见的损失函数

关注B站可以观看更多实战教学视频:hallo128的个人空间 深度学习中常见的损失函数 损失函数的作用 损失函数是衡量神经网络输出与真实标签之间差距的指标。在训练过程中,神经网络的目标是最小化损失函数的值。常见的损失函数包括均方误差(MS…

HCIA--实验十二:交换机TRUNK接口实验

两个交换机TRUNK接口实验 一、实验内容 1.需求/要求: 通过两台交换机和四台主机连通,划分两个VLAN,实现同VLAN间通信。理解access接口和trunk接口的区别,熟记access和trunk的配置命令。 二、实验过程 1.拓扑图: 2…

从0开始深入理解并发、线程与等待通知机制

1、 从0开始深入理解并发、线程与等待通知机制 从上面两大互联网公司的招聘需求可以看到,大厂的Java岗的并发编程能力属于标配。 而在非大厂的公司,并发编程能力也是面试的极大加分项,而工作时善用并发编程则可以极大提升程序员在公司的技术…

Gray_opening和gray_closing 你用吗?

一张图,来自南京信息工程大学的视频课程 #1,复习一下各种图像处理神器, 取最小值,取最大值,取中间值,取均值,取高斯值,还有双边滤波,丰富对图像的处理 #2,…

不正确使用 public、private、protected,导致封装性差或无法访问

在Java学习中,封装(Encapsulation)是面向对象编程的重要特性之一。它通过隐藏对象的内部细节,并通过公开的接口与外界交互,从而提高代码的安全性、可维护性和模块化。 然而,如果不正确地使用访问修饰符&am…

ROS2图形化方式新建功能包工具- Turtle Nest

提示:全文AI生成。 链接: https://github.com/Jannkar/turtle_nest 配置 Turtle Nest 使用说明(中文版) 一、Turtle Nest 简介 正如海龟巢是幼海龟的诞生地,ROS 2 Turtle Nest 是 ROS 2 包的诞生和成长之地。Turtl…

JavaEE:多线程进阶(线程安全的集合类)

文章目录 线程安全的集合类多线程环境使用ArrayList多线程环境使用队列多线程环境使用哈希表HashtableConcurrentHashMap 线程安全的集合类 之前学习的集合类大部分都不是线程安全的. 比如ArrayList,Queue,HashMap等等,这都是线程不安全的. Vector,Stack,Hashtable,这些集合类…

使用Git进行版本控制:前端开发者的最佳实践

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介使用Git进行版本控制:前端开发者的最佳实践1. 引言2. Git的基本概念2.1 版本控制系统的作用2.2 Git 的基本操作 3. Git最佳实践3.1 使用有意义的提交信息3.2 小步提交,频繁提交3.3 使用分支进行开发3.4 代码…

SparkSQL SET和RESET

前言 我们在用代码写spark程序的时候,如果要设置一些配置参数,可以通过: SparkConf val conf = new SparkConf().setMaster("local[2]").setAppName("CountingSheep") val sc = new SparkContext(conf)spark-submit ./bin/spark-submit --name "M…

一个vue前端的例子(六)如何获取table一行的id

比如我们要删除列表一行 vue中template中的scope到底是个什么&#xff1f;_vue template scope-CSDN博客 <el-button click"edit_tool(scope.$index)" type"warning" icon"el-icon-edit">编辑</el-button> 获取列表下标

报错module ‘markdown‘ has no attribute ‘version‘解决方法

问题&#xff1a; 在配置环境时&#xff0c;遇到报错 module markdown has no attribute version 解决方法&#xff1a; 1.打开报错目录下的文件compat.py 2.将 markdown.version 更改为 markdown.__version__ (注意是双下划线&#xff09;

2005-2020年各省乡村高质量发展指数数据

2005-2020年各省乡村高质量发展指数数据 1、时间&#xff1a;2005-2020年 2、来源&#xff1a;农村年鉴、统计年鉴、人口和就业统计年鉴 2、指标&#xff1a;乡村高质量发展指数、每公顷农业机械动力&#xff08;千瓦/公顷&#xff09;、农田节水灌溉率、人均粮食产量&#…