现代开源 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],主题为“帐户删除”,我们将立即删除您的帐户。
问:旧版本的 Pretzel AI(浏览器内的可视化数据操作工具)发生了什么?
答:它可以在此处的pretzelai_visual
文件夹中找到。请参阅此 PR 了解更多信息。
问: Pretzel 使用什么 AI 模型?
A. Pretzel 使用不同的 AI 模型来执行不同的任务:
默认型号:GPT-4o
内联完成:Mistral 的 Codestral 模型
后备选项:
我们正在继续试验模型并支持本地模型,Anthropic 的 Claude 是我们的首选。
问:功能 X 怎么样?
答:我们想要建造大量东西。请打开一个问题并告诉我们您希望我们构建什么!
问:路线图在哪里?
答:我们在本自述文件的顶部有一个粗略的路线图。我们想要构建很多功能,但我们只有两个人。因此,我们正在收集最有帮助的反馈。请提出问题或通过电子邮件向我们提供您的反馈!根据我们的发现,我们将优先考虑我们的路线图。
问:为什么使用 AGPL 许可证?或者,为什么不使用 MIT/BSD3 许可证?
答:我们构建 Pretzel 的目标是制作一个令人惊叹的数据工具,免费供个人和公司使用。也就是说,我们是一家两人初创公司 - 我们不希望某些第三方仅获取我们的代码并出售其托管版本而不回馈社区。 Jupyter 代码被许可为 BSD-3,如果我们保持新代码 BSD-3 许可,就无法阻止第三方这样做。因此,我们为所有新代码采用了 AGPLv3 许可证。这确保了如果其他人确实想要获取我们的代码并出售它(SaaS 或其他方式),他们也必须在 AGPLv3 下开源他们的所有修改。
问:为什么要分叉 Jupyter?为什么不直接为 Jupyter 做出贡献?
答:这需要一个更长的答案,但这里是简短的答案:我们已经着手制作新的事实上的、现代的开源数据工具。最初,我们想从头开始。然而,在与几位数据专业人士交谈后,我们意识到,无论新工具有多好,让人们转向使用新工具都非常困难。让人们改变的最好方法就是根本不让他们改变。这就是我们决定分叉 Jupyter 的原因——因为转换成本几乎为零。此外,Jupyter 是一个成熟的产品,我们发布功能的速度非常快 - 坦率地说,按照我们发布功能的速度,我们编写的代码不会被 Jupyter 代码库接受?这个决定也有很多缺点 - 我们不得不花费大量时间来了解整个 Jupyter 生态系统和多个代码库、复杂的发布流程、各种 API 等。但是,我们认为这对我们来说是正确的决定。
问:我的公司担心使用 AGPLv3 许可的工具。我能做些什么?
答:仅当您修改 Pretzel 并将其重新分发给公众时,AGPL 才是障碍。如果您只是将其用作公司的工具(即使进行了修改),AGPL 不会要求您共享代码。不过,如果 AGPL 对您来说是个问题,请联系我们,我们可以找到可行的方法。
问:你打算如何赚钱?或者,你怎么有空?我担心您将来会让这个工具付费。
答:我们计划向公司出售该工具的托管版本来赚钱。该托管版本可能会具有一些个人不想要或不需要的公司特定功能,例如数据访问控制、数据源连接器、与 GitHub 的集成、托管和可共享的仪表板、针对大数据作业的可扩展和按需计算等。我们不会追溯性地让 Pretzel 的个人版本付费。