Associate each thread with a model (#29573)
This PR makes it possible to use different LLM models in the agent panels of two different projects, simultaneously. It also properly restores a thread's original model when restoring it from the history, rather than having it use the default model. As before, newly-created threads will use the current default model. Release Notes: - Enabled different project windows to use different models in the agent panel - Enhanced the agent panel so that when revisiting old threads, their original model will be used. --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
This commit is contained in:
parent
5102c4c002
commit
17903a0999
15 changed files with 168 additions and 114 deletions
|
@ -39,10 +39,14 @@ pub use crate::telemetry::*;
|
|||
pub const ZED_CLOUD_PROVIDER_ID: &str = "zed.dev";
|
||||
|
||||
pub fn init(client: Arc<Client>, cx: &mut App) {
|
||||
registry::init(cx);
|
||||
init_settings(cx);
|
||||
RefreshLlmTokenListener::register(client.clone(), cx);
|
||||
}
|
||||
|
||||
pub fn init_settings(cx: &mut App) {
|
||||
registry::init(cx);
|
||||
}
|
||||
|
||||
/// The availability of a [`LanguageModel`].
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||
pub enum LanguageModelAvailability {
|
||||
|
|
|
@ -188,7 +188,7 @@ impl LanguageModelRegistry {
|
|||
.collect::<Vec<_>>();
|
||||
}
|
||||
|
||||
fn select_model(
|
||||
pub fn select_model(
|
||||
&mut self,
|
||||
selected_model: &SelectedModel,
|
||||
cx: &mut Context<Self>,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue