by prasoonds on 7/2/24, 2:23 PM with 74 comments
Try a hosted version here: https://pretzelai.app
Jupyter is by far the most used Data Science tool. Despite its popularity, it still lacks good code-generation extensions. The flagship AI extension jupyter-ai lags far behind in features and UX compared to modern AI code generation and understanding tools (like https://www.continue.dev and https://www.cursor.com). Also, GitHub Copilot still isn’t supported in Jupyter, more than 2 years after its launch. We’re solving this with Pretzel.
Pretzel is a free and open-source fork of Jupyter. You can install it locally with “pip install pretzelai” and launch it with “pretzel lab”. We recommend creating a new python environment if you already have jupyter lab installed. Our GitHub README has more information: https://github.com/pretzelai/pretzelai
For our first iteration, we’ve shipped 3 features:
1. Inline Tab autocomplete: This works similar to GitHub Copilot. You can choose between Mistral Codestral or GPT-4o in the settings
2. Cell level code generation: Click Ask AI or press Cmd+K / Ctrl+K to instruct AI to generate code in the active Jupyter Cell. We provide relevant context from the current notebook to the LLM with RAG. You can refer to existing variables in the notebook using the @variable syntax (for dataframes, it will pass the column names to the LLM)
3. Sidebar chat: Clicking the blue Pretzel Icon on the right sidebar opens this chat (Ctrl+Cmd+B / Ctrl+Alt+B). This chat always has context of your current cell or any selected text. Here too, we use RAG to send any relevant context from the current notebook to the LLM
All of these features work out-of-the-box via our “AI Server” but you have the option of using your own OpenAI API Key. This can be configured in the settings (Menu Bar > Settings > Settings Editor > Search for Pretzel). If you use your own OpenAI API Key but don’t have a Mistral API key, be sure to select OpenAI as the inline code completion model in the settings.
These features are just a start. We're building a modern version of Jupyter. Our roadmap includes frictionless, realtime collaboration (think pair-programming, comments, version history), full-fledged SQL support (both in code cells and as a standalone SQL IDE), a visual analysis builder, a VSCode-like coding experience powered by Monaco, and 1-click dashboard creation and sharing straight from your notebooks.
We’d love for you to try Pretzel and send us any feedback, no matter how minor (see my bio for contact info, or file a GitHub issue here: https://github.com/pretzelai/pretzelai/issues)
by williamstein on 7/2/24, 4:02 PM
- https://noteable.io/ -- pretty good, but then they got acquirehired out of existence
- https://deepnote.com -- also extensive AI integration and realtime collaboration
- https://github.com/jupyterlab/jupyter-ai -- a very nice standard open source extension for gen AI in Jupyter, from an Amazon. JupyterLab of course also has fairly mature realtime collaboration now.
- https://colab.google/ -- has great AI integration but of course only with Google-hosted models
- https://cocalc.com -- very extensive AI integration everywhere with all the main hosted models, mostly free or pay as you go; also has realtime collaboration. (Disclaimer: I co-authored this.)
- VS Code has a great builtin Jupyter notebook, as other people have mentioned.
Am I missing any?
by TidbitsTornado on 7/2/24, 3:35 PM
Im curious to see if you continue building out some other features. While these are great features (copilot, chat, etc), I’d think most users would expect their IDE to have it out of the box (or with an extension) these days
by ramonverse on 7/2/24, 2:50 PM
by lschneider on 7/2/24, 3:21 PM
by carreau on 7/2/24, 3:34 PM
by mritchie712 on 7/2/24, 3:25 PM
What do you mean by this? I've been using Copilot in VS Code .ipynb files for over a year now.
by morsch on 7/2/24, 6:19 PM
I'd like to do things like organizing very rough notes, having them reformatted according to a general template, apply changes according to a prompt, maybe ask questions that refer to a collection of notes, ...
by chad1n on 7/2/24, 6:21 PM
by trungld on 7/3/24, 7:40 AM
by superkuh on 7/2/24, 6:41 PM
by renewiltord on 7/2/24, 5:09 PM
by f-lux on 7/2/24, 11:24 PM
by widepeepo8 on 7/2/24, 6:28 PM
by dakshgupta on 7/2/24, 4:31 PM
Any plans to finetune Codestral for this specific usecase?
by mathiasn on 7/2/24, 5:53 PM
by downrightmike on 7/3/24, 12:24 AM
by mitjam on 7/3/24, 7:00 AM
by skybrian on 7/2/24, 3:26 PM
by localfirst on 7/2/24, 9:06 PM
there is a feeling that i can do anything and everything with AI but in reality I can't do anything because i can't prioritize and choose anymore due to choice fatigue