summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2025-02-17 07:45:01 +0800
committerGitHub <noreply@github.com>2025-02-17 07:45:01 +0800
commitf14f1ad01bf31bb4bb4322661691be9392c30acf (patch)
treed704d1e5e74e083205b50523859118e951e2ecdc /src
parent5efdb3c666c5f5125260bd9f116f7cc2e7ba06b1 (diff)
downloadaichat-f14f1ad01bf31bb4bb4322661691be9392c30acf.tar.gz
refactor: several improvements (#1180)
Diffstat (limited to 'src')
-rw-r--r--src/client/common.rs4
-rw-r--r--src/utils/request.rs5
2 files changed, 5 insertions, 4 deletions
diff --git a/src/client/common.rs b/src/client/common.rs
index efa86f6..89523c7 100644
--- a/src/client/common.rs
+++ b/src/client/common.rs
@@ -25,7 +25,7 @@ lazy_static::lazy_static! {
pub static ref ALL_PROVIDER_MODELS: Vec<ProviderModels> = {
Config::loal_models_override().ok().unwrap_or_else(|| serde_yaml::from_str(MODELS_YAML).unwrap())
};
- static ref EMBEDDING_MODEL_RE: Regex = Regex::new(r"(^(bge-|e5-|uae-|gte-|text-)|embed|multilingual|minilm)").unwrap();
+ static ref EMBEDDING_MODEL_RE: Regex = Regex::new(r"((^|/)(bge-|e5-|uae-|gte-|text-)|embed|multilingual|minilm)").unwrap();
static ref ESCAPE_SLASH_RE: Regex = Regex::new(r"(?<!\\)/").unwrap();
}
@@ -580,7 +580,7 @@ async fn set_client_models_config(client_config: &mut Value, client: &str) -> Re
.prompt()?;
}
Err(err) => {
- eprintln!("✗ Unable to fetch models: {err}");
+ eprintln!("✗ Fetch models failed: {err}");
}
}
}
diff --git a/src/utils/request.rs b/src/utils/request.rs
index 54db9d4..4516806 100644
--- a/src/utils/request.rs
+++ b/src/utils/request.rs
@@ -168,7 +168,7 @@ pub async fn fetch_models(api_base: &str, api_key: Option<&str>) -> Result<Vec<S
builder = builder.bearer_auth(api_key);
}
let res_body: Value = builder.send().await?.json().await?;
- let result: Vec<String> = res_body
+ let mut result: Vec<String> = res_body
.get("data")
.and_then(|v| v.as_array())
.map(|v| {
@@ -178,8 +178,9 @@ pub async fn fetch_models(api_base: &str, api_key: Option<&str>) -> Result<Vec<S
})
.unwrap_or_default();
if result.is_empty() {
- bail!("No models")
+ bail!("No valid models")
}
+ result.sort_unstable();
Ok(result)
}