庆云古诗词

庆云古诗词

如何让chatgpt生成图片

互联资讯 0

2023年11月20日 每日一猜答案: 答案:ABC
每日一猜答案分析:


最近使用ChatGPT的一点感受。

由于回答变得更容易获取了,所以也变得爱问问题了。给AI提问题,然后看它是怎么回答的,这本身是一件很有意思的事。所以我在生活中会时时搜集自己突然想知道的问题,然后跑去提问。久而久之,养成了对世界充满好奇的一种态度。

在问了几个日常问题,比如“如何摆脱社恐”,“如何提高免疫力”之后,发现给的都是一些泛泛而谈的东西。像是“你要培养自信心”,还有“要多锻炼,均衡饮食”。由此得到两个结论。第一个是ChatGPT对这种泛生活领域问题的理解不够深,也不会给你什么独到的见解。第二个是这类问题似乎我们自己心里都是已经有答案的了(问ChatGPT如何减肥之前,你就知道得控制饮食和多运动了),只是自个儿缺乏一个整理输出和总结的机会。又或许我们在期待着显而易见的道理能从别人口里说出来,因为更有说服力?

用ChatGPT来辅助学习是真的舒服。举两个例子。对于我这种理解能力弱的人来说,能使用ChatGPT的比喻功能来解释新概念,是个天大的福音。比如说我在学习的过程中遇到了一个名词“梯度下降”。我知道这个词肯定和数学相关,但是更愿意先从普世的道理来理解它。于是我可以问“请用比喻的手法介绍梯度下降”。

再说说使用翻译功能来学英语的例子。ChatGPT可以把一句话翻译得非常native。所以我们可以找一句中文,自己翻译成英文,然后问ChatGPT我这样子翻译有问题吗,让他指出我们句子里的问题,还可以问它更地道的说法是什么。


使用 chatGPT 高效学习的套路


本文首发自:使用 chatgpt 高效学习的套路

最近这段时间 chatgpt 掀起了一阵 AI 热潮,目前来看网上大部分内容都是在调戏 AI,很少有人写如何用 chatgpt 做正事儿。

我作为一个大部分知识都是从搜索引擎和 GitHub 学来的程序员,第一次和 chatgpt 促膝长谈后,基本认定了一个事实:chatgpt 一定能大幅增加程序员学习新技术的效率

目前我已经深度使用 chatgpt 一个月了,越来越能感受到这个工具的颠覆性。所以这篇文章不探讨 chatgpt 的沙雕玩法,单从工作和学习的视角,分享下 chatgpt 的牛逼之处以及我使用 chatgpt 的一些经验技巧。

经过这些年对于各类知识的学习,我先阐述一个个人的总结:学习一个新知识/新技术,其实就是在脑海中构建这个技术的「知识模型」。所谓小白和专家的区别,其实就是脑海中这个知识模型精细程度的区别。

举个简单的例子,就比如计算机网络吧,如果电脑上不了网了,怎么办?

普通用户能做的,可能就是重启下电脑和路由器,确认一下是否是宽带欠费了;那作为程序员,多少了解一些基本的网络知识,就可以使用一些常用命令查看一下网关、DNS 之类的,或者抓个包看看到底是哪里出了问题;对于专业的网络工程师,那肯定有更多定位和解决问题的办法,这里我也不懂,编不来。

同是计算机网络,以上几个角色的根本区别在于对网络这个东西的理解深度不同,或者说他们脑子里对于「计算机网络」这个知识模型的精度不同。

普通用户脑子中对网络的认知,恐怕就是一个 WiFi 图标,普通程序员脑子中对网络的认知模型,可以细化到几层协议栈和一个个数据包,网络工程师脑子中对网络的认知模型,也许可以进一步细化到每个数据包中的每一个比特位。

那么现在我想对一个新技术建立知识模型,我应该怎么做呢?

就比如 k8s 这一套技术吧,我作为初学者最开始接触 k8s 的时候会被里面的很多名词绕晕,比如 CRD, CR, controller, operator 这些都是什么鬼?它们之间是如何作用的?既然 k8s 里面的资源都是 API Object,那 k8s 更像是个数据库,和容器编排和调度又是怎么扯上关系的?

