〖ChatGPT实践指南 - 零基础扫盲篇②〗- 深度体验 ChatGPT

news2024/10/6 16:20:06

文章目录

  • ⭐ ChatGPT 最主要的对话功能
  • ⭐ ChatGPT 对话功能的演示
    • 🌟 搞怪案例 ① - 询问如何做 "红烧肉"
    • 🌟 演示案例 ② - 文本翻译[翻译源码]
    • 🌟 演示案例 ③ - 代码问题
    • 🌟 演示案例 ④ - 修复Bug
    • 🌟 演示案例 ⑤ - 编写毕设大纲
  • ⭐ AI 绘图功能

ChatGPT 的热度这么高,被说得这么好,这么强大,那么这一节我们就来深度体验一把,看看ChatGPT到底能做些什么!


⭐ ChatGPT 最主要的对话功能

相信小伙伴们也都知道,ChatGPT 最主要的功能其实就是对话功能,也是目前人们最津津乐道的功能。

这里我们来和传统的搜索引擎做一下对比,当我们使用搜索引擎的时候,往往会给我们返回的事一堆网页,需要我们自己去过滤筛选。大多数情况下,这些网页反馈的信息质量都比较差。更别提某些竞价排名的广告了(说的是谁大家都清楚),很难能够一次性的找到自己想要的答案,通常情况下都需要访问很多网页才能够找到自己想要的正确答案。

而 ChatGPT 就不一样了,它所做的事情就是不需要用户去做选择,它知道你问的是什么,更重要的是,它知道你想要一个什么样的答案,它帮你把选择的过程做好了,最终给我们返回的就是我们想要的那个问题的、满意的答案。


⭐ ChatGPT 对话功能的演示

接下来我们就尝试着演示几个小案例,比如说 “询问如何做红烧肉”,“编写一段代码,演示算法之类”,“给出一段代码需求让ChatGPT来实现”,“编写一个前端页面”,以及演示 “AI绘图功能等等” ~ 让我们拭目以待吧~


🌟 搞怪案例 ① - 询问如何做 “红烧肉”

访问 “https://openai.com/blog/chatgpt” ,点击 "Try ChatGPT" 即可跳转到 “ChatGPT” 的首页。需要在能够访问谷歌的情况下去访问~



从下图中我们可以看出,ChatGPT 返回的不是网页,而是以打字的形式,一排一排的向我们打字输出,向我们展示问题的结果。


除了直接给出提问问题的结果,ChatGPT 还能够根据语境,进行上下文理解、情感分析和语义分析,给出比较符合人们常理认知的、合理的拟人化建议。比如说我们再次向 ChatGPT 提问 “我感觉这道菜味道比较淡怎么办?”


从下图可以看出,ChatGPT 知道我说的这道菜指的就是 "红烧肉" ,这种 "自作聪明" 地方式 就像真的跟我在对话,这种能够分析出上下文语义,语境的功能真的很强大,至少搜索引擎做不到这一点~

如果各位小伙伴想要学习做一些家常菜,不妨试着与 ChatGPT 聊聊,相信它一定也不会让你失望~ 吼吼吼~


🌟 演示案例 ② - 文本翻译[翻译源码]

在日常的工作中,不管是开源的 github 也好,还是源码的阅读也好,程序员的工作都离不开翻译,下面我们试试一个翻译的案例。(很简单)

向 ChatGPT 发送下面这一段源码,让其解释该源码的作用和详细参数的使用:"time" 包的 "sleep" 方法

def time(): # real signature unknown; restored from __doc__
    """
    time() -> floating point number
    
    Return the current time in seconds since the Epoch.
    Fractions of a second may be present if the system clock provides them.
    """
    return 0.0

下图是 ChatGPT 给出的答案:

这段源码定义了一个名为 time 的函数,它返回当前时间自 Unix 纪元以来的秒数,精确到浮点数。如果系统时钟提供了秒以下的精度,则可能存在秒的小数部分。

在函数文档字符串中,有以下说明:

time() -> floating point number

Return the current time in seconds since the Epoch.
Fractions of a second may be present if the system clock provides them.

这段文档字符串用于说明该函数的功能和参数,其中:

  • time() : 函数名称
  • -> : 指示函数返回值类型
  • floating point number : 返回值类型,即浮点数
  • Return the current time in seconds since the Epoch. : 返回当前时间自 Unix 纪元以来的秒数
  • Fractions of a second may be present if the system clock provides them. : 如果系统时钟提供了秒以下的精度,则可以返回秒的小数部分。

由于这个函数的签名是未知的,因此注释中的 # real signature unknown; restored from __doc__ 表示该函数的签名未知,但是该函数的实现被从函数的文档字符串中恢复出来。

最后,该函数的实现只是简单地返回了浮点数 0.0,因此需要根据实际需求进行修改,以便正确地返回当前时间。


🌟 演示案例 ③ - 代码问题

相信很多小伙伴在面试的时候经常会遇到一些算法题,那么来看一看 ChatGPT 是如何实现一个排序算法的案例的吧。

以下是 Python 中的快速排序算法实现:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [x for x in arr[1:] if x <= pivot]
        greater = [x for x in arr[1:] if x > pivot]
        return quick_sort(less) + [pivot] + quick_sort(greater)

# 测试
arr = [3, 2, 5, 1, 8, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)  # [1, 2, 3, 4, 5, 8]

快速排序的基本思路是通过递归地将待排序的数组分成两个子数组,其中一个子数组的元素都比另一个子数组的元素小,然后再对这两个子数组分别进行快速排序。具体实现时,我们选择一个基准值(pivot),然后遍历整个数组将小于等于基准值的元素放在一个数组 less 中,大于基准值的元素放在一个数组 greater 中。然后,我们递归地对 less 和 greater 两个数组进行快速排序,最后将排序后的 less、pivot 和 greater 连接起来。

快速排序的时间复杂度为 O(nlogn),是一种常用的排序算法。


🌟 演示案例 ④ - 修复Bug

作为程序员,谁也不敢保证自己写的代码 100% 不出 Bug,既然 ChatGPT 能写代码,那么它能不能将出了 Bug 的代码进行修复呢?让我们来看一看吧。

以一个存在闭包问题的代码示例,如下:

def create_multipliers():
    return [lambda x : i * x for i in range(5)]

for multiplier in create_multipliers():
    print multiplier(2)

ChatGPT 对话结果如下:

这段代码存在一个常见的 Python 闭包陷阱,即在 lambda 表达式中使用循环变量,但实际上 lambda 表达式在函数执行时才会被调用,此时循环变量已被改变,导致结果不符合预期。

为了修复这个问题,我们需要将 lambda 表达式中的循环变量进行捕获,可以通过将循环变量作为默认参数来实现:

def create_multipliers():
    return [lambda x, i=i : i * x for i in range(5)]

for multiplier in create_multipliers():
    print(multiplier(2))

在这个修复后的实现中,我们将循环变量 i 作为 lambda 表达式的默认参数,这样每次创建 lambda 表达式时,都会保存一个 i 的副本,在 lambda 表达式执行时使用该副本,而不是使用循环变量本身。这样就可以得到正确的结果了。

输出结果:

0
2
4
6
8

🌟 演示案例 ⑤ - 编写毕设大纲

相信很多即将毕业的小伙伴非常喜欢这个案例,让 ChatGPT 编写一个基于opencv的如何识别运动目标检测与跟踪的毕设大纲。

恭喜即将毕业!以下是基于 OpenCV 的运动目标检测与跟踪毕设大纲:

一、研究背景和意义

  • 介绍运动目标检测与跟踪的背景和意义
  • 分析目前常见的运动目标检测与跟踪算法的优缺点
  • 阐述本文所提出的算法的创新点和应用前景

二、研究现状和相关技术

  • 介绍运动目标检测与跟踪的相关概念和技术
  • 分析目前主流的运动目标检测与跟踪算法和技术
  • 对比分析各种方法的优缺点

三、系统方案设计

  • 系统架构设计
  • 系统模块设计
  • 各模块之间的交互流程设计

四、运动目标检测算法设计

  • 采用背景差分法进行前景检测
  • 对前景图像进行形态学处理
  • 对形态学处理后的图像进行连通区域分析
  • 采用目标检测算法对区域进行筛选

五、运动目标跟踪算法设计

  • 采用卡尔曼滤波算法对目标进行预测
  • 采用匈牙利算法进行目标匹配
  • 采用多目标跟踪算法对多个目标进行跟踪

六、算法实现与性能分析

  • 选取合适的实验数据集
  • 实现所提出的运动目标检测与跟踪算法
  • 对算法进行实验测试和性能分析

七、总结与展望

  • 对本文所提出的算法进行总结和评价
  • 分析算法的优缺点和不足之处
  • 展望运动目标检测与跟踪在未来的发展趋势和应用前景

