diff options
| author | sigoden <sigoden@gmail.com> | 2023-11-07 11:54:56 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-07 11:54:56 +0800 |
| commit | d40f104f667073f320a01d9c1a91aa88225ccaeb (patch) | |
| tree | df915b72efb7051a53a95439c2d8cc4627921c8e /src/config/mod.rs | |
| parent | 9a8b302432a3f9bfa1e467dde027fc92dacce3e2 (diff) | |
| download | aichat-d40f104f667073f320a01d9c1a91aa88225ccaeb.tar.gz | |
feat: allow the use of an unlisted model (#219)
Diffstat (limited to 'src/config/mod.rs')
| -rw-r--r-- | src/config/mod.rs | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs index 1720772..e6fef5f 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -305,17 +305,9 @@ impl Config { pub fn set_model(&mut self, value: &str) -> Result<()> { let models = list_models(self); - let mut model = None; - let value = value.trim_end_matches(':'); - if value.contains(':') { - if let Some(found) = models.iter().find(|v| v.id() == value) { - model = Some(found.clone()); - } - } else if let Some(found) = models.iter().find(|v| v.client_name == value) { - model = Some(found.clone()); - } + let model = Model::find(&models, value); match model { - None => bail!("Unknown model '{}'", value), + None => bail!("Invalid model '{}'", value), Some(model) => { if let Some(session) = self.session.as_mut() { session.set_model(model.clone())?; |
