相信很多小伙伴是Jupyter的重度使用者,本篇介紹一個(gè)利器 Chapyter 它將目前火爆的 ChatGPT 代碼解釋器與 Jupyter Notebook 結(jié)合了起來,讓編碼更加地高效。
毋庸置疑,在 AI 的幫助下,開發(fā)者的編碼效率能夠大大提升。
開發(fā)者們將從簡單、重復(fù)的編碼工作中解脫出來。但是隨之而來的諸多問題,往往讓使用 AI 的開發(fā)者們頭禿不已。
Chapyter 將 GPT-4 這樣強(qiáng)大的代碼生成模型合并到 Jupyter Notebook 編碼環(huán)境中,開辟了人類 - AI 協(xié)作的新模式,在極大程度上解決了大部分編程助手會(huì)出現(xiàn)的問題。
Chapyter 是一個(gè) JupyterLab 擴(kuò)展,將 GPT-4 無縫連接到你的編碼環(huán)境,并且具有一個(gè)代碼解釋器,可以將自然語言描述翻譯為 Python 代碼并自動(dòng)執(zhí)行。 并且 Chapyter 通過在你最熟悉的 IDE 中啟用「自然語言編程」,提高你的工作效率,并使你能夠探索更多未嘗試過的新想法。
項(xiàng)目鏈接:https://github.com/chapyter/chapyter
下圖為 Chapyter 與部分現(xiàn)有的編碼助手的差別。
可以發(fā)現(xiàn),Chapyter 將編碼助手的優(yōu)勢綜合了起來。它可以幫助開發(fā)者完成各種復(fù)雜的編碼任務(wù)、自動(dòng)執(zhí)行 AI 生成的代碼,還能夠讓開發(fā)者進(jìn)行原位調(diào)試、自定義 Prompt,甚至保護(hù)了開發(fā)者與代碼的隱私性,避免數(shù)據(jù)被利用。
Chapyter 的特點(diǎn)與優(yōu)勢
Chapyter 的主要特點(diǎn)有:
1. 從自然語言生成代碼并自動(dòng)執(zhí)行
只需在任務(wù)自然語言描述的單元格開頭添加命令「%% chat」,代碼就會(huì)生成,并且用時(shí)極短,只需要幾秒鐘。
別小瞧了 Chapyter 的這個(gè)優(yōu)勢。
自動(dòng)補(bǔ)全一直是許多 AI 輔助編碼工具的主流交互,在編碼環(huán)境中提供 AI 支持,并且可以顯著提高開發(fā)人員工作的生產(chǎn)力和滿意度。然而,自動(dòng)補(bǔ)全并不完美:穿插 AI 代碼建議可能會(huì)分散注意力;生成的代碼可能包含可能很難調(diào)試的隱藏錯(cuò)誤;并且生成的代碼通常只跨越幾行,很難在上下文之外生成新的功能。
Chapyter 通過提供單元級代碼生成和自動(dòng)執(zhí)行克服了這些問題。你只需鍵入要執(zhí)行的操作的自然語言描述,Chapyter 將調(diào)用 GPT-X 模型來生成代碼并為你執(zhí)行。這與 Copilot 等系統(tǒng)中的代碼補(bǔ)全非常不同:其旨在支持僅跨越幾行代碼并且與當(dāng)前工作非常相關(guān)的微任務(wù),例如,完成函數(shù)調(diào)用。而 Chapyter 旨在接管完整的任務(wù),有時(shí)可能與現(xiàn)有代碼不同。
默認(rèn)情況下,生成的代碼是隱藏的,因?yàn)?Chapyter 希望淡化 AI 生成的代碼并專注于結(jié)果。并且,關(guān)于自動(dòng)執(zhí)行你也無需擔(dān)心,因?yàn)?Chapyter 有一個(gè)安全模式來防止自動(dòng)執(zhí)行可能危險(xiǎn)的代碼。
2. 使用編碼歷史和執(zhí)行輸出來生成代碼
Chapyter 還可以利用你的代碼歷史記錄和執(zhí)行輸出來提供上下文感知建議。它還可以選擇加載文件,以便為進(jìn)一步處理和分析提供建議。
如下圖所示,通過在代碼生成中添加 --history 或 -h 標(biāo)志,Chapyter 可以使用之前的執(zhí)行歷史和輸出,為加載的 IRIS 數(shù)據(jù)集生成相應(yīng)的可視化代碼。
3. 原位調(diào)試、編輯代碼
生成的代碼可能并不完美,可能包含 bug 或錯(cuò)誤。由于 Chapter 已完全集成到 Jupyter Notebook 中,因此無需離開 IDE,你就可以輕松地檢查代碼并修復(fù)任何錯(cuò)誤或 bug (例如,在這種情況下安裝缺少的依賴項(xiàng))。
4.prompt 和 AI 配置透明化,并允許自定義
Chapyter 發(fā)布了庫中使用的所有 prompt,并致力于讓自定義所使用的 prompt 和設(shè)置更加便捷。
可查閱:https://github.com/chapyter/chapyter/blob/main/chapyter/programs.py
**5. 使用 AI 時(shí),隱私優(yōu)先 **
Chapyter 是一個(gè)極小的 Python 包,可以在本地安裝并與 JupyterLab 無縫使用。它使用 OpenAI API 調(diào)用 GPT-X 模型,默認(rèn)情況下不會(huì)保留交互數(shù)據(jù)和代碼進(jìn)行訓(xùn)練。
因此與 Copilot 或 ChatGPT 緩存你的數(shù)據(jù)并用來訓(xùn)練和分析不同,Chapyter 所有發(fā)送到 OpenAI 的數(shù)據(jù)將不會(huì)被保存用于訓(xùn)練(可參閱 OpenAI API 數(shù)據(jù)使用策略)。
Chapyter 的構(gòu)成
Chapyter 主要由兩個(gè)部分組成:
- 實(shí)現(xiàn) ipython magic 命令,用來處理提示和調(diào)用 GPT-X 模型;
- 另一個(gè)是監(jiān)聽 Chapyter 單元格執(zhí)行情況的前端,它會(huì)自動(dòng)執(zhí)行新生成的單元格并更新單元格的樣式。
下圖展示了執(zhí)行 Chapyter 單元格后前端和 ipython 內(nèi)核的編排。
-
編碼
+關(guān)注
關(guān)注
6文章
942瀏覽量
54836 -
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68625 -
解釋器
+關(guān)注
關(guān)注
0文章
103瀏覽量
6513
發(fā)布評論請先 登錄
相關(guān)推薦
評論