Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3: The Beginning #1169

Merged
merged 38 commits into from
Dec 26, 2024
Merged

V3: The Beginning #1169

merged 38 commits into from
Dec 26, 2024

Conversation

dlqqq
Copy link
Member

@dlqqq dlqqq commented Dec 25, 2024

Description

  • This PR will merge all changes from the v3-dev branch into main, and serve as the first commit of v3. 🎉

    • Rapid summary of changes: In v3, all responsibility for managing the chat is now delegated to Jupyter Chat, a new project built with Jupyter AI components and a custom chat backend. By using Jupyter Chat, Jupyter AI now supports multiple chats, and automatically saves them as files on disk. This migration has already allowed us to greatly simplify our codebase, and will provide a fantastic foundation to build new features for users in v3. ❤️
    • For more details, please see the full PR history of v3-dev using this link.
  • This PR will be published as the first v3 pre-release (v3.0.0a0) the day after Christmas. 🎅

    • This pre-release just intends to establish feature parity with v2, and is being published quickly for contributors & stakeholders to encourage open collaboration & feedback. I'll open a GitHub issue milestone to track v3 issues discovered by users after installing this pre-release. 🤗
    • Please note that we will absolutely build more features & fix more issues on top of this before the v3.0.0 official release. This is just the first pre-release of many more to come. 💪
  • After this PR is merged, main will track v3, as v3 will be the latest major version. This follows standard convention on managing open-source repositories.

  • The existing main branch is now tracked separately on 2.x.

Demo

Screen.Recording.2024-12-24.at.4.08.04.PM.mov

Note that /generate is not shown in the demo, but I have verified this to work locally.

