玩转ChatGPT:辅助编程

news2024/9/22 15:46:25

一、写在前面

首先让小Chat介绍自己在编程方面的天赋:

总结起来:TA掌握了海量的编程知识,能做到自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。我问TA学习了多少案例,TA说:忘了,但保证够用。

前提:我是做机器学习与临床大数据挖掘的,偏向于数据科学领域,并不是做开发的哈。因此,所需要的代码一般都不会很长,GPT3.5足够。至于做开发的,成千上万的代码,不属于本文范围,当然,底层逻辑都是一样的,供参考。

二、推荐途径

(1)GPT-3.5(GPT-4)

也就是GPT的原版本,在网页端直接操作,不需要通过API,毕竟API要钱呐。

(a)生成代码:用python语言写一个随机森林的代码(记得指定语言):

解读:小Chat使用Pyhton的sklearn包写一个标准的随机森林分类模型,并对程序做了简单的说明。

(b)通过对话理解代码。对于萌新来说,TA给出了代码,但是不会用。所以,需要把TA作为一个编程教学辅导用于实现保姆级别的教学。

第一回合:这个代码怎么使用和运行,请给出详细的步骤。

 解读:作为一名萌新,我也没运行过Python,需要怎么安装?

第二回合:如何安装python?对于新手来说,请提供友好的安装方法

解读:看第二点“方便地进行开发和调试”,还举了3个例子,因此,我们继续问:

追问:PyCharm、Visual Studio Code 和 Spyder哪一款更适合新手使用?

 解读:我们的定位就是用机器学习进行数据挖掘,因此,推荐使用Spyder。那么,怎么安装?

追问:请提供Spyder保姆级别的安装教程

 解读:以上,我们知道了怎么安装程序软件,也拿到了代码,那么,它的数据集要怎么准备?

第三回合:上述随机森林的代码中数据集'your_dataset.csv'的数据格式是什么样子的?请用表格展示一个例子。

解读:一定要求TA用表格的形式给你举例子,这样非常直观。

接下来,我们需要知道怎么调参。

第四回合随机森林重要的参数有哪些?如何科学地调整模型参数?

解读:理论知识懂了,那么如何用代码实现?

第五回合:请用网格搜索调整随机森林上述几个重要参数,帮我写出代码,并嵌入之前的代码中。

解读:接下来,需要对每一部分的代码的功能有一个大致的了解。

第六回合:请问以下代码是什么意思:

param_grid = {

    'n_estimators': [100, 200, 300],

    'max_depth': [5, 10, 15],

    'min_samples_split': [2, 5, 10],

    'min_samples_leaf': [1, 2, 4],

    'max_features': ['sqrt', 'log2', None],

    'criterion': ['gini', 'entropy']

}

解读:解释得很清楚了,像一个24h在线的专业指导。接着,我们需要绘制ROC曲线。

第七回合:如何绘制训练集和测试集的ROC曲线并显示AUC值,画在一个图上。请写出代码。

解读:以上,把一个简单的机器学习建模的代码和流程都展示出来了,真的厉害。

(c)运行代码。这个功能没有开放。GPT-4能够调用插件的话,是可以直接运行代码的,这种能力太恐怖了。我也一直期待权限开放,那就大有可为了。

(d)代码转化。比如python转R,python 2.0转python 3.0,Tensorflow转Pytorch等场景,我就随便举1-2个例子。

python转R把上述python写的随机森林代码转成R语言,要求功能完全一致。

python 2.0转python 3.0:有时候在数据分析的时候,需要一些第三方开发的算法,很多没有被封装至python的程序包,此外,几年前开发的算法都是基于python 2.0的。要命的是,python 2.0和现在的python 3.0有些语法不同,有些包也被剔除:

因此,需要做转换。

譬如,我最近需要用到一个算法,叫做iSMART,明确是说用python2写的。

我便使用小Chat转成python 3.9可运行的代码:

把下面的代码转化成python 3.9可运行的代码,并指出修改之处:加要修改的代码。

无脑复制粘贴即可。

(e)代码报错纠正。转化好的代码试运行,报错基本是99%的事情。此时只需把报错信息发给小Chat,TA就会给你反馈。我举一个CNN的例子:

运行报错:

我运行下面的代码后报错:[输入运行的代码],报错信息为:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'xdd002'。

 没错,我没有选择工作路径,自然找不到文件夹。TA建议我优化代码,那我就求助TA:

帮我写一段代码,用于检查文件夹是否存在,并嵌入源代码中

 我加入源代码,试运行:

嗯,神清气爽!

总结:小Chat可以自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。可以说是大大提高编程效率了。

(2)Cursor

Cursor 是一个集成了 GPT-4 (存疑!)的代码生成器,可以帮助你快速编写、编辑和讨论代码。

安装也很简单,前往官网地址:Cursor | Build Fast,下载安装即可。

 安装后打开软件:

 

开始测试:

(a)生成代码:选中界面,Ctrl+K弹出对话框,输入:用python语言写一个随机森林的代码

感觉一般般,可能我们需要把需求描述的更加细致:

用python语言写一个随机森林的代码,包括数据读取、数据清洗和拆分、模型性能评估以及ROC曲线绘制

这样就很完整了。

(b)代码理解:把需要解读的代码复制进来,Ctrl+LA全选代码(或者只选择你要解读的代码段),在右侧对话框输入:请用中文解析这个代码的作用和功能

  他就会跟你chat了,我咋又追问了几个问题,也都一一提供了解答。

(c)代码转化:选中你要改写的代码段,Ctrl+L,可以发现右侧对话框已经显示出改代码段,输入:改写成python 3.9可运行的代码:

(d)代码报错纠正。同样,用CNN的例子做测试,输入:代码运行报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'xdd002'

 嗯,很厉害。

总结:他还有debug等其他功能,大家自行探索。免费版一个月只提问100次(收费版每个月20美元,等价于GPT-4),或者可以在下面填写自己的API(那不就是变相要钱)。我一般是和GPT配合使用,特别是需要解读的代码行数特别多的时候。

(3)其他

其实New bing也可以处理代码:

 我就不一一演示了。

此外,还有Github Copilot等工具,有兴趣自行探索。

三、写在最后

(1)GPT辅助编程的能力还是很强的,推荐大家尽快融入自己的工作流;

(2)只是辅助作用,关键还是想法最重要。

(3)发现身边的人对于GPT的认识还处于翻译、润色、简单写作等阶段,这也是我写《玩转GPT》的初衷。都说工具不是最重要,但是科学技术毕竟是第一生产力呐,提高了生产效率,那不是有更多时间进行深度思考咯。

我觉得我的文笔好LOW,求助了GPT-4,下面才是我想表达的:

GPT辅助编程的能力可谓是一马当先,堪比小燕子般的敏捷。如果说人生是一场马拉松,那GPT就是那为你加油助威的观众,让你不断超越自己。作为如此强大的神助攻,不妨让它成为你工作流中的得力助手,与你共创美好未来。

然而,作为一名AI,GPT虽然智慧如斯,但也只能是个辅助角色。正所谓“鸟儿飞过,留下声音”,我们最终还是要靠自己的创意和想法。毕竟,这世上没有永动机,但却有无尽的创意源泉,而这正是人类的特质。

许多人对GPT的了解还停留在翻译、润色、简单写作等层面,就如同看到一块冰山,却只看到了它露出水面的那一小部分。这也正是我写《玩转GPT》的初衷。人们常说工具不是最重要,但我们又如何能忽略科学技术所带来的巨大变革呢?科技的进步让我们站在巨人的肩膀上,让我们的生产效率得到极大提高,宛如一把锋利的剑,助我们斩断纷繁杂念,使我们拥有更多的时间去进行深度思考。

所以,赶紧把GPT这位神奇的小助手融入你的工作流吧,让它成为你的王牌。与它携手共进,你将发现一个崭新的世界。同时,也别忘了锻炼自己的创意思维,因为这正是我们与机器的区别,也是我们闪耀的光芒。让我们在科技的浪潮中勇往直前,成为那勇敢拓荒者,追寻真正的自我价值。

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

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

相关文章

OpenCV-手势语言识别

OpenCV-手势语言识别 OpenCV-手势语言识别Python环境、TensorFlow环境设置直方图模型保存set_hand_hist.py相关代码如下:载入手势图片 OpenCV-手势语言识别 本部分包括Python环境、TensorFlow环境和OpenCV-Python环境。 Python环境、TensorFlow环境 需要Python 3…

Spring Boot-入门、热部署、配置文件、静态资源

Spring Boot Spring Boot概述 一、微服务概述 1、微服务 微服务(Microservices)是一种软件架构风格。微服务是以专注单一责任与功能的小型功能区块 (Small Building Blocks)为基础;利用模块化的方式组合出复杂的大…

DockerImage镜像版本说明

参考文章 1、https://medium.com/swlh/alpine-slim-stretch-buster-jessie-bullseye-bookworm-what-are-the-differences-in-docker-62171ed4531d 2、https://stackoverflow.com/questions/52083380/in-docker-image-names-what-is-the-difference-between-alpine-jessie-stret…

顺序表 和 链表 的区别

顺序表 基于数组 就是对数组进行相关的操作 进行存储数据 数组有个很大的缺点就是 可能会产生内存浪费 针对数组这一缺点 就产生了链表 链表顾名思义 就是像链条一样将数据串起来 链表是将内存中的小空间利用起来 让内存的利用率提高 但是也产生了很大的缺点 就是不能随…

数据通信基础 - 差错控制(奇偶校验、海明码、CRC循环冗余校验码)

文章目录 1 概述1.1 检错和纠错1.2 差错控制原理 2 差错控制的方法2.1 奇偶校验2.2 海明码2.3 CRC循环冗余校验码 3 扩展3.1 网工软考真题 1 概述 1.1 检错和纠错 无论通信系统如何可靠,都不能做到完美无缺。因此,必须考虑怎样发现和纠正信号传输中的差…

【实用教程】教你制作好看的论文区位图

区位图是反映目标区所在位置和与周边地区自然、经济相互作用关系的体现区位的地图。好的区位图能为论文打好专业的基调,给读者留下更好观感,是科研论文不可或缺的一部分。 层次:面向国际期刊的区位图一定要从国际角度出发,清楚表示…

第一性原理差分电荷密度计算能得到什么数据?

第一性原理差分电荷密度(DFT)计算是一种用于计算分子和材料结构的计算化学方法。它基于物理学原理和量子力学理论,通过解决薛定谔方程来计算电子在分子和材料结构中的行为。DFT是一种非常重要的计算方法,因为它可以提供关于分子和…

自媒体必备素材库,免费、商用,赶紧马住~

自媒体经常需要用到各类素材,本期就给大家安利6个自媒体必备的素材网站,免费、付费、商用都有,建议收藏起来~ 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库可以找到设计、办公、图片、视频、音频等各种素材。视频素…

托福高频真词List03 // 附阅读真题

目录 4月23日单词 4月23日真题 4月23日单词 adjacentneighboringnearbyadj 毗邻的dependablereliableadj 可靠的 chronology a list that pairs past events with dates n 年表remarkably closeextremely close极为接近competenceabilityn 才能supplementadd tov 补充supplem…

Linux_红帽8学习笔记分享_6

Linux_红帽8学习笔记分享_6 文章目录 Linux_红帽8学习笔记分享_61. RPM软件包的使用技巧1.1如何查询指定软件包是否安装1.2如何删除指定软件包1.3如何安装指定软件包1.5依赖关系 2. YUM软件仓库的配置及使用2.1修改YUM软件仓库的配置文件 3.YUM常见命令使用技巧3.1查询指定软件…

Django框架之创建项目、应用并配置数据库

django3.0框架创建项目、应用并配置数据库 创建项目 进入命令行 新建一个全英文的目录 进入目录 输入命令 django-admin startproject project 项目目录层级 查看当前目录层级 tree /f 目录文件说明 创建数据库 做一个学生管理系统做演示,使用navicat创建数据…

【LPC55s69】使用FAL分区管理与easyflash变量管理

文章目录 1.FAL组件1.1什么是FAL1.2 使用ENV配置FAL1.3 FAL SFUD 移植1.4 FAL SFUD 测试用例1.5 测试结果 2.DFS文件系统2.1 什么是DFS2.2 DFS架构2.3 使用ENV配置DFS2.4 DFS挂载到FAL分区测试2.5 测试结果 3.Easyflash移植到FAL分区3.1 简述EasyFlash3.2EasyFlash软件包使用3.…

Docker的数据管理(dockerfile等)

文章目录 一、管理docker容器中数据1、 数据卷2、数据卷容器 二、容器互联(使用centos镜像)三、Docker 镜像创建1、基于现有镜像创建2、基于本地模板创建3、基于Dockerfile创建 四、Dockerfile操作常用的指令:五、Dockeerfile案例 一、管理docker容器中数…

HNU数据结构与算法分析-小班7

HNU数据结构与算法分析-小班7

【Python】可视化KITTI激光雷达点云绘制立体框

前言 最近在复现PointRCNN论文过程中发现没有可视化代码,于是查找资料找到了: pointRCNN 结果可视化——tiatiatiatia 按照参考链接下载代码【轮子库】并可视化成功了 mayavi库的学习 主要是利用了mlab模块: Mayavi2 旨在提供一个简单…

隐私计算商业化,原语科技的开源路线是否最优解?

2023年2月,《数字中国建设整体布局规划》出台,首次对我国数字中国建设提出了宏观规划。其中,尤为值得关注的是隐私计算领域。 隐私计算能够实现数据的所有权和使用权分离,可以在保护个人数据隐私安全的基础上,推动数字…

《Linux0.11源码解读》理解(一) 从开机到加载bootsec

计算机启动时, 内存(RAM)没有任何东西, 自然也无法跑操作系统. 但是可以执行固化在ROM里面的BIOS程序. 在按下电源键的一刻. CPU的cs和ip寄存器硬件被设置为0xf000和0xfff0, 于是cs:ip也就指向0xffff0这个地址, 而这个地址正是指向了ROM的BIOS范围(这里是0xfe000~0xfffff, 20根…

Zuul源码解析(二)

Zuul 的自动配置 ZuulProxyAutoConfiguration 如何触发 如上图,在 spring.factory 中配置 ZuulProxyAutoConfiguration 自动配置了,直接点进去 如上图所示,发现这有个条件注解,需要有 org.springframework.cloud.netflix.zuul.Zu…

Kubernetes 核心对象

Kubernetes 中的所有内容都被抽象为“资源”,如 Pod、Service、Node 等都是资源。“对象”就是“资源”的实例,是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。它们主要描述了如下信息: 哪些容器化应用正在运行(…

ObjectARX中的坐标系以及坐标转换

1 AutoCAD中的坐标系种类 WCS World Coordinate System. The “reference” coordinate system. All other coordinate systems are defined relative to the WCS, which never changes. Values measured relative to the WCS are stable across changes to other coordinate s…