以上是一个基本的大纲,具体实现和分析可以根据需要进行调整和补充。祝您毕设顺利!


⭐ AI 绘图功能

除了可以和 ChatGPT 对话以外,我们还可以让它为我们创作图片,AI创作的访问地址为: https://labs.openai.com/。下面我们就让它为我们创作一副图片吧, 输入我们的问题,点击生成按钮,等待几秒钟。

比如生成 “大熊猫吃竹子” 的图片:


不过,openai官方介绍,图片生成产品还处于beta测试版,相信经过一-段时间的学习与打磨,它的功能也会更加强悍。除了 ChatGPT 的AI绘图功能之外,目前市面上还有一个非常火的 AI绘图产品,就是 Midjourney - https://www.midjourney.com/ 。

感兴趣的小伙伴,可以自行测试一下哦,目前官网是可以直达的,但是Midjourney目前架设在 Discord 频道上,最终运行去 discord 上面的,需要能够访问谷歌的情况下才可以正常使用,请自行搜索。登录到 Discord 以后,就是使用的开始。


其实我们使用 ChatGPT 最主要的还是使用它的对话功能,它既能够提供我们一些普通的搜索类的问题,也能够提供我们专业的程序开发的相关问题。

在各个方向上,只要能够发挥想象力都可以通过对话功能来帮助我们做提示。当然了,ChatGPT 给出的提示也并不是 100% 完美的,还需要我们自己去润色一下,将其更加的符合我们的预期。

除此之外, ChatGPT 胡编乱造的功能,也是非常厉害的。不信你看下面:

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

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

相关文章

串口收发字符/字符串

分析过程&#xff1a; 框图&#xff1a; 通过以上框图分析可知&#xff0c;需要分析芯片手册 RCC / GPIO / UART 1.RCC章节&#xff1a;使能对应GPIOG/GPIOB/UART4控制器 2.GPIO章节&#xff1a;1)设置引脚为复用功能模式 2)设置复用功能为串口功能 3.UART章节&#xff1a;1…

Docker常用操作

1、单机&#xff08;非docker&#xff09;启动java程序&#xff1a;nohup java -jar springbootstudy.jar 2、启动docker&#xff1a;service docker start &#xff08;构建好以后&#xff0c;就不需要了&#xff1a;docker build -f Dockerfile -t springboot-jar .&#x…

确定因果随机森林的树木数量 the number of trees

前言 推断因果性和分析异质性是统计学家在处理混杂任务中的圣杯。传统且主流的方法有:倾向性评分、分层分享、比例风险模型等。新的方法也有很多,代表就是:因果随机森林。这种算法,浅看难度一般,深入探索发现坑还是很多的。这篇博客不对算法做深入探讨,仅仅是我在阅读文…

Hudi数据湖技术之快速体验

目录 1 编译 Hudi1.1 第一步、Maven 安装1.2 第二步、下载源码包1.3 第三步、添加Maven镜像1.4 第四步、执行编译命令1.5 第五步、Hudi CLI测试 2 环境准备2.1 安装HDFS2.2 安装Spark 3.x 3 spark-shell 使用3.1 启动spark-shell3.2 模拟数据3.3 插入数据3.4 查询数据3.5 表数据…

TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

https://www.usenix.org/conference/osdi18/presentation/chen 文章目录 TVM: An Automated End-to-End Optimizing Compiler for Deep Learning引言1. 简介2. 总览3. 优化计算图4. 生成张量运算4.1 张量表达式和调度空间4.3 嵌套并行与协作4.3 张量化4.4 显式内存延迟隐藏 5 .…

2023年-测试工程师面试题(前期面试的题目)

背景&#xff1a;小型电商公司&#xff0c;薪资&#xff1a;8-11k&#xff0c;职位&#xff1a;测试工程师&#xff0c;学历&#xff1a;本科 打开微信小程序“casa品集”&#xff0c;找出该小程序存在哪些bug&#xff1f; 并列出「商品详情页」的测试用例A,B两张表&#xff0c…

[Golang] Go语言基础一知半解??这些你容易忽视的知识点(第一期)

&#x1f61a;一个不甘平凡的普通人&#xff0c;致力于为Golang社区和算法学习做出贡献&#xff0c;期待您的关注和认可&#xff0c;陪您一起学习打卡&#xff01;&#xff01;&#xff01;&#x1f618;&#x1f618;&#x1f618; &#x1f917;专栏&#xff1a;算法学习 &am…

