From d41942975d89efa9ae7249dbe5edc2a1bff12ff8 Mon Sep 17 00:00:00 2001 From: Meng Zhang Date: Wed, 15 Nov 2023 19:33:38 -0800 Subject: [PATCH] feat: match local model directory to MODEL_SPEC.md (#800) --- crates/tabby-common/src/registry.rs | 15 +++++++++++---- crates/tabby-download/src/lib.rs | 2 ++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/crates/tabby-common/src/registry.rs b/crates/tabby-common/src/registry.rs index 7db5c91..642e39d 100644 --- a/crates/tabby-common/src/registry.rs +++ b/crates/tabby-common/src/registry.rs @@ -58,11 +58,18 @@ impl ModelRegistry { } } + fn get_model_dir(&self, name: &str) -> PathBuf { + models_dir().join(&self.name).join(name) + } + pub fn get_model_path(&self, name: &str) -> PathBuf { - models_dir() - .join(&self.name) - .join(name) - .join(GGML_MODEL_RELATIVE_PATH) + self.get_model_dir(name).join(GGML_MODEL_RELATIVE_PATH) + } + + pub fn save_model_info(&self, name: &str) { + let model_info = self.get_model_info(name); + let path = self.get_model_dir(name).join("tabby.json"); + serdeconv::to_json_file(model_info, path).unwrap(); } pub fn get_model_info(&self, name: &str) -> &ModelInfo { diff --git a/crates/tabby-download/src/lib.rs b/crates/tabby-download/src/lib.rs index 34ca978..4167fd7 100644 --- a/crates/tabby-download/src/lib.rs +++ b/crates/tabby-download/src/lib.rs @@ -15,6 +15,8 @@ async fn download_model_impl( prefer_local_file: bool, ) -> Result<()> { let model_info = registry.get_model_info(name); + registry.save_model_info(name); + let model_path = registry.get_model_path(name); if model_path.exists() { if !prefer_local_file {