* 12-factor: support setting via env vars, config files, api, etc
* decoupling auth config from model config
* supporting registration of multiple auths & models, not just one, including via 12-factor
* streamlining ability of llm apps to negotitate which llm models
* inferring & validating matchup of what your model provider gives and your app configures & requests, ideally at config or load time, and in a testable way
* transparent native support for each provider, as each provider & api has annoying deviations & useful features that end up being relevant. Ex: even openai vs azure openai has differences like the notion of 'deployments' and around rate limits that should be handled but also exposed
* observability: introspection hooks, including configuration for opentelemetry metrics, telemetry, & logs, including tenant/user dictionaries
Without that kind of stuff, a third-party dependency is more annoying than useful for 'serious' implementations, b/c we ended up fighting the library vs using
(And we'd be happy to OSS etc if relevant.. such a bear!)