液压控制系列之活塞位置测量(带原点标定功能)

液压轴位置控制详细内容请参看下面博客文章: 液压轴位置闭环控制(比例伺服阀应用)_RXXW_Dor的博客-CSDN博客液压阀的基础知识请参看下面的博客文章:PLC液压控制系列之比例流量阀结构分析_RXXW_Dor的博客-CSDN博客比例流量阀液压同步控制的PID闭环调节可以参看下面这篇博文三…

生命周期引入

实例&#xff1a;mouted&#xff1a;当vue完成模板解析并把真实的DOM元素放入页面后调用mounted 生命周期&#xff1a; 又名&#xff1a;生命周期回调函数、生命周期函数、生命周期钩子是什么&#xff1a;vue在关键时刻帮我们调用的一些特殊名称的函数生命周期函数的名字不可更…

CEF与Qt 结合注意事项

默认情况下&#xff0c;CEF 是/MT&#xff0c;而Qt是/MD 那么&#xff0c;如果你没有去在意MT、MD选项&#xff0c;那么极大可能性&#xff0c;会遇到程序崩溃的问题&#xff0c;并且表象会误导你查明原因的方向。并且&#xff0c;更换多个IDE也无法查明原因。 例子 当加载网…

【Linux】Linux开发工具

Linux开发工具 前言Linux编辑器 --- vimvim长啥样vim的基本概念vim的配置 Linux编译器 --- gcc/g编译和链接预处理编译汇编链接 细&#x1f512;链接静态库和动态库 Linux调试器 --- gdbLinux项目自动化构建工具 --- make/Makefile依赖关系和依赖方法 上方工具的简单示例 前言 …

MyBatis(二)—— 进阶

一、详解配置文件 1.1 核心配置文件 官方建议命名为mybatis-config.xml&#xff0c;核心配置文件里可以进行如下的配置&#xff1a; <environments> 和 <environment> mybatis可以配置多套环境&#xff08;开发一套、测试一套、、、&#xff09;&#xff0c; 在…

c实例练习笔记(拓展)

本博文参考题目的地址看右边----》C技能树 我跟你说&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;c语言有bool类型&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;你是不是百度跟你说没有只有c才有&#xff1f; 是有的&#xff01;&#xf…

第六章 完善内核

函数调用约定简介 参数的传递方式&#xff1a;使用后栈来保存。 每个进程都有自己的栈&#xff0c;这就是每个内存自己的专用内存空间&#xff1b;保存参数的内存地址不用再花精力维护&#xff0c;已经有栈机制来维护地址变化了&#xff0c;参数在栈中的位置可以通过栈顶的偏移…

QMS-云质说质量 - 1 张小泉的质量危机

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 引言 百年老店的拍蒜质量门 最近张小泉拍蒜断刀事件&#xff0c;吸引了全民关注&#xff0c;虽然随后发布了“断刀召集令”&#xff0c;但从事件发生到后续拖沓且不专业的应对&#xff0c;张小泉肯定是“失蒜”了。 张小泉…

一篇终结synchronized

一&#xff1a;基本原理 Java对象在内存中由两部分组成 &#xff1a; 1 是成员变量 2 是对象头&#xff0c;以32位虚拟机介绍&#xff1a;此时对象头是64位&#xff0c;即8字节 其中32个字节代表 mark word 另外32个字节代表klass word分别是什么意思呢&#xff1f; 1 klass …

文心一言 VS chatgpt (12)-- 算法导论3.1 6~7题

六、证明&#xff1a;一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n))&#xff0c;且其最好情况运行时间为Ω(g(n)) 。 文心一言&#xff1a; chatgpt&#xff1a; 要证明「一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n))&#xff0c;且…

LeetCode213 打家劫舍 II 动态规划法

题目地址 https://leetcode.cn/problems/house-robber-ii/ 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 &#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#xff0c;相邻的房屋装…

【Hive实战】Windows下 IDEA DEBUG hiveMetastore hive2.3.9

Windows下 IDEA DEBUG hiveMetastore hive2.3.9 环境准备 编译好hive2.3.9源码&#xff0c;参考文档编译hive2.3.9源码准备好Mysql库&#xff0c;并手动创建schema&#xff0c;相关sql文件&#xff1a;hive-schema-2.3.0.mysql.sql和hive-txn-schema-2.3.0.mysql.sql。 启动…

SpringCloud --- Gateway服务网关

一、简介 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 二、为…