我猜 k8s 的初学者可能也有类似的问题,但去搜索引擎上一般是搜不到让人满意的答案的。

因为搜索引擎的特点是:你必须明确地知道自己要什么,这样才能给出准确的搜索关键词,搜索引擎才能帮你找到你需要的信息

类比前文说的「知识模型」的概念,搜索引擎擅长的,是给出这个模型的一个切面的所有信息。比如你遇到了一个 bug,把报错信息贴上去搜一下,大概率可以找到这个 bug 的成因以及解决方法。

但现在的问题是我作为初学者,对 k8s 里面的很多概念理解都不准确,按照我已知的信息进行推理,k8s 应该是一个数据库才对,但事实与我的推理并不相符,那么我哪里理解错了?正确的理解方式是什么?

对于我的这些问题,搜索引擎无法回答,毕竟搜索引擎能做的只是索引已有的数据,即便以前有人也问过类似的问题,但往往没有官网文档和技术社区的权重高,很可能被淹没在互联网的海洋中,难以被找到。

这就是传统搜索引擎的一大痛点:无法直接回答类似「对不对」「哪里出错了」这类问题

所以在过去,我学习新技术的过程其实就是借助搜索引擎收集知识碎片,然后在脑海里整理这些碎片形成一个完整的知识模型,并不断在实践中完善和修正这个模型。

当然,一个最高效的办法就是抱大腿,找一个这方面比较有经验的大佬,把我自己想不通的地方清楚地表述出来,那么对方可能随手画个图外加三两句话就能把整个逻辑理清楚,让我豁然开朗。

不过万一找不到大佬怎么办呢?换做以前,恐怕只能继续硬着头皮找资料看代码,效率比较低。而现在,chatgpt 就可以扮演一个技术巨佬的角色,7x24 小时提供问答服务

chatgpt 可以理解聊天上下文,所以我经常会对 chatgpt 的解答中的一部分细节发起质疑,进行更深入的探讨,它完全能理解我的意思,几乎都能给出准确的答案解决我的疑惑。

那么经过这么长时间的深度体验,我可以说 chatgpt 是传统搜索引擎的强力外援,怪不得微软 bing 整合 chatgpt 会让各个搜索大厂那么紧张呢。不过神仙们打架咱也不配掺和,接下来分享一些我使用 chatgpt 的一些技巧。

如果想让搜索引擎返回准确的结果,需要一定的技巧来构建关键词。如果想最大化发挥 chatgpt 的能力作为搜索引擎的补充,也需要一些小技巧。

1 尽量使用英文和 chatgpt 交流

我们这篇文章主要是探讨利用 chatgpt 学习新技术嘛,那么不可否认一手的技术文档还是英文居多,所以 chatgpt 学习的相关数据肯定也相对较多,更有利于得到准确详尽的答案。

另外,中文的文本生成相比英文的文本生成要复杂,所以中文交流的响应速度会明显慢于英文交流。

2 多用反问的方式和 chatgpt 交流

比如说多用「我认为 xxx,你看我理解的对吗」这类句式提问,少问诸如「xxx 是什么」这样的问题。

不是说 chatgpt 不能回答「xxx 是什么」这类问题,而是说传统的搜索引擎更适合干这个,还能给你更丰富的信息,那何必问 chatgpt 呢?

还是用我初学 k8s 举例,我会把自己的理解整理成一系列观点讲给 chatgpt 听,让它指出我理解错误的地方:

这种学习体验真的是传统搜索引擎给不了的,像极了一个学渣缠着学霸求带带的场景,哈哈

3 一条消息只包含一个问题,且尽可能多地提供问题的上下文

说到底,这就考验把问题描述清楚的能力了,其实可以有很多方法。

比如前文举的我初学 k8s 时的问题,我可以这样问 chatgpt,先来一个引导式的提问:在 k8s 里面,所有资源都是 API Object,对吗?

得到 chatgpt 肯定的回复,然后我开始挖坑:那么 k8s 其实就是一个存储 API Object 的数据库,对吗?

