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

Allow to define block and allow lists for providers #415

Merged
merged 7 commits into from
Oct 23, 2023

Conversation

krassowski
Copy link
Member

Closes #313

The major limitation here is that it has no effect on ipython magics, which do not share the application (AIExtension) codebase (are independent of the server) and where the user would anyways be able to change the settings. I think that if one has strict requirements of not allowing certain models, they would need to block ipython magics from loading and rely on GUI interactions (which may need further work).

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.
@krassowski krassowski added the enhancement New feature or request label Oct 21, 2023
@JasonWeill
Copy link
Collaborator

Should the documentation mention how to explicitly block/allow providers?

Copy link
Collaborator

@3coins 3coins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@krassowski
Thanks for working on this. Looks great! 🚀

@3coins
Copy link
Collaborator

3coins commented Oct 23, 2023

Should the documentation mention how to explicitly block/allow providers?

+1 on updating docs, but we can probably add that.

docs/source/users/index.md Outdated Show resolved Hide resolved
docs/source/users/index.md Outdated Show resolved Hide resolved
docs/source/users/index.md Outdated Show resolved Hide resolved
Copy link
Member Author

@krassowski krassowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it be AiExtension?

docs/source/users/index.md Outdated Show resolved Hide resolved
docs/source/users/index.md Outdated Show resolved Hide resolved
docs/source/users/index.md Outdated Show resolved Hide resolved
docs/source/users/index.md Outdated Show resolved Hide resolved
@3coins 3coins merged commit 92dab10 into jupyterlab:main Oct 23, 2023
6 checks passed
3coins pushed a commit to 3coins/jupyter-ai that referenced this pull request Oct 23, 2023
* Allow to block or allow-list providers by id

* Add tests for block/allow-lists

* Fix "No language model is associated with" issue

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.

* Add docs for allow listing and block listing providers

* Updated docs

* Added an intro block to docs

* Updated the docs

---------

Co-authored-by: Piyush Jain <piyushjain@duck.com>
(cherry picked from commit 92dab10)
3coins pushed a commit to 3coins/jupyter-ai that referenced this pull request Oct 23, 2023
* Allow to block or allow-list providers by id

* Add tests for block/allow-lists

* Fix "No language model is associated with" issue

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.

* Add docs for allow listing and block listing providers

* Updated docs

* Added an intro block to docs

* Updated the docs

---------

Co-authored-by: Piyush Jain <piyushjain@duck.com>
(cherry picked from commit 92dab10)
3coins added a commit that referenced this pull request Oct 23, 2023
* Fixed conflict.

* Updates for more stable generate feature

(cherry picked from commit d9b26f5)

* Refactored generate for better stability with all providers/models.

(cherry picked from commit 608ed25)

* Upgraded LangChain to 0.0.318

(cherry picked from commit 0d247fd)

* Updated to use memory instead of chat history, fix for Bedrock Anthropic

(cherry picked from commit 7c09863)

