diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/common.rs | 4 | ||||
| -rw-r--r-- | src/utils/request.rs | 5 |
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) } |