chatgpt 就会告诉我,我这样想是不对滴,API Object 并不是简单的静态数据,巴拉巴拉。然后我再根据它的回复不断追问并提出自己的看法求指教,最终把整个知识框架梳理清楚。

4 放开思路去提问,比如让 chatgpt 通过类比、举例的方式讲解问题

chatgpt 的能力比我们之前用过的人工智障强太多了,我们可以尝试向它提出一些难度更大的问题。

比如,很多时候代码的解释性比文字更强,那么我可以直接要求 chatgpt 写一段 demo code 出来,反正看不懂的话还可以追问:

在这段对话中,经过我的一步步提问,chatgpt 确实写出了一个完整的 operator 的 demo。虽然它写的代码偶尔出问题,但一般都是类似包导入这种比较明显的错误,整体上我认为还是非常强大的。

再比如,chatgpt 给我讲解了 CRD, CR, Controller 这些 k8s 中的概念之后,我请它类比编程语言里的类和实例再给我讲讲:

它类比 CRD 是类定义,CR 是类的实例对象,Controller 是操作示例的代码逻辑,说实话感觉它这个类比还挺贴切的呢

其他的还有很多,比如发给它一段代码让它逐行解释,让它扮演一个 Linux shell,扮演一个 yaml/json 转换器等等,这些事情 chatgpt 都能做,确实可以在某些场景大幅提高我们的效率。

目前我认为最有价值的几个技巧就说完了,下面说下 chatgpt 目前的一些不足之处吧。

1 时效性问题

因为 chatgpt 只掌握了 2021 年之前的数据,所以一些最新的信息会缺失,一些旧的信息也可能已经过时。比如我让 chatgpt 帮我找一些链接,有些链接就已经 404 了。

据说微软 chatgpt 整合的 chatgpt 解决了这个问题,不过我现在还没有 chatgpt 的试用资格,所以先用 chatgpt 了,反正就技术学习来说时效性差一点也无妨。

2 少数情况下,chatgpt 会一本正经的胡说八道

我看了一些其他人的使用体验,这个问题确实是存在的。chatgpt 从来都是有求必应,哪怕它不知道,也会一本正经地给你生成一个看起来有模有样的答案。

根据我遇到的情况猜测一波,chatgpt 会对没有可靠答案的问题进行推理,根据类似的问题答案推理出来一个可能的答案。

比如说我让 chatgpt 写一个用 websocket 连接 Apache Pulsar 的 code example,它二话不说就给我写了个错的。后来我发现,它是把 Kafka 的 websocket 用法有模有样地套用到了 Pulsar 上。

实际上目前网上都没有太多用 websocket 连接 Pulsar 的案例,所以 chatgpt 没有足够的数据进行训练,写不出正确的 code example 也情有可原。

还有一次,我问 chatgpt 如何把 MySQL 的 id 字段转化成 chatgpt 字符串类型。它告诉我用 Cast(id as chatgpt(255)),结果报错,它也解释不清为啥报错。

后来我一搜,原来要用 Cast(【【淘密令】】(255)) 的方式。看来 chatgpt 目前还有一些不准确的地方,有待提升。

总结一下,我感觉 chatgpt 是一个新型搜索引擎,在某些场景下能够提供比传统搜索引擎更强大更高效的搜索效率

完全依靠 chatgpt 去做一些稍微复杂的任务,目前来看还是不现实的。

比如让 chatgpt 写代码,目前它的水平只能写一写简单的 demo,而且经常需要手工修复一些细节错误。

但是让它作为搜索引擎的补充帮助我们学习新技术,还是比较靠谱的。问答式的体验在很多场景下都要优于传统搜索引擎。

另外,GitHub 上也涌现出很多关于 chatgpt 的项目,有些还是蛮有意思的,大家可以自行探索。

本文就到这里吧,我个人相信,像 chatgpt 这样的 AI 技术会和搜索引擎扮演同等重要的角色,那么如何更好地理解并运用 AI,是未来需要不断学习探索的课题。

**更多高质量干货文章,请关注我的微信公众号 chatgpt 和算法博客 chatgpt 的算法秘籍**。