* Allow to define block and allow lists for providers (#415)

* Allow to block or allow-list providers by id

* Add tests for block/allow-lists

* Fix "No language model is associated with" issue

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.

* Add docs for allow listing and block listing providers

* Updated docs

* Added an intro block to docs

* Updated the docs

---------

Co-authored-by: Piyush Jain <piyushjain@duck.com>
(cherry picked from commit 92dab10)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>
@krassowski
Copy link
Member Author

Thank you both for the help with the docs and for the speedy review!

Wzixiao added a commit to Wzixiao/jupyter-ai-bigcode-code-completion that referenced this pull request Oct 31, 2023
* Add E2E tests (jupyterlab#350)

* add basic e2e testing setup

* adjust execute test step name

* test sidebar chat icon, add testing class

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add sidebar snapshot

* test chat sidepanel, extend helper class

* adjust welcome message test, add snapshot

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* adjust naming

* removeempty line

* move ui-tests to packages/jupyter-ai/

* update e2e ci workflow for ui-tests folder move

* update ui-tests folder location for yarn.lock hash

* run lint locally

* Add "Update Playwright Snapshots" CI workflow

* change if clause

* specify npm client

* remove report and artifact specifiers

* Update README.md to have correct commands and folders

* update e2e/integration test README

* Add Integration / E2E testing section to the docs

* update wording of docs on snapshots

* Ignore all non-linux snapshots

* Update packages/jupyter-ai/ui-tests/README.md

Co-authored-by: Piyush Jain <piyushjain@duck.com>

* remove cd command that would return users back to root

* remove cd ../../../

* Remove repeating setup instructions

* Add suggestion to generate snapshots before the 1st run

* remove unnecessary link anchor

* remove rudimentary jlpm build

---------

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

* Adds chat anthropic provider, new models (jupyterlab#391)

* Adds chat anthropic provider, new models

* Added docs for anthropic chat

* Upgraded LangChain, fixed prompts for Bedrock

* Updated docs for bedrock-chat

* Added bedrock embeddings, refactored chat vs reg models

* Fixed magics

* Removed unused import

* Updated provider list.

Added bedrock and bedrock-chat to provider list.

* Publish 2.3.0

SHA256 hashes:

jupyter-ai-core-2.3.0.tgz: 8f37fe0f15b6f09b2eeb649ac972d2749427ed3668a03ffae9cf5b5f8f37a8ce

jupyter_ai-2.3.0-py3-none-any.whl: 09e264c40f05ef34cd188dd5804d22afe43a91e4c82ed729428377bd5c581263

jupyter_ai-2.3.0.tar.gz: 8ce44b88528195e6de1f9086994d68731b1dbbc03f0e8709baf5a8819c254462

jupyter_ai_magics-2.3.0-py3-none-any.whl: 714cf33746c121ef2b5d5c45b4460e690d6815b306a3f5f7224008866e794602

jupyter_ai_magics-2.3.0.tar.gz: 37554e53d3576a6c8938e5812764efe7749dfeda2f47d5e551111d2f6d8a5c48

* [pre-commit.ci] pre-commit autoupdate (jupyterlab#344)

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.4.0 → v4.5.0](pre-commit/pre-commit-hooks@v4.4.0...v4.5.0)
- [github.com/psf/black: 23.7.0 → 23.9.1](psf/black@23.7.0...23.9.1)
- [github.com/asottile/pyupgrade: v3.10.1 → v3.15.0](asottile/pyupgrade@v3.10.1...v3.15.0)
- [github.com/sirosen/check-jsonschema: 0.23.3 → 0.27.0](python-jsonschema/check-jsonschema@0.23.3...0.27.0)

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

* Add key completion code completion

* Add developer readme

* Fix the bug of remote call not using stram

* Comment out useless methods and improve development documentation

* Updates for more stable generate feature

* Refactored generate for better stability with all providers/models.

* Upgraded LangChain to 0.0.318

* Updated to use memory instead of chat history, fix for Bedrock Anthropic

* Optimize code naming

* Fixed the issue where enter would intercept automatic requests

* Fixed the issue where enter fails when pressing the ghost text to start.

* Allow to define block and allow lists for providers (jupyterlab#415)

* Allow to block or allow-list providers by id

* Add tests for block/allow-lists

* Fix "No language model is associated with" issue

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.

* Add docs for allow listing and block listing providers

* Updated docs

* Added an intro block to docs

* Updated the docs

---------

Co-authored-by: Piyush Jain <piyushjain@duck.com>

* Publish 2.4.0

SHA256 hashes:

jupyter-ai-core-2.4.0.tgz: 04773e2b888853cd1c27785ac3c8434226e9a279a2fd253962cb20e5e9f72c1d

jupyter_ai-2.4.0-py3-none-any.whl: a5880cc108a107c746935d7eaa2513dffa29d2812e6628fd22a972a97aba4e2a

jupyter_ai-2.4.0.tar.gz: 0d065b18f4985fb726010e76d9c6059932e21327ea2951ccaa18b6e7b5189240

jupyter_ai_magics-2.4.0-py3-none-any.whl: 585bd960ac5c254e28ea165db840276883155a0a720720aa850e3272edc2001e

jupyter_ai_magics-2.4.0.tar.gz: 2cdfb1e084aad46cdbbfb4eed64b4e7abc96ad7fde31da2ddb6899225dfa0684

* Complete autocomplete

* Animations now also exist on automatic requests

* Remove DEVELOP.md

* Added toggle for selecting mock tests

* Make the code neater

---------

Co-authored-by: Andrii Ieroshenko <aieroshe@amazon.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Piyush Jain <piyushjain@duck.com>
Co-authored-by: dlqqq <dlqqq@users.noreply.github.com>
Co-authored-by: cjq <1401875340@qq.com>
Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>
Co-authored-by: 3coins <3coins@users.noreply.github.com>
dbelgrod pushed a commit to dbelgrod/jupyter-ai that referenced this pull request Jun 10, 2024
* Allow to block or allow-list providers by id

* Add tests for block/allow-lists

* Fix "No language model is associated with" issue

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.

* Add docs for allow listing and block listing providers

* Updated docs

* Added an intro block to docs

* Updated the docs

---------

Co-authored-by: Piyush Jain <piyushjain@duck.com>
Marchlak pushed a commit to Marchlak/jupyter-ai that referenced this pull request Oct 28, 2024
* Allow to block or allow-list providers by id

* Add tests for block/allow-lists

* Fix "No language model is associated with" issue

This was appearing because the models which are blocked were not
returned (correctly!) but the previous validation logic did not
know that sometimes models may be missing for a valid reason even
if there are existing settings for these.

* Add docs for allow listing and block listing providers

* Updated docs

* Added an intro block to docs

* Updated the docs

---------

Co-authored-by: Piyush Jain <piyushjain@duck.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.

Allow to disable providers using traitlets config
3 participants