ChatGPT 可以聯(lián)網后,OpenAI 還火速介紹了一款代碼生成器,在這個插件的加持下,ChatGPT 甚至可以自己生成機器學習模型了。
上周五,OpenAI 剛剛宣布了驚爆的消息,ChatGPT 可以聯(lián)網,接入第三方插件了!
而除了第三方插件,OpenAI 也介紹了一款自家的插件「代碼解釋器」,并給出了幾個特別的用例:解決定量和定性的數(shù)學問題;進行數(shù)據(jù)分析和可視化;快速轉換文件格式。
此外,Greg Brockman 演示了 ChatGPT 還可以對上傳視頻文件進行處理。
而一位叫 Andrew Mayne 的暢銷作家、OpenAI 的創(chuàng)意應用程序和科學傳播者,立馬就試了一把 —— 把代碼解釋器(Code Interpreter)接入 ChatGPT。
感受就是,太絲滑了!
以前用 ChatGPT 寫代碼時,總是需要把代碼拿出來,再放到另一個環(huán)境里去測試。
而現(xiàn)在,根本不需要離開當前的界面,直接就可以在 ChatGPT 中開發(fā)了。
只要我們把這個代碼解釋器添加到數(shù)據(jù)分析、繪圖功能中,就誕生了一個強到發(fā)指的編碼和研究工具。
OpenAI 全新插件系統(tǒng):代碼解釋器
目前,代碼解釋器只能在少量的庫上運行 Python,而即使用最基礎的庫,它能做的東西也非常多,非常有趣。
另外,除了生成代碼,代碼解釋器 (CI) 還可以分析輸出,并將其用于另一個函數(shù)。
因此,我們可以將不同的代碼串在一起,獲取其中一個的輸出,再提供給另一個。
這個吃豆人 gif 就是這么生成的:CI 用算法生成迷宮,把迷宮變成方塊,用算法找到出口,做成吃豆人的樣子,然后生成 gif。
以下是 Mayne 使用 ChatGPT 的代碼解釋器插件,進行隨機實驗的一些示例。
創(chuàng)建機器學習模型 (某種程度上)
雖然目前 ChatGPT 無法將任何機器學習庫加載到代碼解釋器中,但我們可以使用 n-gram 進行一些基本的統(tǒng)計文本生成。
如下例子中,通過給它提供一本書,要求它創(chuàng)建一個預測算法,然后預測文本序列中的下一個單詞。
GPT 用 n-gram 模型生成了算法:
下一個單詞預測是一項自然語言處理任務,可以使用語言模型來解決。建立語言模型的一種簡單方法是使用 n-gram 模型。
n-gram 模型是一種基于統(tǒng)計的語言模型,它根據(jù)前 n-1 個單詞來預測下一個單詞。例如,如果我們選擇 n=3(即三元模型),則模型將基于前兩個單詞來預測下一個單詞。
以下是一些代碼,可以幫助您從頭開始構建三元模型。
聲音
因為 ChatGPT 可以理解很多數(shù)學數(shù)據(jù),并且 CI 能夠生成可下載的文件,因此 Mayne 嘗試了下用 ChatGPT 生成 Shepard 音調。這是一種獨特的音調,能夠個人造成一種音調在不斷變高的錯覺。
ChatGPT 不僅順利地完成了任務,還直接用 CI 生成了一個 wav 文件。
打開聽一下這個 Sheperd 音,感受就是,兩個字 —— 完美!
既然 ChatGPT 生成的 Sheperd 音這么完美,Mayne 就更進一步,讓 ChatGPT 來生成一個康威生命游戲的會話,然后轉換為音樂。
(康威生命游戲是劍橋大學康威設計的計算機程序。這是一款圖靈完備的零玩家游戲,意味著它的演化取決于它的初始狀態(tài),不需要進一步的輸入。)
第一遍的時候,ChatGPT 生成的音樂有點太隨意,Mayne 要求它生成更愉悅的音樂,于是 ChatGPT 應用了五聲音階,聽起來果然不錯。
ChatGPT 的表現(xiàn)太過優(yōu)異,Mayne 大為興奮,他已經開始設想一整張數(shù)學音樂專輯了,比如(斐波那契數(shù)列、Mandelbrot 集、元胞自動機)。
隨后,他要求 ChatGPT 為《康威生命游戲》這首歌生成一個專輯封面。由于它沒有連接到 DALL-E,Mayne 要求它從模擬幀生成圖像。
專輯封面如下。
二維碼
而看著這張專輯封面,Mayne 馬上意識到或許可以用 ChatGPT 生成一個有效的二維碼。
Mayne 讓它為 OpenAI 的網站生成一個二維碼,結果如下:
那么,ChatGPT 可以創(chuàng)建一個以二維碼結尾的康威生命游戲嗎?
是的,它可以。
圖片
另外,Mayen 發(fā)現(xiàn),使用 OpenCV 和一個簡單的面部識別算法(Haar Cascade 分類器),CI 就能夠創(chuàng)建一個函數(shù),來進行人臉識別。
使用 OpenCV 進行人臉識別
現(xiàn)在,ChatGPT 可以自己打開和讀取文件了,也就意味著理論上它可以使用這些數(shù)據(jù)生成新的東西。比如,把一張圖轉換為 ASCII 的形式。
上傳圖片:
轉為 ASCII:
生成動畫
通過代碼解釋器,可以生成數(shù)據(jù),并將其輸出包括 gif 在內的不同格式。
首先,讓它做一個彈跳塊:
然后是暴風雪:
接下來是「生命游戲」,正是這款游戲啟發(fā)了二維碼模擬實驗。
試圖讓代碼解釋器使用矢量化的立方體來生成「旋轉的立方體」。在嘗試了其他方法之前,這是能夠得到最接近的結果:
OCR
研究稱,光學字符識別(OCR)是代碼解釋器中的一個庫。通過用網站截圖進行測試,果然可以識別。
將 OCR 與一個功能強大的語言模型 GPT-4 結合起來,可以為修復舊文檔提供了一些有趣的可能性。
上圖可以看出,OCR 能從整張圖片中提取部分文本,但結果仍不完整,且?guī)в性肼暋?/p>
由此看來,在處理低質量或扭曲的圖片時,OCR 可能會有限制。如果你需要從圖片中獲取具體信息,同時也需要手動轉錄部分內容。
日歷邀請
盡管代碼解釋器沒有訪問 ics 庫的權限,但它可以生成一個純文本的日歷邀請,然后讓 ChatGPT 將其保存為.ics 文件。
畫畫
盡管已經有一些 GPT-4 生成可縮放矢量圖像(SVG)的有趣例子。但我還是很好奇 ChatGPT 和代碼解釋器能對簡單的圖像塊做些什么。
我讓它畫了一只貓,它創(chuàng)作了類似貓的東西。為了確保它不是憑記憶做出的,我要求它畫一個藍色的高頂帽和煙斗。雖然不完全是我想象中的高頂帽,但仍然是一個帽子,是藍色的。
一只戴著帽子、抽著煙斗的貓:
一只戴著「帽子里的貓」式樣帽子,還有抽著煙斗的貓:
模擬器
通過使用 Matplotlib 庫,我成功地讓 ChatGPT 生成了內部行星軌道的模擬,并將其保存為 gif。
我接著思考能否讓 ChatGPT 模擬一局跳棋,并設法移動了棋子,但是出于禮貌沒有拿走對手的棋子。
能否模擬一局象棋?首先我讓 ChatGPT 創(chuàng)建自己的棋盤庫(一個非常簡單的棋盤庫,有一些限制和不太合法的移動……),然后使用 Unicode 表示棋子,之后,它可以模擬一場游戲的開始,并將其保存為.gif 文件。
下面是我和 ChatGPT 進行象棋模擬時的對話??梢钥吹?,我只是給了一些指示,ChatGPT 和代碼解釋器做了剩下的工作。
如上是 Andrew Mayne 對 ChatGPT 和代碼解釋器插件的一些探索。
網友看后點評,LLMs 越來越像一位真正的程序員,不僅可以建議代碼片段,還可以編寫整塊代碼、運行代碼,并給你輸出進一步的指導和反饋。
還有人表示,即使停下手下的事,也要看看這篇關于 GPT-4 代碼解釋器插件用例的文章。這完全是瘋狂的,并將改變一切。
參考資料:
https://andrewmayneblog.wordpress.com/2023/03/23/chatgpt-code-interpreter-magic/
本文來自微信公眾號:新智元 (ID:AI_era)
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。