現代開源 Jupyter 替代方案。
在這裡嘗試一下»
Discord · 網站 · 問題 · 聯絡方式
Pretzel 是 Jupyter 的一個分支,旨在提高 Jupyter 的功能。目前,我們已經為 Jupyter 新增了 AI 程式碼產生和編輯、內嵌標籤完成、側邊欄聊天和錯誤修復功能,未來還會有更多功能。
從 Jupyter 切換到 Pretzel 非常容易,因為它只是 Jupyter 的改進版本。所有 Jupyter 配置、設定、鍵綁定和擴充都可以開箱即用。
pip install pretzelai
然後執行pretzel lab
開啟 Web 介面。或者,使用我們的免費託管版本:pretzelai.app@
以觸發函數和變數名稱的自動完成。我們的路線圖包括建構以下功能:
使用 pip 安裝 Pretzel
pip install pretzelai
對於 conda,請先使用conda install pip
,然後pip install pretzelai
。
然後,啟動 Pretzel:
pretzel lab
您將能夠透過提供的 URL 存取 Pretzel 介面。
若要使用您自己的 AI 模型,請參閱配置部分。
如果您在安裝 Pretzel 時遇到問題(例如在 Windows 上),您可以在 Docker 容器中執行它。
FROM python:3.9-slim
RUN apt-get update && apt-get install -y
build-essential
gcc
&& rm -rf /var/lib/apt/lists/*
WORKDIR /root/pretzel
RUN pip install pretzelai
EXPOSE 8888
CMD [ "pretzel" , "lab" , "--ip=0.0.0.0" , "--allow-root" , "--notebook-dir=/root/pretzel" , "--ServerApp.allow_remote_access=True" , "--ServerApp.token=''" , "--no-browser" ]
在包含 Dockerfile 的相同資料夾中,執行docker build -t pretzel .
要運行 pretzel,您可以運行: docker run --name pretzel -p 8888:8888 pretzel
容器運行後,您可以透過http://localhost:8888/lab
存取它。若要停止容器,請按Ctrl + C
然後按docker stop pretzel
。
如果要存取 Pretzel 中的本機資料夾,可以執行: docker run --rm -p 8888:8888 -v $(pwd):/root/pretzel pretzel
- 這會將目前目錄對應到 docker 容器的/root/pretzel
資料夾。確保 Docker 有權存取您的目前目錄。
要將 Pretzel 更新到最新版本,只需使用 --no-cache 標誌重建 Docker 映像: docker build --no-cache -t pretzel .
現在你可以像步驟 3 一樣執行 docker。
您可以使用此 Dockerfile 來建置和運行前沿版本。請按照在 docker 容器中運行部分中的步驟(從步驟 2 開始)進行操作
如果您在安裝過程中遇到以下錯誤:
Failed to build installable wheels for some pyproject.toml based projects (pystemmer)
這意味著安裝未能安裝依賴項PyStemmer
。發生這種情況通常是因為您沒有安裝正確的建置工具。要解決此問題:
sudo apt-get update && sudo apt-get install build-essential python3-dev
brew install gcc
。如果這不起作用,您可能還需要執行xcode-select --install
完成此操作後,您應該能夠pip install pretzelai
來安裝 Pretzel。
預設 Pretzel AI 伺服器使用 Mistral 的 Codestral,但您可以在 Pretzel AI 設定中切換內聯完成模型。請參閱配置部分。
Cmd+K
(Mac) / Ctrl+K
(Windows/Linux)或按一下「詢問 AI」以開啟 AI 提示文字方塊並編寫程式碼產生/編輯指令@
以取得會話中可用變數的下拉清單。將這個@vairable
加入到提示中會將其值傳送給AICtrl+Cmd+B
(Mac) / Ctrl+Alt+B
(Linux/Windows)或右側側邊欄上的 Pretzel 圖示啟動 AI 側邊欄@
語法來引用內存中的變數和資料幀,類似於筆記本單元格AI側邊欄的使用範例:
my_function
以提高效率」←這會在整個筆記本中找到函數my_function
並修改它sales_data
資料幀按產品類型計算平均收入inject
”或ij
(不區分大小寫)一詞開始提示 - 這告訴 AI 僅添加新代碼,而不編輯單元格中的現有代碼Pretzel 開箱即用,無需設定。我們不會儲存您發送到 Pretzel AI 伺服器的任何程式碼或資料。
不過,如果您想使用不同的 AI 模型,您可以將 Pretzel 配置為使用來自多個不同供應商的 AI 模型,包括本地模型。在這種情況下,AI 請求直接從您的電腦發送到 AI 服務(OpenAI、Anthropic 等)。
Settings
選單,然後點擊Pretzel AI Settings
在配置 AI 服務部分下,您可以
更改後請記住儲存您的設定。 Pretzel 將驗證您的配置以確保一切設定正確。
請注意:我們尚未測試Azure Enterprise OpenAI模型。如果您發現任何錯誤,請在 GitHub issues 中報告,我們將盡快修復。
原始 Jupyter 文件可在此處獲取,Jupyterlab 自述文件可在此處取得。
我們不收集任何個人資訊。我們僅對我們建立的 AI 功能使用基本遙測 - 例如,當您單擊“Ask AI”時,我們會收到某人單擊“Ask AI”的事件。我們僅將匿名 ID 與您的用戶相關聯。如果您允許 cookie,這可以幫助我們判斷多個瀏覽器會話中是相同使用者(這非常有幫助!)。如果您不允許 cookie,則每次您開啟瀏覽器時,您都是我們的新匿名使用者。
我們還收集我們建立的人工智慧功能的提示(但不收集回應)。可以在設定中關閉此功能(設定 > Pretzel AI > 取消選取提示遙測),但如果您不這樣做,我們將非常感激 - 這對於改進我們的提示非常有幫助。
我們不收集任何代碼。即使您使用 Pretzel 的雲端 AI 伺服器進行補全,我們也不會儲存任何此類程式碼。
如果您使用 Pretzel 的託管版本 (https://pretzelai.app),我們會根據您的電子郵件地址為您建立一個使用者。您始終可以簡單地登入並刪除您可能儲存在我們的託管伺服器上的任何資料。我們不會對您的資料進行備份或複製。
我們的託管伺服器可以免費使用。但是,我們將在您上次登入後 30 天刪除您的資料和帳戶。如果您想盡快刪除您的帳戶,請發送電子郵件至[email protected],主題為“帳戶刪除”,我們將立即刪除您的帳戶。
Q:舊版的 Pretzel AI(瀏覽器內的視覺化資料操作工具)發生了什麼事?
答:它可以在此處的pretzelai_visual
資料夾中找到。請參閱此 PR 以了解更多資訊。
Q: Pretzel 使用什麼 AI 模型?
A. Pretzel 使用不同的 AI 模型來執行不同的任務:
預設型號:GPT-4o
內嵌完成:Mistral 的 Codestral 模型
後備選項:
我們正在繼續試驗模型並支持本地模型,Anthropic 的 Claude 是我們的首選。
Q:功能 X 怎麼樣?
答:我們想要建造大量東西。請打開一個問題並告訴我們您希望我們建造什麼!
Q:路線圖在哪裡?
答:我們在本自述文件的頂部有一個粗略的路線圖。我們想要建立很多功能,但我們只有兩個人。因此,我們正在收集最有幫助的回饋。請提出問題或透過電子郵件向我們提供您的回饋!根據我們的發現,我們將優先考慮我們的路線圖。
Q:為什麼要使用 AGPL 授權?或者,為什麼不使用 MIT/BSD3 授權?
答:我們建立 Pretzel 的目標是製作一個令人驚嘆的數據工具,免費供個人和公司使用。也就是說,我們是一家兩人新創公司 - 我們不希望某些第三方只獲取我們的程式碼並出售其託管版本而不回饋社區。 Jupyter 程式碼被許可為 BSD-3,如果我們保持新程式碼 BSD-3 許可,就無法阻止第三方這樣做。因此,我們為所有新程式碼採用了 AGPLv3 授權。這確保瞭如果其他人確實想要獲取我們的程式碼並出售它(SaaS 或其他方式),他們也必須在 AGPLv3 下開源他們的所有修改。
Q:為什麼要分叉 Jupyter?為什麼不直接為 Jupyter 做出貢獻?
答:這需要一個更長的答案,但這裡是簡短的答案:我們已經著手製作新的事實上的、現代的開源資料工具。最初,我們想從頭開始。然而,在與幾位數據專業人士交談後,我們意識到,無論新工具有多好,讓人們轉向使用新工具都非常困難。讓人們改變的最好方法就是根本不讓他們改變。這就是我們決定分叉 Jupyter 的原因——因為轉換成本幾乎為零。此外,Jupyter 是一個成熟的產品,我們發布功能的速度非常快 - 坦率地說,按照我們發布功能的速度,我們編寫的程式碼不會被 Jupyter 程式碼庫接受?這個決定也有很多缺點 - 我們必須花費大量時間來了解整個 Jupyter 生態系統和多個程式碼庫、複雜的發布流程、各種 API 等。
Q:我的公司擔心使用 AGPLv3 許可的工具。我能做些什麼?
答:只有當您修改 Pretzel 並將其重新分發給公眾時,AGPL 才是障礙。如果您只是將其用作公司的工具(即使進行了修改),AGPL 不會要求您共用程式碼。不過,如果 AGPL 對您來說是個問題,請聯絡我們,我們可以找到可行的方法。
問:你打算如何賺錢?或者,你怎麼有空?我擔心您將來會讓這個工具付費。
答:我們計劃向公司出售該工具的託管版本來賺錢。這個託管版本可能具有一些個人不想要或不需要的公司特定功能,例如資料存取控制、資料來源連接器、與GitHub 的整合、託管和可共享的儀表板、針對大數據作業的可擴展和按需計算等。