AI News HubLIVE
站内改写2 分钟阅读

我用ChatGPT构建免费PDF编辑器,因为不信任它直接修改文件——竟然成功了!

作者需要从扫描的黄色纸张乐谱PDF中去除背景色,但担心ChatGPT非确定性修改会改变乐谱。于是让ChatGPT生成一个确定性Python脚本来处理PDF,最终高效完成任务,展示了AI的巧妙用法。

来源ZDNet AI

最近,我的妻子丹尼斯加入了教堂唱诗班,她有一副好嗓子,需要练习所有新歌。乐谱印在黄色纸张上,大约是一本平装书的大小。她想把这些小册子扫描成PDF,去除背景色,然后放大打印在8.5x11英寸的纸上,这样她就不必戴着老花镜看谱了。一天下午,她来找我,询问如何去除黄色背景但保留乐谱本身,以便打印时不会浪费大量彩色墨水。如果直接黑白打印,灰色背景反而更难看,而且还会消耗大量墨水。她还打算将乐谱导入PlayScore 2——一款能播放乐谱以便跟唱的应用程序,她担心背景颜色会影响软件识别。

我最初建议用Photoshop去除背景,但操作太繁琐了:每张图片都需要不同的滑块设置,既烦人又耗时。于是,我建议她使用ChatGPT,她有一个ChatGPT Plus账户。我进行了测试,提示如“给我返回一个可下载的PDF,去除黄色背景并替换为白色”和“你做得对,但文本分辨率太低,能重新生成全分辨率的吗?”这些测试有效,但ChatGPT会微妙地修改生成的PDF。我妻子担心ChatGPT可能改变音符、歌词或其他原始内容,她不想读错谱或练错。ChatGPT和其他AI是“非确定性的”,意味着同样的输入可能会得到不同的结果。相比之下,算法编程是确定性的,输入总能预测输出。

我在哈佛Python编程认证的最后项目中编写过一个交互式图像管理工具,能够进行类似Photoshop的变换并批量处理。我知道Python有合适的库来完成妻子所需的任务,但我那周非常忙,没有时间从头编写程序。但ChatGPT有无限的时间。于是我决定让ChatGPT写一个Python脚本来去除颜色。我给出了以下提示:“编写一个Python脚本,读取JPEG,将任何非灰色或黑色的像素设为白色,保存为名称-decolor.jpg。允许略带色调的灰色,以便彩色背景上的黑色文本能正确渲染。如果输入是PDF,也能同样处理,且支持多页。”然后我就去厨房帮妻子准备晚餐。晚餐做好时,ChatGPT也完成了。

第一个版本需要安装Pillow库,之后就能顺利运行了。使用方法很简单:在命令行执行decolor_pdf.py,输入一个PDF文件,输出背景色被去除的新PDF文件。为了测试,我从纽约公共图书馆下载了一首Fats Waller的公共领域歌曲,这位爵士大师创作过几部音乐剧。测试效果完美。

从这个经历中,我学到了一些有用的教训:如果你需要AI的帮助,不一定非要依赖非确定性的处理,有时可以让它为你编写一个基于可靠算法的程序;你也不需要花大量时间设计界面,简单的命令行工具就能完成任务;不要害怕用AI迭代改进规格,尝试它生成的内容,然后要求调整和修复;Python功能强大,拥有大量库,如果不确定用什么,就用Python构建。

所以,如果你需要快速解决某个问题,试试让ChatGPT为你编写程序。它对我很有效,我既能给妻子提供一个可用的工具,又能同时帮她把烤鸡拆骨。你是否曾因为担心AI微妙地改变原始文件而避免直接使用AI?欢迎在评论区分享你的经历。