Jupyter推出免費(fèi)AI助手,不只會(huì)寫(xiě)代碼,多種大模型都能調(diào)用
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
自然語(yǔ)言編程的家族,又添新成員!
近日,Jupyter宣布了推出免費(fèi)開(kāi)源的AI助手。
安裝簡(jiǎn)單、使用方便,寫(xiě)代碼、debug,一個(gè)窗口就能輕松搞定!
這個(gè)叫做Jupyter AI的編程神器是用LangChain打造的。
相比于VSCode里的Copilot,Jupyter AI支持的大模型更多。
除了我們耳熟能詳?shù)腃hatGPT和Claude之外,還有來(lái)自AWS、Cohere等廠商的模型。
甚至只要有API,HuggingFace上的模塊它都能調(diào)用,這意味著它的作用不僅僅是編程。
此外,Jupyter AI的配置也更為簡(jiǎn)便,而且無(wú)需排隊(duì)、支持中文prompt。
支持的程序也不只是Jupyter自己,只要環(huán)境支持notebook或IPython就可以用,VSCode也包括在內(nèi)。
這一重磅產(chǎn)品的推出,讓網(wǎng)友直言游戲規(guī)則要改變了:
我們進(jìn)行了第一手實(shí)測(cè),快來(lái)看看結(jié)果如何!
會(huì)寫(xiě)又會(huì)跑,還能debug
安裝好帶AI插件的Jupyter Lab并打開(kāi)之后,新建一個(gè)筆記文件。
然后輸入「%load_ext jupyter_ai」對(duì)插件進(jìn)行加載。
之后是對(duì)API key進(jìn)行配置,以ChatGPT為例,使用的命令是:
%env OPENAI_API_KEY=(填入OpenAI的API key)
其他大模型的配置方法也都相似。
完成這些配置之后,就可以上手寫(xiě)代碼了,輸入內(nèi)容的格式如下:
%%ai 模型名稱 --format=(code/math/html/image…)
要完成的任務(wù)
其中任務(wù)用中文描述就可以,format參數(shù)也可以不輸入。
我們從算法、Python繪圖以及小游戲三個(gè)方面對(duì)Jupyter AI進(jìn)行了測(cè)試。
先來(lái)看算法,這里我們直接上難度,來(lái)一道困難級(jí)別的Leetcode題。
LeetCode平臺(tái)上,這道題的通過(guò)率為30.7%。
結(jié)果代碼很快就出現(xiàn)在了筆記的下方:
那么究竟對(duì)不對(duì)呢,我們?cè)贚eetCode上提交一下試試。
直接一步到位!
如果換成一道數(shù)學(xué)題呢?
老鐵,依舊沒(méi)毛??!
算法問(wèn)題就展示到這里,接下來(lái)讓我們看看它的繪圖能力。
首先讓Jupyter AI隨便畫(huà)個(gè)什么圖形出來(lái),比如兩顆心。
結(jié)果我們得到了一段調(diào)用海龜倉(cāng)庫(kù)進(jìn)行繪圖的代碼。
這里就要提到這款插件的另一個(gè)特性——生成好的代碼可以直接運(yùn)行。
除了圖形,函數(shù)圖像的繪制也不是問(wèn)題。
依舊是整個(gè)復(fù)雜的,y=x*sin[ln(x)]。
在這個(gè)區(qū)間之內(nèi)的確沒(méi)毛病,不過(guò)沒(méi)能完整展示函數(shù)的單調(diào)性。
沒(méi)關(guān)系,我們可以對(duì)AI給出的代碼進(jìn)行手工調(diào)整,改變一下取值范圍。
根據(jù)現(xiàn)有數(shù)據(jù)繪制統(tǒng)計(jì)圖表同樣是小菜一碟。
運(yùn)行這段代碼,一張統(tǒng)計(jì)圖就大功告成了。
不過(guò),這里我們還想展示一下它的多輪對(duì)話能力。
比如,這個(gè)藍(lán)色看起來(lái)不好看,我們想給它換個(gè)顏色。
除了算法和繪圖這些內(nèi)容,交互式程序的編寫(xiě)也難不倒Jupyter AI。
甚至可以做小游戲,比如貪吃蛇。
創(chuàng)制和運(yùn)行程序的能力我們都已經(jīng)見(jiàn)過(guò)了,那么debug的表現(xiàn)又如何呢?
我們讓ChatGPT幫忙出了道題——一段包含五處錯(cuò)誤的Python代碼。
我們看到,ChatGPT生成的這五處錯(cuò)誤全都沒(méi)能逃過(guò)插件的法眼。
除了修改操作,也可以要求它解釋修改的原因:
我們看到,or改成and的原因沒(méi)有進(jìn)行解釋,不過(guò)沒(méi)關(guān)系,我們可以進(jìn)行追問(wèn)。
結(jié)果得到了更為詳細(xì)的解釋:
以上就是關(guān)于Jupyter AI編寫(xiě)代碼和調(diào)試運(yùn)行的全部測(cè)試了。
但它會(huì)的,不只是編程。
不只是編程
除了和Python程序相關(guān)的功能之外,這款A(yù)I插件還可以生成LaTex公式、SVG圖形、網(wǎng)頁(yè)等內(nèi)容。
首先來(lái)看公式,我們想讓它生成一下麥克斯韋方程組。
只要把format的參數(shù)改成math,結(jié)果就會(huì)以LaTex排版之后的格式輸出。
為了證明這不是圖片,我們查看了相關(guān)區(qū)域的HTML代碼,是貨真價(jià)實(shí)的LaTex格式。
簡(jiǎn)單的網(wǎng)頁(yè),這個(gè)插件也能做得出來(lái)。
我們讓它生成一個(gè)時(shí)鐘頁(yè)面,這里需要把format改成html。
說(shuō)到HTML,就會(huì)發(fā)現(xiàn)它還有一個(gè)妙用。
編程的一節(jié)提到過(guò),這個(gè)AI插件可以生成Python繪圖代碼。
但它同樣可以不用Python,直接生成一些簡(jiǎn)單圖形,以SVG的形式進(jìn)行展示。
不過(guò)無(wú)論是Python還是SVG,畫(huà)出的圖形都比較簡(jiǎn)單。
那么復(fù)雜的圖像它能畫(huà)嗎?答案是肯定的。
這款插件可以調(diào)用Stable Diffusion來(lái)畫(huà)圖。
不過(guò)由于沒(méi)有HuggingFace的API,這里我們只能展示一下官方給出的DEMO:
這里似乎需要把format設(shè)為image。
而且能調(diào)用的不只是Stable Diffusion,HuggingFace中的其他模型也可以!
除了在筆記中調(diào)用插件,Jupyter AI還在側(cè)邊欄中提供了聊天窗口。
配置好API之后,有什么問(wèn)題直接問(wèn)就可以!
還不趕快上手體驗(yàn)一下?(GitHub頁(yè)面有安裝教程)
GitHub頁(yè)面:https://github.com/jupyterlab/jupyter-ai