Code Interpreter(程式碼解釋器)原理、功能、用途開放ChatGPT Plus 用戶使用,提供使用方法

Code Interpreter(程式碼解釋器)原理、功能、用途開放 Plus 用戶使用,提供5 個示範的用法

OpenAI 的 Code Interpreter 就像一個你的 python 的小助理,已經全面開放給ChatGPT Plus用戶(ChatGPT付費的人才能用),簡單來說是它一個可以將Python程式碼寫入Jupyter Notebook,並在linux中執行的chatgpt 模型。不知道你聽明白沒有,下面我具體解釋下。

Code Interpreter 是什麼

Code Interpreter 可以做到下面這些事情

  • 執行程式碼
  • 使用者可以上傳程式碼
  • 用自然語言解釋程式碼的邏輯和結構
  • 可以執行程式碼並且自我修復
  • 程式碼審查和改進
  • 輸出程式碼執行的結果
  • 依據需求可以產出可下載的檔案如多媒體檔、zip 檔等

因此應用方式有很多,包含 log 分析、產報表、重構 python 程式碼等等等。

而正常的ChatGPT存取流程是:使用者-GPT4大模型-結果輸出。而現在Code Interpreter就在原有的GPT4大模型基礎上增加了一個新功能,這個功能就是如果在與ChatGPT的對話當中有Python 程式碼時候,就會把程式碼送給Linux伺服器中的Sandbox環境執行。然後再把執行的結果回傳出來,最後輸出給使用者。那麼這個過程中,最關鍵的一環就是這個Linux伺服器中Sandbox。

(PS:  Sandbox  是為我們程式的運作提供一種隔離的環境,也就是說這個盒子裡的程式只能在這裡面運作。他無法存取外面的伺服器或系統,更無法對伺服器造成干擾,幾乎是絕對的安全運作。類似於虛擬機器或Docker。)

那麼現在這個Sandbox裝了什麼東西呢。大概有這些:臨時磁碟空間、Python環境、Python庫、Python解釋器、Jupyter Notebook等。而且剛剛我們說過Sandbox是封閉運作的,所以沙盒中自備的Python庫,就決定了程式碼解釋器的能力。這些Python庫有哪些呢?預先安裝超過330 個函式庫,如pandas(資料分析)、matplotlib(資料圖形處理)、seaborn(資料視覺化)、folium(地理資訊視覺化)、pytesseract(OCR)、Pillow(影像處理)、Pymovie、ffmpeg音視頻處理、Scikit-Learn 和PyTorch 和Tensorflow(機器學習)等等

所以Code Interpreter之所以厲害就是把原來Python能做的事融入到了AI當中,讓Python能更有效率和快速的完成我們的需要的工作而已。比起ChatGPT Default最重要的就是多了這個能運作python的Sandbox。

那麼最終的結論就是,Code Interpreter就是AI+Python+ Jupyter Notebook。所以它是一個新事物嗎?是的!它把AI+Python進行了充分的結合,大提高了使用Python的效率。但它又不是一個新事物,因為它能產生的結果都是以前python可以處理的東西。但可以肯定的是,它不是GPT4.5。

環境與限制

Code Interpreter 跑在 Kubernetes container 上,不同的討論串是各自獨立的,並且沒有網路可以用。這個 container 在一段時間後就會消失,裡面的資料與檔案都會跟著不見。

目前內建的 package 列表 從這些 package 可以知道 code interpreter 可以處理許多常見的檔案格式包含 csv, zip, pdf, 與多媒體檔案格式。另外還有一些資料庫處理用、圖像化、甚至是 OCR 使用的。這些 package 讓 code interpreter 可以做出許許多多的應用。

上傳檔案上限 100mb

當前 Code Interpreter 僅開放給 ChatGPT Plus 付費用戶使用

同樣有 GPT4 的每 3 小時 25 個訊息限制以及 8K context window (不過產生的檔案內容與 8k context 無關)

Code Interpreter 適合那些人

Code Interpreter功能很強大,但我覺得代碼解譯器對很多人其實沒什麼用。(以下是我的一個大概估計)

  • 非常有用(約5%):

    這一類人包括了資料科學家,軟體工程師,研究員和其他專門用Python作為主要工具的工作人員。他們的工作很大程度上依賴Python程式設計。

  • 有用(約15%):

    這一類人包括了一些科技業的工作者,例如網路工程師,系統管理員,以及一些在科技公司工作但不直接編寫程式碼的職業。那麼對於這些人來講,程式碼解釋器的能力可以幫助他們更好地完成工作。

  • 基本上有用(約30%):

    這一類人可能包括了一些需要處理資料但不需要編寫複雜程式碼的職業,例如市場分析師,財務分析師,或一些在科學和工程領域的工作者。對於這些人來說,他們可能偶爾需要使用程式碼解釋器,但這並不是他們工作的主要部分。

  • 無用(約50%):

    這一類人包括了那些工作基本上不涉及程式設計的職業,如銷售,人力資源,醫生,律師,藝術家等。對這些人來說,他們可能很少或根本不需要使用Python,甚至都用不到電腦。

請注意,這只是一個大概的估計,並且是基於全球範圍內的職業分佈。實際的比例會根據具體的地區和產業而有所不同。

如何使用 Code Interpreter (beta)

注意:目前只有付費用戶才能使用

從左下使用者選單進到 settings ,並且選擇 Beta features,就可以看到開關

Code Interpreter
Code Interpreter

再來,在新建討論串的時候選擇 GPT4 並選 Code Interpreter 即可開始使用

submin2

各種應用

直接看大家怎麼玩最有感覺

市場分析

視覺化應用 — 熱點圖

資料分析

LOG 分析

自己也試著作一些 log 分析,叫 Code Interpreter 依據 user_agent / 事件來作分析如下

1*zRGaqArASvadOf99sGfylg

經過幾次調校之後,他可以正確的辨認出事件紀錄的格式,並且做出分析。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *