Skip to content

[v3-beta] Improve reliability of ConfigManager #1354

Open
@dlqqq

Description

@dlqqq

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions