mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-26 03:14:35 +00:00
url: save -mu downloads to new cache location (#7826)
* url: save -mu download to new cache location * url: fs_get_cache_file_path util * url: tweak sig of fs_get_cache_file
This commit is contained in:
parent
7a16ce7db2
commit
d4d915d351
@ -200,19 +200,13 @@ void gpt_params_handle_model_default(gpt_params & params) {
|
|||||||
}
|
}
|
||||||
params.hf_file = params.model;
|
params.hf_file = params.model;
|
||||||
} else if (params.model.empty()) {
|
} else if (params.model.empty()) {
|
||||||
std::string cache_directory = fs_get_cache_directory();
|
params.model = fs_get_cache_file(string_split(params.hf_file, '/').back());
|
||||||
const bool success = fs_create_directory_with_parents(cache_directory);
|
|
||||||
if (!success) {
|
|
||||||
throw std::runtime_error("failed to create cache directory: " + cache_directory);
|
|
||||||
}
|
|
||||||
params.model = cache_directory + string_split(params.hf_file, '/').back();
|
|
||||||
}
|
}
|
||||||
} else if (!params.model_url.empty()) {
|
} else if (!params.model_url.empty()) {
|
||||||
if (params.model.empty()) {
|
if (params.model.empty()) {
|
||||||
auto f = string_split(params.model_url, '#').front();
|
auto f = string_split(params.model_url, '#').front();
|
||||||
f = string_split(f, '?').front();
|
f = string_split(f, '?').front();
|
||||||
f = string_split(f, '/').back();
|
params.model = fs_get_cache_file(string_split(f, '/').back());
|
||||||
params.model = "models/" + f;
|
|
||||||
}
|
}
|
||||||
} else if (params.model.empty()) {
|
} else if (params.model.empty()) {
|
||||||
params.model = DEFAULT_MODEL_PATH;
|
params.model = DEFAULT_MODEL_PATH;
|
||||||
@ -2279,6 +2273,16 @@ std::string fs_get_cache_directory() {
|
|||||||
return ensure_trailing_slash(cache_directory);
|
return ensure_trailing_slash(cache_directory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string fs_get_cache_file(const std::string & filename) {
|
||||||
|
GGML_ASSERT(filename.find(DIRECTORY_SEPARATOR) == std::string::npos);
|
||||||
|
std::string cache_directory = fs_get_cache_directory();
|
||||||
|
const bool success = fs_create_directory_with_parents(cache_directory);
|
||||||
|
if (!success) {
|
||||||
|
throw std::runtime_error("failed to create cache directory: " + cache_directory);
|
||||||
|
}
|
||||||
|
return cache_directory + filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Model utils
|
// Model utils
|
||||||
|
@ -277,6 +277,7 @@ bool fs_validate_filename(const std::string & filename);
|
|||||||
bool fs_create_directory_with_parents(const std::string & path);
|
bool fs_create_directory_with_parents(const std::string & path);
|
||||||
|
|
||||||
std::string fs_get_cache_directory();
|
std::string fs_get_cache_directory();
|
||||||
|
std::string fs_get_cache_file(const std::string & filename);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Model utils
|
// Model utils
|
||||||
|
Loading…
Reference in New Issue
Block a user