diff options
Diffstat (limited to 'src/client/common.rs')
| -rw-r--r-- | src/client/common.rs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/client/common.rs b/src/client/common.rs index 89e0367..3b89d11 100644 --- a/src/client/common.rs +++ b/src/client/common.rs @@ -16,18 +16,23 @@ use inquire::{ use reqwest::{Client as ReqwestClient, RequestBuilder}; use serde::Deserialize; use serde_json::{json, Value}; +use std::sync::LazyLock; use std::time::Duration; use tokio::sync::mpsc::unbounded_channel; const MODELS_YAML: &str = include_str!("../../models.yaml"); -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 ESCAPE_SLASH_RE: Regex = Regex::new(r"(?<!\\)/").unwrap(); -} +pub static ALL_PROVIDER_MODELS: LazyLock<Vec<ProviderModels>> = LazyLock::new(|| { + Config::loal_models_override() + .ok() + .unwrap_or_else(|| serde_yaml::from_str(MODELS_YAML).unwrap()) +}); + +static EMBEDDING_MODEL_RE: LazyLock<Regex> = LazyLock::new(|| { + Regex::new(r"((^|/)(bge-|e5-|uae-|gte-|text-)|embed|multilingual|minilm)").unwrap() +}); + +static ESCAPE_SLASH_RE: LazyLock<Regex> = LazyLock::new(|| Regex::new(r"(?<!\\)/").unwrap()); #[async_trait::async_trait] pub trait Client: Sync + Send { |