meeseeksmachine and others added 30 commits October 23, 2024 11:05
…ses (#1058)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
Co-authored-by: Sanjiv Das <srdas@scu.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…o developer documentation (#1073)

Co-authored-by: Alan Meeson <alanmeeson@users.noreply.github.com>
… chat (#1079)

Co-authored-by: david qiu <david@qiu.dev>
…/ history (#1080)

Co-authored-by: Alan Meeson <alanmeeson@users.noreply.github.com>
…#1081)

Co-authored-by: Mahmut CAVDAR <4072246+mcavdar@users.noreply.github.com>
…toolbar (#1084)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
…vider dependencies (#1091)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
…l in Anthropic (#1093)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
…th in human messages (#1095)

Co-authored-by: david qiu <david@qiu.dev>
Co-authored-by: david qiu <david@qiu.dev>
…reply gracefully in chat (#1110)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
Co-authored-by: david qiu <david@qiu.dev>
Co-authored-by: ctcjab <joshua.bronson@chicagotrading.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: david qiu <david@qiu.dev>
* Very first version of the AI working in jupyterlab_collaborative_chat

* Allows both collaborative and regular chat to work with AI

* handle the help message in the chat too

* Autocompletion (#2)

* Fix handler methods' parameters

* Add slash commands (autocompletion) to the chat input

* Stream messages (#3)

* Allow for stream messages

* update jupyter collaborative chat dependency

* AI settings (#4)

* Add a menu option to open the AI settings

* Remove the input option from the setting widget

* pre-commit

* linting

* Homogeneize typing for optional arguments

* Fix import

* Showing that the bot is writing (answering) (#5)

* Show that the bot is writing (answering)

* Update jupyter chat dependency

* Some typing

* Update extension to jupyterlab_chat (0.6.0) (#8)

* Fix linting

* Remove try/except to import jupyterlab_chat (not optional anymore), and fix typing

* linter

* Python unit tests

* Fix typing

* lint

* Fix lint and mypy all together

* Fix web_app settings accessor

* Fix jupyter_collaboration version

Co-authored-by: david qiu <44106031+dlqqq@users.noreply.github.com>

* Remove unecessary try/except

* Dedicate one set of chat handlers per room (#9)

* create new set of chat handlers per room

* make YChat an instance attribute on BaseChatHandler

* revert changes to chat handlers

* pre-commit

* use room_id local var

Co-authored-by: Nicolas Brichet <32258950+brichet@users.noreply.github.com>

---------

Co-authored-by: Nicolas Brichet <32258950+brichet@users.noreply.github.com>

---------

Co-authored-by: david qiu <44106031+dlqqq@users.noreply.github.com>
Co-authored-by: david qiu <david@qiu.dev>
…-Region Inference on Amazon Bedrock (#1143)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
…ding models (#1149)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
* remove /export

* remove /clear

* remove /fix
* fix check release by bumping to impossible version

* fix types

* Update Playwright Snapshots

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
dlqqq and others added 7 commits December 11, 2024 13:00
* dedicate a separate LangChain history object per chat

* pre-commit

* fix mypy
Co-authored-by: Divyansh Choudhary <divyanshchoudhary99@gmail.com>
…s across cells (#1164)

Co-authored-by: Sanjiv Das <srdas@scu.edu>
* First pass to remove the front end chat

* Remove code-toolbar by using a simplified markdown renderer in settings

* Remove chat-message-menu (should be ported in jupyter-chat)

* Remove chat handler

* Follow up 'Remove chat-message-menu (should be ported in jupyter-chat)' commit

* Clean package.json

* Remove UI tests

* Remove the generative AI menu

* Remove unused components

* run yarn dedupe

---------

Co-authored-by: David L. Qiu <david@qiu.dev>
* upgrade to jupyterlab-chat 0.7.0

* pre-commit

* upgrade to @jupyter/chat ^0.7.0 in frontend
* remove v2 llm memory, implement ReplyStream

* remove v2 websockets & REST handlers

* remove unused v2 data models

* fix slash command autocomplete

* fix unit tests

* remove unused _learned context provider

* fix mypy

* pre-commit

* fix optional k arg in YChatHistory

* bump jupyter chat to 0.7.1 to fix Python 3.9 tests

* revert accidentally breaking /learn
@dlqqq dlqqq added the enhancement New feature or request label Dec 25, 2024
@dlqqq dlqqq merged commit 899af0a into main Dec 26, 2024
20 checks passed
@dlqqq dlqqq deleted the v3-dev branch December 26, 2024 17:54
srdas added a commit to srdas/jupyter-ai that referenced this pull request Jan 6, 2025
* Backport PR jupyterlab#1049: Added new Anthropic Sonnet3.5 v2 models (jupyterlab#1050)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1051: Added Developer documentation for streaming responses (jupyterlab#1058)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1048: Implement streaming for `/fix` (jupyterlab#1059)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1057: [pre-commit.ci] pre-commit autoupdate (jupyterlab#1060)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Backport PR jupyterlab#1064: Added Ollama to the providers table in user docs (jupyterlab#1066)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1056: Add examples of using Fields and EnvAuthStrategy to developer documentation (jupyterlab#1073)

Co-authored-by: Alan Meeson <alanmeeson@users.noreply.github.com>

* Backport PR jupyterlab#1069: Merge Anthropic language model providers (jupyterlab#1076)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1068: Allow `$` to literally denote quantities of USD in chat (jupyterlab#1079)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1075: Fix magic commands when using non-chat providers w/ history (jupyterlab#1080)

Co-authored-by: Alan Meeson <alanmeeson@users.noreply.github.com>

* Backport PR jupyterlab#1077: Fix `/export` by including streamed agent messages (jupyterlab#1081)

Co-authored-by: Mahmut CAVDAR <4072246+mcavdar@users.noreply.github.com>

* Backport PR jupyterlab#1072: Reduced padding in cell around code icons in code toolbar (jupyterlab#1084)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1087: Improve installation documentation and clarify provider dependencies (jupyterlab#1091)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1092: Remove retired models and add new `Haiku-3.5` model in Anthropic (jupyterlab#1093)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1094: Continue to allow `$` symbols to delimit inline math in human messages (jupyterlab#1095)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1097: Update `faiss-cpu` version range (jupyterlab#1101)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1104: Fix rendering of code blocks in JupyterLab 4.3.0+ (jupyterlab#1105)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1106: Catch error on non plaintext files in `@file` and reply gracefully in chat (jupyterlab#1110)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1109: Bump LangChain minimum versions (jupyterlab#1112)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1119: Downgrade spurious 'error' logs (jupyterlab#1124)

Co-authored-by: ctcjab <joshua.bronson@chicagotrading.com>

* Backport PR jupyterlab#1127: Removes outdated OpenAI models and adds new ones (jupyterlab#1130)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1131: [pre-commit.ci] pre-commit autoupdate (jupyterlab#1132)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Backport PR jupyterlab#1125: Update model fields immediately on save (jupyterlab#1133)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1139: Fix install step in CI (jupyterlab#1140)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1129: Fix JSON serialization error in Ollama models (jupyterlab#1141)

Co-authored-by: Mr.W <janus.choy@gmail.com>

* Backport PR jupyterlab#1137: Update completion model fields immediately on save (jupyterlab#1142)

Co-authored-by: david qiu <david@qiu.dev>

* [v3-dev] Initial migration to `jupyterlab-chat` (jupyterlab#1043)

* Very first version of the AI working in jupyterlab_collaborative_chat

* Allows both collaborative and regular chat to work with AI

* handle the help message in the chat too

* Autocompletion (jupyterlab#2)

* Fix handler methods' parameters

* Add slash commands (autocompletion) to the chat input

* Stream messages (jupyterlab#3)

* Allow for stream messages

* update jupyter collaborative chat dependency

* AI settings (jupyterlab#4)

* Add a menu option to open the AI settings

* Remove the input option from the setting widget

* pre-commit

* linting

* Homogeneize typing for optional arguments

* Fix import

* Showing that the bot is writing (answering) (jupyterlab#5)

* Show that the bot is writing (answering)

* Update jupyter chat dependency

* Some typing

* Update extension to jupyterlab_chat (0.6.0) (jupyterlab#8)

* Fix linting

* Remove try/except to import jupyterlab_chat (not optional anymore), and fix typing

* linter

* Python unit tests

* Fix typing

* lint

* Fix lint and mypy all together

* Fix web_app settings accessor

* Fix jupyter_collaboration version

Co-authored-by: david qiu <44106031+dlqqq@users.noreply.github.com>

* Remove unecessary try/except

* Dedicate one set of chat handlers per room (jupyterlab#9)

* create new set of chat handlers per room

* make YChat an instance attribute on BaseChatHandler

* revert changes to chat handlers

* pre-commit

* use room_id local var

Co-authored-by: Nicolas Brichet <32258950+brichet@users.noreply.github.com>

---------

Co-authored-by: Nicolas Brichet <32258950+brichet@users.noreply.github.com>

---------

Co-authored-by: david qiu <44106031+dlqqq@users.noreply.github.com>
Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1134: Improve user messaging and documentation for Cross-Region Inference on Amazon Bedrock (jupyterlab#1143)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Backport PR jupyterlab#1136: Add base API URL field for Ollama and OpenAI embedding models (jupyterlab#1149)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* [v3-dev] Remove `/export`, `/clear`, and `/fix` (jupyterlab#1148)

* remove /export

* remove /clear

* remove /fix

* Fix CI in `v3-dev` branch (jupyterlab#1154)

* fix check release by bumping to impossible version

* fix types

* Update Playwright Snapshots

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* [v3-dev] Dedicate one LangChain history object per chat (jupyterlab#1151)

* dedicate a separate LangChain history object per chat

* pre-commit

* fix mypy

* Backport PR jupyterlab#1160: Trigger update snapshots based on commenter's role (jupyterlab#1161)

Co-authored-by: david qiu <david@qiu.dev>

* Backport PR jupyterlab#1155: Fix code output format in IPython (jupyterlab#1162)

Co-authored-by: Divyansh Choudhary <divyanshchoudhary99@gmail.com>

* Backport PR jupyterlab#1158: Update `/generate` to not split classes & functions across cells (jupyterlab#1164)

Co-authored-by: Sanjiv Das <srdas@scu.edu>

* Remove v2 frontend components (jupyterlab#1156)

* First pass to remove the front end chat

* Remove code-toolbar by using a simplified markdown renderer in settings

* Remove chat-message-menu (should be ported in jupyter-chat)

* Remove chat handler

* Follow up 'Remove chat-message-menu (should be ported in jupyter-chat)' commit

* Clean package.json

* Remove UI tests

* Remove the generative AI menu

* Remove unused components

* run yarn dedupe

---------

Co-authored-by: David L. Qiu <david@qiu.dev>

* Upgrade to `jupyterlab-chat>=0.7.0` (jupyterlab#1166)

* upgrade to jupyterlab-chat 0.7.0

* pre-commit

* upgrade to @jupyter/chat ^0.7.0 in frontend

* Remove v2 backend components (jupyterlab#1168)

* remove v2 llm memory, implement ReplyStream

* remove v2 websockets & REST handlers

* remove unused v2 data models

* fix slash command autocomplete

* fix unit tests

* remove unused _learned context provider

* fix mypy

* pre-commit

* fix optional k arg in YChatHistory

* bump jupyter chat to 0.7.1 to fix Python 3.9 tests

* revert accidentally breaking /learn

---------

Co-authored-by: Lumberbot (aka Jack) <39504233+meeseeksmachine@users.noreply.github.com>
Co-authored-by: Sanjiv Das <srdas@scu.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alan Meeson <alanmeeson@users.noreply.github.com>
Co-authored-by: Mahmut CAVDAR <4072246+mcavdar@users.noreply.github.com>
Co-authored-by: ctcjab <joshua.bronson@chicagotrading.com>
Co-authored-by: Mr.W <janus.choy@gmail.com>
Co-authored-by: Nicolas Brichet <32258950+brichet@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Divyansh Choudhary <divyanshchoudhary99@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants