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?歡迎在評論區分享你的經歷。