From 89560561209c430d61d18acfcfe694579181e7ca Mon Sep 17 00:00:00 2001 From: Meng Zhang Date: Mon, 29 May 2023 17:40:16 -0700 Subject: [PATCH] fix: support local model path (#165) --- crates/tabby/src/serve/completions.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/crates/tabby/src/serve/completions.rs b/crates/tabby/src/serve/completions.rs index f634923..7747f78 100644 --- a/crates/tabby/src/serve/completions.rs +++ b/crates/tabby/src/serve/completions.rs @@ -67,9 +67,7 @@ pub struct CompletionState { impl CompletionState { pub fn new(args: &crate::serve::ServeArgs) -> Self { - let home = std::env::var("HOME").unwrap(); - let tabby_root = format!("{}/.tabby", home); - let model_dir = Path::new(&tabby_root).join("models").join(&args.model); + let model_dir = get_model_dir(&args.model); let metadata = read_metadata(&model_dir); let device = format!("{}", args.device); @@ -87,6 +85,16 @@ impl CompletionState { } } +fn get_model_dir(model: &str) -> std::path::PathBuf { + if Path::new(model).exists() { + Path::new(model).to_path_buf() + } else { + let home = std::env::var("HOME").unwrap(); + let tabby_root = format!("{}/.tabby", home); + Path::new(&tabby_root).join("models").join(model) + } +} + fn timestamp() -> u64 { use std::time::{SystemTime, UNIX_EPOCH}; let start = SystemTime::now();