More OpenAI configurability #23426
Replies: 2 comments 2 replies
-
Being able to configure multiple endpoints/apikeys for the same underlying "provider" is a duplicate of: As the number of models/providers grows the single monolithic list of models is definitely becoming harder to use. There have been some mocks of alternatives done internally (multiple dropdowns; folding by provider; pinning specific models, hiding models, etc) but we haven't landed on anything specific yet. I'm going go ahead and migrate this to a discussion in case folks have further ideas. Thanks for reporting. |
Beta Was this translation helpful? Give feedback.
-
I'd also like to see this, and I'd be happy to contribute if manpower is needed. Sort of just spitballing, in case these thoughts are helpful: It does seem it's common in projects to have "OpenAI" configuration and then override the base URL (cline does something similar too), but this feels a bit wrong to me. For one, it means you can only use a single OpenAI-like provider at a time. The design proposed in the original comment doesn't have this limitation, but it feels wrong marking groq under a key of To me, it feels like there are certain API 'formats'1; this includes the authentication mechanism, and perhaps an endpoint to list the models supported. Then there are actual providers which follow some API format, and provide some models. Each model needs to define certain properties needed for Zed (things like Under such an abstraction, I think one could easily define (an unlimited number of) additional models and providers through the config file? That frees the need of PRs like #23425 to update models, or hacks like #15732 (comment) to support additional providers. Then, the config might be something like:
It'd need some more thinking on how to nicely expose this to a GUI, and how to merge user-defined configuration with defaults. Footnotes
|
Beta Was this translation helpful? Give feedback.
-
Check for existing issues
Describe the feature
tl;dr I'd like a way to remove models and possibly use separate APIs and reorder models
For context, if you reconfigure your OpenAI base URL, the models get really pushed down. You also can't have two different OpenAI base URLs.
Continue to the mockup section for some of my ideas.
Environment
If applicable, add mockups / screenshots to help present your vision of the feature
So the main thing I'd like is a way to disable models that are unneeded.
There's a few ways this could work:
This would look like the existing model chooser but with
x
or-
buttons to remove models.This could have the bonus of allowing reordering of models if dragging was enabled.
The second thing I'd like is to allow multiple URLs. Both ways of doing this require Zed to store separate auth tokens for each API URL:
or it could look like
Beta Was this translation helpful? Give feedback.
All reactions