summaryrefslogtreecommitdiffstats
path: root/src/serve.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-12-04 21:03:59 +0800
committerGitHub <noreply@github.com>2024-12-04 21:03:59 +0800
commit3a3388375be05758d5f5574cce1d0f8eb7bdd604 (patch)
treecc8e19e218c20f28a04feca33850fce4bb2cbe98 /src/serve.rs
parent7d42fe9429f75d195f865b07cef10d040d5397f2 (diff)
downloadaichat-3a3388375be05758d5f5574cce1d0f8eb7bdd604.tar.gz
refactor: improve retrieve model (#1036)
- check the model type while retrieve model - select chat/reranker model even if it is missed in client models - find predefined-models for openai-compatible client with startsWith - remove client::ApiType
Diffstat (limited to 'src/serve.rs')
-rw-r--r--src/serve.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/serve.rs b/src/serve.rs
index c19be1f..b3fe5e0 100644
--- a/src/serve.rs
+++ b/src/serve.rs
@@ -75,7 +75,7 @@ impl Server {
fn new(config: &GlobalConfig) -> Self {
let mut config = config.read().clone();
config.functions = Functions::default();
- let mut models = list_models(&config);
+ let mut models = list_all_models(&config);
let mut default_model = config.model.clone();
default_model.data_mut().name = DEFAULT_MODEL_NAME.into();
models.insert(0, &default_model);
@@ -483,7 +483,8 @@ impl Server {
let config = Arc::new(RwLock::new(self.config.clone()));
- let embedding_model = Model::retrieve_embedding(&config.read(), &embedding_model_id)?;
+ let embedding_model =
+ Model::retrieve_model(&config.read(), &embedding_model_id, ModelType::Embedding)?;
let texts = match input {
EmbeddingsReqBodyInput::Single(v) => vec![v],
@@ -542,7 +543,8 @@ impl Server {
let config = Arc::new(RwLock::new(self.config.clone()));
- let reranker_model = Model::retrieve_embedding(&config.read(), &reranker_model_id)?;
+ let reranker_model =
+ Model::retrieve_model(&config.read(), &reranker_model_id, ModelType::Reranker)?;
let client = init_client(&config, Some(reranker_model))?;
let data = client