ChatGPT再進(jìn)化:o1支持調(diào)用Python分析數(shù)據(jù),網(wǎng)友:已經(jīng)成為Copilot了
今天一大早,ChatGPT突然更新——
基于Python的數(shù)據(jù)分析功能,在o1和o3-mini當(dāng)中也可以使用了。
OpenAI介紹,現(xiàn)在可以通過兩款模型調(diào)用Python,完成數(shù)據(jù)分析、可視化、基于場景的模擬等任務(wù)。
量子位實測發(fā)現(xiàn),雖然界面并無明顯變化,但是Python的確已經(jīng)在o1當(dāng)中悄悄“上崗”了。
有網(wǎng)友評論說,這相當(dāng)于是ADA(高級數(shù)據(jù)分析)功能迎來了第三個版本:
還有人評價說,o1已經(jīng)從一個助理,進(jìn)化成全能的數(shù)據(jù)分析Copilot了。
那么,擁有了Python這一強(qiáng)大武器之后的o1,在數(shù)據(jù)分析上表現(xiàn)究竟如何呢?我們進(jìn)行了一波實測。
o1挑戰(zhàn)Python數(shù)據(jù)分析
第一輪測試,我們整理了某架飛機(jī)近一年時間里執(zhí)飛過的400多條航班記錄,交給模型對其中的數(shù)據(jù)進(jìn)行分析。
表面上,需要回答的問題有4個:
- 這架飛機(jī)都執(zhí)飛過哪些航線,每條各執(zhí)飛過多少次;
- 在每條航線中,執(zhí)飛次數(shù)最多的航班號分別是多少;
- 這架飛機(jī)的實際起飛時段集中在一天中的哪段時間(以整小時統(tǒng)計),注意表中為UTC時間,請換算成北京時間;
- 僅考慮落地時間,這架飛機(jī)一共出現(xiàn)過多少次延誤,平均和最長延誤時間分別是多少。
但實際上,模型還需要考慮更多的事情。
第一個問題,還可以通過簡單直接統(tǒng)計實現(xiàn),第二個問題就需要根據(jù)第一個問題的結(jié)果對數(shù)據(jù)進(jìn)行歸類后再進(jìn)行計算。
第三個問題要做的工作就更多了,需要從原始的時間數(shù)據(jù)中提取出所在的小時段,還需要進(jìn)行時差換算。
最后一個問題也最復(fù)雜,需要從混雜有其他文本的結(jié)構(gòu)化信息中先找出時間,然后還涉及到比較和時間差計算,計算完后還要再進(jìn)行篩選和進(jìn)一步統(tǒng)計。
最終,這四個問題,o1在調(diào)用了Python之后全都分析對了。
當(dāng)然,4o也答對了這些問題,不過輸出的格式不太美觀。
Claude(3.7 Sonnet)這邊則是鬧出了一些烏龍,一開始表示自己無法打開上傳的文件(可能是文件名包含中文的緣故),反復(fù)自動重試多次后,竟然自己編了一套答案出來。
屬于是沒活硬整了。
△右側(cè)答案為Claude編造的錯誤信息
不過當(dāng)我們?nèi)サ粑募Q中的中文之后,Claude成功讀取了文件,并給出了正確的結(jié)論。
測試完在問答式的任務(wù)上的表現(xiàn),再來看看可視化能力。
這里我們找來了最近某班次航班的飛行記錄,包含了起飛到降落過程中各時間點的位置、高度、速度、航向等信息,一共有1700余個數(shù)據(jù)點。
給出的任務(wù)則是繪制出高度和速度隨時間變化的折線圖,并且涉及到了時區(qū)和計量單位的換算(原始數(shù)據(jù)中時間為UTC時間、高度為英尺、速度為節(jié),需要換算成北京時間、高度單位為米、速度單位為公里每小時)。
在分別調(diào)用Python后,o1(左)和4o(右)繪制出的圖像是這樣的。
這里4o的標(biāo)記更加易于分辨,而o1對兩條線都采用了混色繪制,有些分不清具體所指:
當(dāng)然對于圖線的形狀來說,經(jīng)過對比原始數(shù)據(jù)來源中給出的圖線,結(jié)果是一致的。
Claude這邊的操作更加高級,直接做成了一個可交互的網(wǎng)頁,鼠標(biāo)劃過后會顯示時間點對應(yīng)的原始信息。
但關(guān)鍵的問題是,Claude在時區(qū)的轉(zhuǎn)換上出了錯,并且也沒按要求把時間間隔較長的數(shù)據(jù)點用虛線連接。
One More Thing
除了o1和o3-mini的功能更新外,OpenAI還宣布了另一個消息——
之前Mac客戶端會員專屬的Work with Apps功能,現(xiàn)在開放給所有用戶了。
該功能可以從文本編輯和IDE工具等程序中讀取代碼等數(shù)據(jù),無需反復(fù)復(fù)制粘貼就能更方便地完成編程等任務(wù)。