mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-11-10 10:27:03 +00:00
common: move download functions to download.(cpp|h) (#17059)
* common: move download functions to download.(cpp|h) * rm unused includes * minor cleanup --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
This commit is contained in:
@@ -56,6 +56,8 @@ add_library(${TARGET} STATIC
|
|||||||
common.h
|
common.h
|
||||||
console.cpp
|
console.cpp
|
||||||
console.h
|
console.h
|
||||||
|
download.cpp
|
||||||
|
download.h
|
||||||
http.h
|
http.h
|
||||||
json-partial.cpp
|
json-partial.cpp
|
||||||
json-partial.h
|
json-partial.h
|
||||||
|
|||||||
1004
common/arg.cpp
1004
common/arg.cpp
File diff suppressed because it is too large
Load Diff
@@ -59,8 +59,8 @@ struct common_arg {
|
|||||||
common_arg & set_sparam();
|
common_arg & set_sparam();
|
||||||
bool in_example(enum llama_example ex);
|
bool in_example(enum llama_example ex);
|
||||||
bool is_exclude(enum llama_example ex);
|
bool is_exclude(enum llama_example ex);
|
||||||
bool get_value_from_env(std::string & output);
|
bool get_value_from_env(std::string & output) const;
|
||||||
bool has_value_from_env();
|
bool has_value_from_env() const;
|
||||||
std::string to_string();
|
std::string to_string();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
1014
common/download.cpp
Normal file
1014
common/download.cpp
Normal file
File diff suppressed because it is too large
Load Diff
41
common/download.h
Normal file
41
common/download.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
struct common_params_model;
|
||||||
|
|
||||||
|
//
|
||||||
|
// download functionalities
|
||||||
|
//
|
||||||
|
|
||||||
|
struct common_hf_file_res {
|
||||||
|
std::string repo; // repo name with ":tag" removed
|
||||||
|
std::string ggufFile;
|
||||||
|
std::string mmprojFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
// resolve and download model from Docker registry
|
||||||
|
// return local path to downloaded model file
|
||||||
|
std::string common_docker_resolve_model(const std::string & docker);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allow getting the HF file from the HF repo with tag (like ollama), for example:
|
||||||
|
* - bartowski/Llama-3.2-3B-Instruct-GGUF:q4
|
||||||
|
* - bartowski/Llama-3.2-3B-Instruct-GGUF:Q4_K_M
|
||||||
|
* - bartowski/Llama-3.2-3B-Instruct-GGUF:q5_k_s
|
||||||
|
* Tag is optional, default to "latest" (meaning it checks for Q4_K_M first, then Q4, then if not found, return the first GGUF file in repo)
|
||||||
|
*
|
||||||
|
* Return pair of <repo, file> (with "repo" already having tag removed)
|
||||||
|
*
|
||||||
|
* Note: we use the Ollama-compatible HF API, but not using the blobId. Instead, we use the special "ggufFile" field which returns the value for "hf_file". This is done to be backward-compatible with existing cache files.
|
||||||
|
*/
|
||||||
|
common_hf_file_res common_get_hf_file(
|
||||||
|
const std::string & hf_repo_with_tag,
|
||||||
|
const std::string & bearer_token,
|
||||||
|
bool offline);
|
||||||
|
|
||||||
|
// returns true if download succeeded
|
||||||
|
bool common_download_model(
|
||||||
|
const common_params_model & model,
|
||||||
|
const std::string & bearer_token,
|
||||||
|
bool offline);
|
||||||
Reference in New Issue
Block a user