首页 > 编程语言 >【ChatGPT】GPT-3.5 能理解 Bash 吗?与 ChatGPT AI 结对编程

【ChatGPT】GPT-3.5 能理解 Bash 吗?与 ChatGPT AI 结对编程

时间:2023-04-28 14:09:24浏览次数:41  
标签:AI filename url mp4 3.5 video ChatGPT yt


目录

用 ChatGPT 和 Bash 脚本进行实验

第一次尝试——ChatGPT 试图解决这个问题

第二次尝试——ChatGPT 纠正了自己的错误

第三次尝试——ChatGPT 再次尝试

如果一开始你没有成功......至少你会学到一些东西

总结


在过去的几个星期,我们已经听到了很多关于人工智能和自然语言处理的消息——特别是关于 OpenAI 的最新版本 GPT。

最近发布的 GPT 3.5,特别是非常新的 ChatGPT 工具,绝对是一个巨大的飞跃。

你可能已经读到有人要求人工智能起草房地产合同和遗嘱,甚至生成编程代码。这篇文章从一个稍微不同的角度来探讨这个工具。

用 ChatGPT 和 Bash 脚本进行实验

我决定看看 ChatGPT 是如何处理 Linux Bash 脚本的。但是(破坏者警报!)当我执行该工具的建议——包括好的代码和差的代码——我开始意识到有一个更强大的好处:有机会与一个非常有帮助的伙伴结对编程。

人工智能最终没能解决我的问题,但它失败的方式绝对是迷人的。看着人工智能寻找新的答案,绝对是疯狂的。

第一次尝试——ChatGPT 试图解决这个问题

让我们看看这一切是如何发生的。以下内容,或多或少,是我提供给人工智能的最初提示:

给我写一个 Bash 脚本,要求输入一个 YouTube 视频的 URL,然后使用 yt-dlp 程序从该 URL 下载。脚本应该把文件名改为 “myvideo.mp4”。

几秒钟后,ChatGPT 告诉了我一个脚本。代码是这样的:

#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Download video from YouTube using yt-dlp
yt-dlp $url

# Get the name of the downloaded video file
yt-dlp $url

# Change the downloaded video filename to "myvideo.mkv"
mv video-filename.mp4 myvideo.mp4

人工智能显然知道什么是 Bash 脚本以及如何呈现代码。它甚至对每一行代码的注释都做得很好。人工智能知道如何正确地提示用户输入,然后如何将输入的字符串导入一个叫作 url 的变量中。

它还知道 yt-dlp 程序以及它是如何工作的,适当地给它输入了所提供的 URL。然后它至少试图将下载的视频文件重命名为 myvideo.mp4。但是,当它假设下载的文件名是 video-filename.mp4 时,一切都崩溃了。呜呼!

无论如何,人工智能很有帮助地告诉我如何从其代码中创建脚本,然后运行它。

第二次尝试——ChatGPT 纠正了自己的错误

我的第一个后续提示指出了明显的错误。几秒钟后,ChatGPT 承认了自己的错误,并提出了改进措施。

你是对的,我提供的脚本不会像预期的那样工作,因为它假定下载的视频将被保存到一个名为  video-filename.mp4 的文件中。然而,这并不能保证是这样的。为了解决这个问题......

在这里,人工智能是如何完全参与到这个过程中来的,真是令人震惊。它记住了它的第一个代码,倾听并理解了我的抱怨,并思考了一个解决方案。这就是第二次尝试。

#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Download video from YouTube using yt-dlp
yt-dlp $url

# Get the name of the downloaded video file
filename=$(basename $url)

# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4

好吧,解决方案看起来是对的。basename 是一个 Linux 工具,可以剥离文件系统的目录,只留下实际的文件名。

问题是,变量 url 不包含本地文件名,而是一个互联网地址。这个肯定是行不通的。

第三次尝试——ChatGPT 再次尝试

所以我又试了一次,解释了那不是合适的工具。而 ChatGPT 又进行了一次尝试。

#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Extract the filename from the URL
filename=$(basename $url)

# Download the video using the yt-dlp tool and specify the filename
yt-dlp -o $filename $url

# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4

这一次,它显示它已经熟悉了 yt-dlp 的文档,建议我们使用 -o 参数给下载的视频一个名字,basename 现在应该对它起作用。每一次迭代,人工智能都会给我更新的代码,供我剪切和粘贴使用。

当然,这也是行不通的。在下一次尝试中,我感觉到人工智能有点绝望了。

如果一开始你没有成功......至少你会学到一些东西

我打算跳过接下来的一两次尝试,因为我们遇到了一个问题:来自 YouTube 的视频并不总是 MP4,它们有时是 MKV,甚至是 WEBM。这种不确定性可能会扰乱我们正在使用的文件名,所以我要求 ChatGPT 在代码中加入这个功能。

#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Extract the filename from the URL
filename=$(basename $url)

# Download the video using the yt-dlp tool and specify the filename
yt-dlp -F mp4 -O $filename $url

# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4

当我报告说这也不能工作时,人工智能开始感到困惑。首先,它告诉我,-F 选项期待一个有效的视频格式,但 “mp4” 并不有效。然后它又给我有效的选项,包括 “mp4”。

当人工智能建议的任何东西都不起作用时,它放弃了,建议我确保 yt-dlp 确实安装在我的机器上,并告诉我如何做到这一点。

我想这时候放弃也挺好。即使它没有解决这个问题,它的努力也令人惊讶,它确实向我展示了一些有用的语法,并让我思考。

如果你有兴趣,顺便说一下,这里是一个实际工作的脚本的样子:

#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Download video from YouTube using yt-dlp
yt-dlp $url

