ChatGPT可以連網後,OpenAI還火速介紹了一款程式碼產生器,在這個插件的加持下,ChatGPT甚至可以自己生成機器學習模型了。
上週五,OpenAI剛剛宣布了令人震驚的消息,ChatGPT可以聯網,接入第三方插件了!
而除了第三方插件,OpenAI也介紹了一款自家的插件「程式碼解釋器」,並給出了幾個特別的用例:解決定量和定性的數學問題;進行數據分析和視覺化;快速轉換文件格式。
此外,Greg Brockman演示了ChatGPT還可以對上傳視訊檔案進行處理。
而一位叫Andrew Mayne的暢銷作家、OpenAI的創意應用程式和科學傳播者,立刻就試了一把——把程式碼解釋器(Code Inerpreter )接入ChatGPT。
感受就是,太絲滑了!
以前用ChatGPT寫程式碼時,總是需要把程式碼拿出來,再放到另一個環境去測試。
而現在,根本不需要離開目前的介面,直接就可以在ChatGPT中開發了。
只要我們把這個程式碼解釋器加入到資料分析、繪圖功能中,就誕生了一個強到髮指的編碼和研究工具。
目前,程式碼解釋器只能在少量的函式庫上運行Python,而即使用最基礎的函式庫,它能做的東西也非常多,非常有趣。
另外,除了產生程式碼,程式碼解釋器(CI) 還可以分析輸出,並將其用於另一個函數。
因此,我們可以將不同的程式碼串在一起,取得其中一個的輸出,再提供給另一個。
這個吃豆人gif就是這樣生成的:CI用演算法生成迷宮,把迷宮變成方塊,用演算法找到出口,做成吃豆人的樣子,然後產生gif。
以下是Mayne使用ChatGPT的程式碼解釋器插件,進行隨機實驗的一些範例。
雖然目前ChatGPT無法將任何機器學習庫載入到程式碼解釋器中,但我們可以使用n-gram進行一些基本的統計文字生成。
如下範例中,透過提供它一本書,要求它建立一個預測演算法,然後預測文字序列中的下一個單字。
GPT用n-gram模型產生了演算法:
下一個單字預測是一項自然語言處理任務,可以使用語言模型來解決。建立語言模型的簡單方法是使用n-gram模型。
n-gram模型是一種基於統計的語言模型,它根據前n-1個單字來預測下一個單字。例如,如果我們選擇n=3(即三元模型),模型將基於前兩個單字來預測下一個單字。
以下是一些程式碼,可以幫助您從頭開始建立三元模型。
因為ChatGPT可以理解很多數學數據,並且CI能夠產生可下載的文件,因此Mayne嘗試了下用ChatGPT產生Shepard音調。這是一種獨特的音調,能夠個人造成一種音調在不斷變高的錯覺。
ChatGPT不僅順利地完成了任務,還直接用CI產生了一個wav檔。
打開聽這個Sheperd音,感受就是,兩個字-完美!
既然ChatGPT生成的Sheperd音這麼完美,Mayne就更進一步,讓ChatGPT來產生一個康威生命遊戲的會話,然後轉換為音樂。
(康威生命遊戲是劍橋大學康威設計的電腦程式。這是一款圖靈完整的零玩家遊戲,意味著它的演化取決於它的初始狀態,不需要進一步的輸入。)
第一遍的時候,ChatGPT生成的音樂有點太隨意,Mayne要求它生成更愉悅的音樂,於是ChatGPT應用了五聲音階,聽起來果然不錯。
game_of_life_pentatonic_slow音訊:00:0000:14
ChatGPT的表現太過優異,Mayne大為興奮,他已經開始設想一整張數學音樂專輯了,例如(斐波那契數列、Mandelbrot 集、元胞自動機)。
隨後,他要求ChatGPT為《康威生命遊戲》這首歌生成一個專輯封面。由於它沒有連接到DALL-E,Mayne要求它從模擬幀生成圖像。
專輯封面如下。
而看著這張專輯封面,Mayne馬上意識到或許可以用ChatGPT產生一個有效的QR 圖碼.
Mayne讓它為OpenAI的網站產生一個二維碼,結果如下:
那麼,ChatGPT可以創造一個以二維碼結尾的康威生命遊戲嗎?
是的,它可以。
另外,Mayen發現,使用OpenCV和一個簡單的臉部辨識演算法(Haar Cascade 分類器),CI就能夠創建一個函數,來進行人臉辨識。
使用OpenCV進行人臉辨識
現在,ChatGPT可以自己開啟和讀取檔案了,也就意味著理論上它可以使用這些數據生成新的東西。比如,把一張圖轉換為ASCII的形式。
上傳圖片:
轉為ASCII:
透過程式碼解釋器,可以產生數據,並將其輸出包括gif在內的不同格式。
首先,讓它做一個彈跳塊:
然後是暴風雪:
接下來是「生命遊戲」,正是這款遊戲啟發了二維碼模擬實驗。
試圖讓程式碼解釋器使用向量化的立方體來產生「旋轉的立方體」。在嘗試了其他方法之前,這是能夠得到最接近的結果:
研究稱,光學字元辨識(OCR)是程式碼解釋器中的一個庫。透過用網站截圖進行測試,果然可以辨識。
將OCR與一個強大的語言模型GPT-4結合起來,可以為修復舊文件提供了一些有趣的可能性。
上圖可以看出,OCR能從整張圖片中提取部分文本,但結果仍不完整,且帶有雜訊。
由此看來,在處理低品質或扭曲的圖片時,OCR可能會有限制。如果你需要從圖片中獲取具體訊息,同時也需要手動轉錄部分內容。
日曆邀請
儘管程式碼解釋器沒有存取ics庫的權限,但它可以產生一個純文字的行事曆邀請,然後讓ChatGPT將其儲存為.ics檔案。
畫
儘管已經有一些GPT-4產生可縮放向量圖像(SVG)的有趣例子。但我還是很好奇 ChatGPT 和程式碼解釋器能對簡單的圖像塊做些什麼。
我讓它畫了一隻貓,它創作了類似貓的東西。為了確保它不是憑記憶做出的,我要求它畫一個藍色的高頂帽和煙鬥。雖然不完全是我想像中的高頂帽,但仍然是一個帽子,是藍色的。
一隻戴著帽子、抽著煙鬥的貓:
#一隻戴著「帽子裡的貓」式樣帽子,還有抽著煙鬥的貓:
透過使用Matplotlib庫,我成功地讓ChatGPT生成了內部行星軌道的模擬,並將其儲存為gif。
我接著思考能否讓ChatGPT模擬一局跳棋,並設法移動了棋子,但是出於禮貌沒有拿走對手的棋子。
能否模擬一局象棋?首先我讓ChatGPT創建自己的棋盤庫(一個非常簡單的棋盤庫,有一些限制和不太合法的移動…),然後使用Unicode表示棋子,之後,它可以模擬一場遊戲的開始,並將其儲存為.gif檔案。
以下是我和ChatGPT進行象棋模擬時的對話。可以看到,我只是給了一些指示,ChatGPT和代碼解釋器做了剩下的工作。
如上是Andrew Mayne對ChatGPT和程式碼解釋器外掛程式的一些探索。
網友看後點評,LLMs越來越像一位真正的程式設計師,不僅可以建議程式碼片段,還可以編寫整塊程式碼、運行程式碼,並給你輸出進一步的指導和回饋。
還有人表示,即使停下手下的事,也要看看這篇關於GPT-4程式碼解釋器外掛程式用例的文章。這完全是瘋狂的,並將改變一切。
參考資料:
#https://andrewmayneblog.wordpress.com/2023/03/23/chatgpt-code-interpreter-magic/
以上是用ChatGPT秒建造大模型! OpenAI全新插件殺瘋了,接取程式碼解釋器一鍵get的詳細內容。更多資訊請關注PHP中文網其他相關文章!