} else if (!params.model_url.empty()) {
model = common_load_model_from_url(params.model_url, params.model, params.hf_token, mparams);
} else {
- model = llama_load_model_from_file(params.model.c_str(), mparams);
+ model = llama_model_load_from_file(params.model.c_str(), mparams);
}
if (model == NULL) {
}
if (!ok) {
- llama_free_model(model);
+ llama_model_free(model);
return iparams;
}
llama_context * lctx = llama_new_context_with_model(model, cparams);
if (lctx == NULL) {
LOG_ERR("%s: failed to create context with model '%s'\n", __func__, params.model.c_str());
- llama_free_model(model);
+ llama_model_free(model);
return iparams;
}
const auto cvec = common_control_vector_load(params.control_vectors);
if (cvec.n_embd == -1) {
llama_free(lctx);
- llama_free_model(model);
+ llama_model_free(model);
return iparams;
}
params.control_vector_layer_end);
if (err) {
llama_free(lctx);
- llama_free_model(model);
+ llama_model_free(model);
return iparams;
}
if (lora == nullptr) {
LOG_ERR("%s: failed to apply lora adapter '%s'\n", __func__, la.path.c_str());
llama_free(lctx);
- llama_free_model(model);
+ llama_model_free(model);
return iparams;
}
}
}
- return llama_load_model_from_file(local_path.c_str(), params);
+ return llama_model_load_from_file(local_path.c_str(), params);
}
struct llama_model * common_load_model_from_hf(
llama_model_params model_params = common_model_params_to_llama(params);
- llama_model * model = llama_load_model_from_file(params.model.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(params.model.c_str(), model_params);
if (model == NULL) {
fprintf(stderr , "%s: error: unable to load model\n" , __func__);
llama_batch_free(batch);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
llama_backend_free();
llama_model_params model_params = common_model_params_to_llama(params);
- llama_model * model = llama_load_model_from_file(params.model.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(params.model.c_str(), model_params);
if (model == NULL) {
LOG_ERR("%s: error: unable to load model\n" , __func__);
llama_sampler_free(smpl);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
llama_backend_free();
llama_backend_init();
- llama_model * model = llama_load_model_from_file(params.model.c_str(), mparams);
+ llama_model * model = llama_model_load_from_file(params.model.c_str(), mparams);
// create generation context
llama_context * ctx = llama_new_context_with_model(model, cparams);
llama_sampler_free(smpl);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
llama_backend_free();
return 0;
// keep the same model between tests when possible
if (!lmodel || !prev_inst || !inst.equal_mparams(*prev_inst)) {
if (lmodel) {
- llama_free_model(lmodel);
+ llama_model_free(lmodel);
}
- lmodel = llama_load_model_from_file(inst.model.c_str(), inst.to_llama_mparams());
+ lmodel = llama_model_load_from_file(inst.model.c_str(), inst.to_llama_mparams());
if (lmodel == NULL) {
fprintf(stderr, "%s: error: failed to load model '%s'\n", __func__, inst.model.c_str());
return 1;
llama_context * ctx = llama_new_context_with_model(lmodel, inst.to_llama_cparams());
if (ctx == NULL) {
fprintf(stderr, "%s: error: failed to create context with model '%s'\n", __func__, inst.model.c_str());
- llama_free_model(lmodel);
+ llama_model_free(lmodel);
return 1;
}
ggml_threadpool_free_fn(threadpool);
}
- llama_free_model(lmodel);
+ llama_model_free(lmodel);
if (p) {
p->print_footer();
llama_model_params model_params = common_model_params_to_llama(*params);
- llama_model * model = llama_load_model_from_file(params->model.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(params->model.c_str(), model_params);
if (model == NULL) {
LOG_ERR("%s: unable to load model\n" , __func__);
return NULL;
}
llama_free(ctx_llava->ctx_llama);
- llama_free_model(ctx_llava->model);
+ llama_model_free(ctx_llava->model);
llama_backend_free();
}
}
}
- llama_free_model(model);
+ llama_model_free(model);
return 0;
}
llama_model_params model_params = common_model_params_to_llama(*params);
- llama_model * model = llama_load_model_from_file(params->model.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(params->model.c_str(), model_params);
if (model == NULL) {
LOG_ERR("%s: unable to load model\n" , __func__);
return NULL;
}
llama_free(ctx_llava->ctx_llama);
- llama_free_model(ctx_llava->model);
+ llama_model_free(ctx_llava->model);
llama_backend_free();
}
llama_model_params model_params = common_model_params_to_llama(*params);
- llama_model * model = llama_load_model_from_file(params->model.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(params->model.c_str(), model_params);
if (model == NULL) {
LOG_ERR("%s: unable to load model\n" , __func__);
return NULL;
}
llama_free(ctx_llava->ctx_llama);
- llama_free_model(ctx_llava->model);
+ llama_model_free(ctx_llava->model);
llama_backend_free();
}
}
}
- llama_free_model(model);
+ llama_model_free(model);
return 0;
}
llama_model_params model_params = common_model_params_to_llama(params);
- llama_model * model = llama_load_model_from_file(params.model.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(params.model.c_str(), model_params);
if (model == NULL) {
LOG_ERR("%s: unable to load model\n" , __func__);
llama_batch_free(batch);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
llama_backend_free();
auto mparams = llama_model_default_params();
mparams.use_mlock = false;
- model = llama_load_model_from_file(params.model.c_str(), mparams);
+ model = llama_model_load_from_file(params.model.c_str(), mparams);
if (model == NULL) {
fprintf(stderr, "%s: error: failed to load model '%s'\n", __func__, params.model.c_str());
if (ctx == NULL) {
fprintf(stderr, "%s: error: failed to create context with model '%s'\n", __func__, params.model.c_str());
- llama_free_model(model);
+ llama_model_free(model);
return 1;
}
}
fprintf(stderr, "%s: error: Quantization should be tested with a float model, "
"this model contains already quantized layers (%s is type %d)\n", __func__, kv_tensor.first.c_str(), kv_tensor.second->type);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
return 1;
}
included_layers++;
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
// report timing
{
const int64_t t_main_end_us = ggml_time_us();
"\r%*s"
"\rLoading model",
get_terminal_width(), " ");
- llama_model_ptr model(llama_load_model_from_file(opt.model_.c_str(), opt.model_params));
+ llama_model_ptr model(llama_model_load_from_file(opt.model_.c_str(), opt.model_params));
if (!model) {
printe("%s: error: unable to load model from file: %s\n", __func__, opt.model_.c_str());
}
llama_model_params model_params = llama_model_default_params();
model_params.n_gpu_layers = ngl;
- llama_model * model = llama_load_model_from_file(model_path.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(model_path.c_str(), model_params);
if (!model) {
fprintf(stderr , "%s: error: unable to load model\n" , __func__);
return 1;
}
llama_sampler_free(smpl);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
return 0;
}
llama_model_params model_params = llama_model_default_params();
model_params.n_gpu_layers = ngl;
- llama_model * model = llama_load_model_from_file(model_path.c_str(), model_params);
+ llama_model * model = llama_model_load_from_file(model_path.c_str(), model_params);
if (model == NULL) {
fprintf(stderr , "%s: error: unable to load model\n" , __func__);
llama_sampler_free(smpl);
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
return 0;
}
llama_model_params model_params = llama_model_default_params();
model_params.vocab_only = true;
- llama_model * model = llama_load_model_from_file(model_path, model_params);
+ llama_model * model = llama_model_load_from_file(model_path, model_params);
if (!model) {
fprintf(stderr, "Error: could not load model from file '%s'.\n", model_path);
return 1;
}
// silence valgrind
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
return 0;
}
#include "llama.h"
struct llama_model_deleter {
- void operator()(llama_model * model) { llama_free_model(model); }
+ void operator()(llama_model * model) { llama_model_free(model); }
};
struct llama_context_deleter {
// Call once at the end of the program - currently only used for MPI
LLAMA_API void llama_backend_free(void);
- LLAMA_API struct llama_model * llama_load_model_from_file(
+ DEPRECATED(LLAMA_API struct llama_model * llama_load_model_from_file(
+ const char * path_model,
+ struct llama_model_params params),
+ "use llama_model_load_from_file instead");
+
+ LLAMA_API struct llama_model * llama_model_load_from_file(
const char * path_model,
struct llama_model_params params);
- // TODO: rename to llama_model_free
- LLAMA_API void llama_free_model(struct llama_model * model);
+ DEPRECATED(LLAMA_API void llama_free_model(struct llama_model * model),
+ "use llama_model_free instead");
+
+ LLAMA_API void llama_model_free(struct llama_model * model);
// TODO: rename to llama_init_from_model
LLAMA_API struct llama_context * llama_new_context_with_model(
}
void llama_free_model(struct llama_model * model) {
+ llama_model_free(model);
+}
+
+void llama_model_free(struct llama_model * model) {
delete model;
}
struct llama_model * llama_load_model_from_file(
const char * path_model,
struct llama_model_params params) {
+ return llama_model_load_from_file(path_model, params);
+}
+
+struct llama_model * llama_model_load_from_file(
+ const char * path_model,
+ struct llama_model_params params) {
ggml_time_init();
llama_model * model = new llama_model;
ggml_backend_reg_t rpc_reg = ggml_backend_reg_by_name("RPC");
if (!rpc_reg) {
LLAMA_LOG_ERROR("%s: failed to find RPC backend\n", __func__);
- llama_free_model(model);
+ llama_model_free(model);
return nullptr;
}
ggml_backend_rpc_add_device_t ggml_backend_rpc_add_device_fn = (ggml_backend_rpc_add_device_t) ggml_backend_reg_get_proc_address(rpc_reg, "ggml_backend_rpc_add_device");
if (!ggml_backend_rpc_add_device_fn) {
LLAMA_LOG_ERROR("%s: failed to find RPC device add function\n", __func__);
- llama_free_model(model);
+ llama_model_free(model);
return nullptr;
}
model->devices.push_back(dev);
} else {
LLAMA_LOG_ERROR("%s: failed to add RPC device for server '%s'\n", __func__, server.c_str());
- llama_free_model(model);
+ llama_model_free(model);
return nullptr;
}
}
if (params.split_mode == LLAMA_SPLIT_MODE_NONE) {
if (params.main_gpu < 0 || params.main_gpu >= (int)model->devices.size()) {
LLAMA_LOG_ERROR("%s: invalid value for main_gpu: %d (available devices: %d)\n", __func__, params.main_gpu, (int)model->devices.size());
- llama_free_model(model);
+ llama_model_free(model);
return nullptr;
}
ggml_backend_dev_t main_gpu = model->devices[params.main_gpu];
LLAMA_LOG_INFO("%s: cancelled model load\n", __func__);
}
- llama_free_model(model);
+ llama_model_free(model);
return nullptr;
}
std::thread([&model_path]() {
llama_backend_init();
- auto * model = llama_load_model_from_file(model_path, llama_model_default_params());
+ auto * model = llama_model_load_from_file(model_path, llama_model_default_params());
auto * ctx = llama_new_context_with_model(model, llama_context_default_params());
llama_free(ctx);
- llama_free_model(model);
+ llama_model_free(model);
llama_backend_free();
}).join();
(void) ctx;
return progress > 0.50;
};
- auto * model = llama_load_model_from_file(model_path, params);
+ auto * model = llama_model_load_from_file(model_path, params);
llama_backend_free();
return model == nullptr ? EXIT_SUCCESS : EXIT_FAILURE;
}
mparams.vocab_only = true;
- model = llama_load_model_from_file(fname.c_str(), mparams);
+ model = llama_model_load_from_file(fname.c_str(), mparams);
if (model == NULL) {
fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, fname.c_str());
if (ctx == NULL) {
fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, fname.c_str());
- llama_free_model(model);
+ llama_model_free(model);
return 1;
}
}
fprintf(stderr, "%s : tokens written to '%s'\n", __func__, (fname_text + ".tokcpp").c_str());
}
- llama_free_model(model);
+ llama_model_free(model);
llama_free(ctx);
llama_backend_free();
mparams.vocab_only = true;
- model = llama_load_model_from_file(fname.c_str(), mparams);
+ model = llama_model_load_from_file(fname.c_str(), mparams);
if (model == NULL) {
fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, fname.c_str());
if (ctx == NULL) {
fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, fname.c_str());
- llama_free_model(model);
+ llama_model_free(model);
return 1;
}
}
}
}
- llama_free_model(model);
+ llama_model_free(model);
llama_free(ctx);
llama_backend_free();
mparams.vocab_only = true;
- model = llama_load_model_from_file(fname.c_str(), mparams);
+ model = llama_model_load_from_file(fname.c_str(), mparams);
if (model == NULL) {
fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, fname.c_str());
if (ctx == NULL) {
fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, fname.c_str());
- llama_free_model(model);
+ llama_model_free(model);
return 1;
}
}
}
}
- llama_free_model(model);
+ llama_model_free(model);
llama_free(ctx);
llama_backend_free();