Jupyter大升級:各種大模型都能連,聊天就能生成代碼、錯誤修改
現(xiàn)在,大語言模型(LLM)與 Jupyter 連接起來了!
這主要歸功于一個名叫 Jupyter AI 的項目,它是官方支持的 Project Jupyter 子項目。目前該項目已經(jīng)完全開源,其連接的模型主要來自 AI21、Anthropic、AWS、Cohere、OpenAI 等各大明星公司和機構(gòu)。
項目地址:https://github.com/jupyterlab/jupyter-ai
有了大模型的加持,Jupyter 功能也發(fā)生了很大的變化?,F(xiàn)在你可以在該環(huán)境中生成代碼、總結(jié)文檔、創(chuàng)建注釋、修復(fù)錯誤等。你甚至可以使用文本 prompt 生成 notebooks。
Jupyter AI 的安裝過程也非常簡單,安裝代碼如下:
pip install 'jupyter-ai>=1.0,<2.0' # If you use JupyterLab 3
pip install jupyter-ai # If you use JupyterLab 4
此外,Jupyter AI 提供了兩種不同的界面與 LLM 交互。在 JupyterLab 中,你可以使用聊天界面與 LLM 進行對話,以幫助處理代碼。此外,在任何支持 notebook 或 IPython 的環(huán)境中,包括 JupyterLab、Notebook、IPython、Colab 和 Visual Studio Code,你可以使用 %% ai 魔術(shù)命令調(diào)用 LLM。
大模型加持下的 Jupyter
接下來我們看看效果如何。
編程助手
Jupyter 聊天界面如下圖所示,用戶可以與 Jupyternaut(編程助手)進行對話。在 Jupyternaut 功能欄我們可以看到這樣一句話「大家好,我是 Jupyternaut,你的編程助理。你可以使用文本框向我提問,也可以使用命令向我提問。」
接下來,用戶向 Jupyternaut 詢問了一個問題:如「在 Python 中,元組和列表有什么區(qū)別?」Jupyternaut 給出了這兩者的關(guān)鍵區(qū)別,并且回答的非常正確,最后還貼心的舉了示例:
假如有一部分代碼你不是很了解,你可以選中這部分代碼,并將其當(dāng)做 prompt,然后要求 Jupyternaut 解釋這段代碼,除此之外,Jupyternaut 還能對代碼進行修改、識別代碼錯誤等。
如果你對代碼不滿意,還可以讓 Jupyternaut 按照要求重寫代碼:
重寫代碼后,Jupyternaut 會將代碼重新發(fā)送回用戶選擇的語言模型進行替換:
從文本 prompt 生成 notebook
Jupyter AI 的聊天界面可以根據(jù)文本 prompt 生成一個完整的 notebook。想要實現(xiàn)這一點,用戶需要運行「/generate」命令,外加一個文本描述。
Jupyternaut 生成 notebook 后,會向用戶發(fā)送一個包含文件名的消息,用戶可以打開該文件進行查看:
訪問本地文件
你可以使用「/learn」命令讓 Jupyternaut 學(xué)習(xí)本地文件,隨后使用「/ask」命令詢問有關(guān)本地文件的問題。舉例來說,使用「/learn」命令,你可以讓 Jupyternaut 學(xué)習(xí)關(guān)于 Jupyter AI 文檔的知識:
一旦 Jupyternaut 學(xué)習(xí)完成,你就可以使用「/ask」命令提出問題:
魔法功能
Jupyter AI 還提供了可以在 notebook cells 和 IPython 命令行界面中運行的 %% ai 命令,每個 %% ai 命令都需要一個模型,通常指定為 provider?id:model?id:
還有研究者體驗了一下 %% ai 魔法命令,讓其調(diào)用 ChatGPT :
此外,你還可以使用 - f 或 --format 參數(shù)自定義輸出的格式,包括 HTML、數(shù)學(xué)、源代碼和圖像,這對于研究人員和教育工作者來說非常有用。
一番展示下來,有了大模型加持的 Jupyter 確實方便了很多。想要嘗試的小伙伴,可以前去一試了。