summaryrefslogtreecommitdiffstats
path: root/src/config/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-11-07 11:54:56 +0800
committerGitHub <noreply@github.com>2023-11-07 11:54:56 +0800
commitd40f104f667073f320a01d9c1a91aa88225ccaeb (patch)
treedf915b72efb7051a53a95439c2d8cc4627921c8e /src/config/mod.rs
parent9a8b302432a3f9bfa1e467dde027fc92dacce3e2 (diff)
downloadaichat-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.rs12
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())?;