mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2025-01-12 03:31:46 +00:00
f66f582927
* llama : scatter llama.cpp into multiple modules (wip) * llama : control-vector -> adapter * llama : arch * llama : mmap ggml-ci * ci : remove BUILD_SHARED_LIBS=OFF ggml-ci * llama : arch (cont) ggml-ci * llama : chat ggml-ci * llama : model ggml-ci * llama : hparams ggml-ci * llama : adapter ggml-ci * examples : fix ggml-ci * rebase ggml-ci * minor * llama : kv cache ggml-ci * llama : impl ggml-ci * llama : batch ggml-ci * cont ggml-ci * llama : context ggml-ci * minor * llama : context (cont) ggml-ci * llama : model loader ggml-ci * common : update lora ggml-ci * llama : quant ggml-ci * llama : quant (cont) ggml-ci * minor [no ci]
31 lines
910 B
C++
31 lines
910 B
C++
#pragma once
|
|
|
|
#ifndef __cplusplus
|
|
#error "This header is for C++ only"
|
|
#endif
|
|
|
|
#include <memory>
|
|
|
|
#include "llama.h"
|
|
|
|
struct llama_model_deleter {
|
|
void operator()(llama_model * model) { llama_free_model(model); }
|
|
};
|
|
|
|
struct llama_context_deleter {
|
|
void operator()(llama_context * context) { llama_free(context); }
|
|
};
|
|
|
|
struct llama_sampler_deleter {
|
|
void operator()(llama_sampler * sampler) { llama_sampler_free(sampler); }
|
|
};
|
|
|
|
struct llama_lora_adapter_deleter {
|
|
void operator()(llama_lora_adapter * lora_adapter) { llama_lora_adapter_free(lora_adapter); }
|
|
};
|
|
|
|
typedef std::unique_ptr<llama_model, llama_model_deleter> llama_model_ptr;
|
|
typedef std::unique_ptr<llama_context, llama_context_deleter> llama_context_ptr;
|
|
typedef std::unique_ptr<llama_sampler, llama_sampler_deleter> llama_sampler_ptr;
|
|
typedef std::unique_ptr<llama_lora_adapter, llama_lora_adapter_deleter> llama_lora_adapter_ptr;
|