# Get the name of the downloaded video file
original_filename=$(ls | awk '/mp4/ || /webm/ || /mkv/')

# Change the downloaded video filename to "myvideo.mkv"
mv "$original_filename" /home/ubuntu/vids/myvideo.mp4

前两行代码与 ChatGPT 建议的方式相同。但我随后通过列出当前目录中的所有文件来隔离文件名,并使用 awk 来过滤只包含 mp4、webm 或 mkv 的文件名。(这假定在同一时间,目录中永远不会有超过一个视频文件。)

然后文件名将被写入 original_filename 变量中。然后,我将使用该变量作为 move 命令的一部分来重命名文件 myvideo.mp4。就我所知,无论实际发送的是什么格式,这都是可行的。

总结

人工智能今天可能还没有为现实世界的编程任务做好准备,但我不想赌它明天......或明年的某个时候也不能做到。

不过,在此期间,我绝对会推荐你在面临具有挑战性的编程任务时使用 ChatGPT 这样的工具。

两个头脑(几乎)总是比一个好。

标签:AI,filename,url,mp4,3.5,video,ChatGPT,yt
From: https://blog.51cto.com/u_15236724/6233979

相关文章

  • 我面试了 ChatGPT 的 PM (产品经理)岗位,它几乎得到了这份工作!!!
    如何检测人工智能自信但肤浅的答案?How to detect the AI’s confident but shallow answers?我面试过很多产品经理候选人,其中一种常规面试形式(在PM面试循环中非常标准)是产品Sense面试。受到最近推出的ChatGPT和JackieBavaro的以下推文的启发,我决定面试ChatGPT的......
  • 【人工智能 AI ChatGPT】使用 ChatGPT 每天赚取高达 500 元的 10 种方法
    目录利用ChatGPT的高级人工智能功能,用户可以探索10种通过ChatGPT赚钱的方法Affiliatemarketing  联盟营销Blogging 写博客Contentediting 内容编辑Conductresearch 进行研究Virtualinstructor 虚拟讲师Buildsoftware 构建软件Writinglyricsformusic 为音乐......
  • ChatGPT + Raksmart云服务器:引领时代的智慧之选
    ChatGPT和Raksmart云服务器是当今互联网行业的两个炙手可热的话题。ChatGPT作为一种先进的自然语言处理技术,可用于许多领域,包括智能客服、智能翻译和自然语言生成等。Raksmart则是一家专注于提供高质量云服务器的美国公司,其服务器拥有高性能、可靠性和安全性等优点。ChatGPT和Raksm......
  • Python很多时候要从键盘连续输入一个数组,并用空格隔开;Python爬取一些数据;python pip安
    Python要从键盘连续输入一个数组,并用空格隔开,Python中的实现方法如下:str=input(‘以空格为间隔连续输入一个数组:’)然后在键盘中输入,会·得到的str为一个字符串,要将其转为一个列表有两种方法方法一:a=[int(n)forninstr_in.split()]方法二:a=list(map(int,str.strip().sp......
  • # 快讯 | 整数智能携手格拉斯哥大学举办AI圆桌分享会
    算法、算力和数据作为人工智能发展的三大支柱,而获取高质量的数据已经成为人工智能工程化进程中的难题。如何能够寻找到与算法训练完美适配的数据集,在数据生产过程中有哪些常见的痛点?5月12日,由整数智能与格拉斯哥大学合作举办了一场人工智能领域的开放性讲座。曾参与编辑《人工智能......
  • centeros7升级python2.5.7到python3.5.2
    centos7python2.7.5升级到3.5.2下载python3.5.2wgethttps://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz安装解压:tar-zxvfPython-3.5.2.tgz进入解压目录:cdPython-3.5.2创建安装目录:mkdir/usr/local/python3.5.2编译:./configure--prefix=/usr/local/python3.5.2安......
  • 如何使用ChatGPT在1天内完成毕业论文
    ​ 如何使用ChatGPT在1天内完成毕业论文几天前,亲眼见证了到一位同学花了1天时间用ChatGPT完成了他的毕业论文,世道要变,要学会使用黑科技才能混的下去。废话到此结束,下面说明这么用AI生成自己的论文。使用工具:1.Prompt框架学习:https://github.com/prompt-engineering/prompt-......
  • 【做题笔记】洛谷 P7987 [USACO21DEC] Paired Up G
    在我的个人博客获得更好的阅读体验Problem洛谷P7987[USACO21DEC]PairedUpG题目大意:有\(n\)个点,其中第\(i\)个点位置为\(x_i\),权值为\(y_i\)。若两个点\(i,j\)满足\(|x_i-x_j|\lek\),则这两个点之间有一条边。求一个匹配,在满足其为极大匹配的情况下匹配点的......
  • 使用 ChatGPT ,通过自然语言编写 eBPF 程序和追踪 Linux 系统
    eBPF是一项革命性的技术,起源于Linux内核,可以在操作系统的内核中运行沙盒程序。它被用来安全和有效地扩展内核的功能,而不需要改变内核的源代码或加载内核模块。今天,eBPF被广泛用于各类场景:在现代数据中心和云原生环境中,可以提供高性能的网络包处理和负载均衡;以非常低的资源开销,做......
  • 展现AI与自动化测试技术之间的神奇化学反应
    目录零:前言一、介绍1.1、什么是自动化测试技术1.2、痛点1.3、几款优秀的自动化测试工具介绍1.3.1、Selenium1.3.2、龙测AI-TestOps云平台1.3.3、TestCafe二、实操2.1、主要功能模块介绍2.2、实战演练2.2.1、创建web项目2.2.2、录制流程图2.2.3、创建测试计划任务2.2.4、查看测试报......