Skip to content

[v3-beta] Improve reliability of ConfigManager #1354

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

Open
dlqqq opened this issue May 27, 2025 · 0 comments
Open

[v3-beta] Improve reliability of ConfigManager #1354

dlqqq opened this issue May 27, 2025 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@dlqqq
Copy link
Member

dlqqq commented May 27, 2025

Problem

The ConfigManager has caused several bugs for Jupyter AI users in the past.

Proposed Solution

  • Remove the "config schema" feature in ConfigManager, which is largely unused. The config schema has introduced significant complexity because it adds an additional layer of validation instead of re-using our existing validators like Pydantic. The schema file also needs to be migrated when Jupyter AI adds a new field in a future release.

  • Explore separating API keys away from model providers and just allow users to add any key name w/ any key value. Allow users to select which API key gets used per-model. Sometimes users need multiple API keys for the same provider.

  • Explore making config scoped to the Python environment instead of being globally available to all environments. This would prevent any bug introduced by using multiple versions of JAI simultaneously.

  • See proposal in [v3-beta] EPIC: Define new API for models & model providers #1312 as well.

Additional context

@ellisonbg What are your thoughts on this? Since this may introduce API-breaking changes, I think this makes sense to address prior to v3, but I can move this to v3-future if you think that is preferable.

@dlqqq dlqqq added this to the v3-beta milestone May 27, 2025
@dlqqq dlqqq added the enhancement New feature or request label May 27, 2025
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

No branches or pull requests

1 participant