diff --git a/assets/settings/default.json b/assets/settings/default.json index 059608ae04..e6842ae4fa 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -2427,7 +2427,7 @@ "ollama": { "api_url": "http://localhost:11434", }, - "llama_cpp": { + "llama.cpp": { "api_url": "http://localhost:8080", }, "openai": { diff --git a/crates/language_models/src/provider/llama_cpp.rs b/crates/language_models/src/provider/llama_cpp.rs index 935ec74f9a..921a2ae63e 100644 --- a/crates/language_models/src/provider/llama_cpp.rs +++ b/crates/language_models/src/provider/llama_cpp.rs @@ -36,7 +36,7 @@ use crate::AllLanguageModelSettings; const LLAMA_CPP_DOWNLOAD_URL: &str = "https://llama.app"; const LLAMA_CPP_MODELS_URL: &str = "https://huggingface.co/models?library=gguf&sort=trending"; -const PROVIDER_ID: LanguageModelProviderId = LanguageModelProviderId::new("llama_cpp"); +const PROVIDER_ID: LanguageModelProviderId = LanguageModelProviderId::new("llama.cpp"); const PROVIDER_NAME: LanguageModelProviderName = LanguageModelProviderName::new("llama.cpp"); const API_KEY_ENV_VAR_NAME: &str = "LLAMACPP_API_KEY"; @@ -448,7 +448,7 @@ fn display_name_for(id: &str) -> String { } fn telemetry_id_for(id: &str) -> String { - format!("llama_cpp/{}", display_name_for(id)) + format!("{PROVIDER_ID}/{}", display_name_for(id)) } impl LlamaCppLanguageModelProvider { @@ -1656,13 +1656,13 @@ mod tests { fn telemetry_id_strips_local_model_paths() { assert_eq!( telemetry_id_for("/Users/alice/models/Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf"), - "llama_cpp/Qwen2.5-Coder-7B-Instruct-Q4_K_M" + "llama.cpp/Qwen2.5-Coder-7B-Instruct-Q4_K_M" ); assert_eq!( telemetry_id_for(r"C:\Users\alice\models\Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf"), - "llama_cpp/Qwen2.5-Coder-7B-Instruct-Q4_K_M" + "llama.cpp/Qwen2.5-Coder-7B-Instruct-Q4_K_M" ); - assert_eq!(telemetry_id_for("my-alias"), "llama_cpp/my-alias"); + assert_eq!(telemetry_id_for("my-alias"), "llama.cpp/my-alias"); } #[test] diff --git a/crates/settings_content/src/language_model.rs b/crates/settings_content/src/language_model.rs index ab11097728..e58f3dcc02 100644 --- a/crates/settings_content/src/language_model.rs +++ b/crates/settings_content/src/language_model.rs @@ -15,6 +15,7 @@ pub struct AllLanguageModelSettingsContent { pub bedrock: Option, pub deepseek: Option, pub google: Option, + #[serde(rename = "llama.cpp")] pub llama_cpp: Option, pub lmstudio: Option, pub mistral: Option, diff --git a/docs/src/ai/use-a-local-model.md b/docs/src/ai/use-a-local-model.md index 89984d10f3..5ffc60172c 100644 --- a/docs/src/ai/use-a-local-model.md +++ b/docs/src/ai/use-a-local-model.md @@ -39,7 +39,7 @@ Zed automatically discovers the served models with their context length and tool ```json [settings] { "language_models": { - "llama_cpp": { + "llama.cpp": { "api_url": "http://localhost:8080", "auto_discover": false, "available_models": [ @@ -63,7 +63,7 @@ Zed uses the context length the server reports (`/props`). Override it for all m ```json [settings] { "language_models": { - "llama_cpp": { + "llama.cpp": { "context_window": 8192 } }