23#ifndef LLAMA_ROS__LLAMA_HPP
24#define LLAMA_ROS__LLAMA_HPP
30#include <unordered_map>
173 bool initial_reset =
true);
176 std::vector<llama_token>
tokenize(
const std::string &text,
bool add_bos,
177 bool special =
false);
178 std::string
detokenize(
const std::vector<llama_token> &tokens);
180 virtual void reset();
188 std::vector<llama_token>
189 truncate_tokens(
const std::vector<llama_token> &tokens,
int limit_size,
190 bool add_eos =
true);
192 int normalization = 2);
195 int normalization = 2);
196 float
rank_document(const std::string &query, const std::string &document);
198 const std::vector<std::string> &documents);
202 struct common_params_sampling sparams,
203 GenerateResponseCallback callbakc = nullptr,
204 std::vector<std::string> stop = {});
207 GenerateResponseCallback callbakc = nullptr,
208 std::vector<std::string> stop = {});
213 return llama_model_get_vocab(this->
model);
221 std::string
get_metadata(
const std::string &key,
size_t size);
223 const std::string &key,
size_t size);
229 const std::string &key,
size_t size);
237 return llama_vocab_is_eog(this->
get_vocab(),
238 common_sampler_last(this->
sampler));
249 struct llama_context *
ctx;
267 virtual void load_prompt(
const std::string &input_prompt,
bool add_pfx,
271 find_stop(std::vector<struct CompletionOutput> completion_result_list,
272 std::vector<std::string> stopping_words);
274 find_stop_word(std::vector<struct CompletionOutput> completion_result_list,
275 std::string stopping_word);
281 bool eval(std::vector<llama_token> tokens);
282 virtual bool eval(
struct llama_batch batch);
284 std::vector<struct TokenProb>
get_probs();
StopType find_stop(std::vector< struct CompletionOutput > completion_result_list, std::vector< std::string > stopping_words)
Definition llama.cpp:798
std::string detokenize(const std::vector< llama_token > &tokens)
Definition llama.cpp:389
int get_n_embd()
Definition llama.hpp:218
int get_n_ctx()
Definition llama.hpp:216
int32_t n_consumed
Definition llama.hpp:264
std::string system_prompt
Definition llama.hpp:257
int32_t ga_i
Definition llama.hpp:265
struct Metadata get_metadata()
Definition llama.cpp:235
llama_token get_token_eos()
Definition llama.hpp:240
std::vector< common_adapter_lora_info > lora_adapters
Definition llama.hpp:251
Llama(const struct common_params ¶ms, std::string system_prompt="", bool initial_reset=true)
Definition llama.cpp:37
struct EmbeddingsOuput generate_embeddings(const std::string &input_prompt, int normalization=2)
Definition llama.cpp:476
int get_int_metadata(const std::string &key, size_t size)
Definition llama.cpp:213
StopType find_stop_word(std::vector< struct CompletionOutput > completion_result_list, std::string stopping_word)
Definition llama.cpp:871
const struct llama_vocab * get_vocab()
Definition llama.hpp:212
struct common_sampler * sampler
Definition llama.hpp:252
std::vector< llama_token > tokenize(const std::string &text, bool add_bos, bool special=false)
Definition llama.cpp:383
int32_t n_past
Definition llama.hpp:263
std::recursive_mutex mutex
Definition llama.hpp:289
void cancel()
Definition llama.cpp:401
bool is_embedding()
Definition llama.hpp:232
const struct llama_model * get_model()
Definition llama.hpp:211
struct ggml_threadpool * threadpool_batch
Definition llama.hpp:254
std::vector< float > rank_documents(const std::string &query, const std::vector< std::string > &documents)
Definition llama.cpp:542
llama_token get_token_bos()
Definition llama.hpp:241
int get_n_vocab()
Definition llama.hpp:219
virtual void reset()
Definition llama.cpp:160
float get_float_metadata(const std::string &key, size_t size)
Definition llama.cpp:224
bool canceled
Definition llama.hpp:258
std::vector< llama_token > truncate_tokens(const std::vector< llama_token > &tokens, int limit_size, bool add_eos=true)
Definition llama.cpp:485
struct llama_model * model
Definition llama.hpp:250
virtual void load_prompt(const std::string &input_prompt, bool add_pfx, bool add_sfx)
Definition llama.cpp:746
std::vector< llama_token > prompt_tokens
Definition llama.hpp:260
struct common_init_result llama_init
Definition llama.hpp:248
bool eval_system_prompt()
Definition llama.cpp:905
bool is_reranking()
Definition llama.hpp:233
struct common_params params
Definition llama.hpp:245
virtual bool eval_prompt()
Definition llama.cpp:920
std::vector< struct LoRA > list_loras()
Definition llama.cpp:576
bool add_bos_token()
Definition llama.hpp:235
bool eval(std::vector< llama_token > tokens)
Definition llama.cpp:952
bool eval_token(llama_token token)
Definition llama.cpp:948
virtual ~Llama()
Definition llama.cpp:134
llama_utils::Spinner spinner
Definition llama.hpp:259
void update_loras(std::vector< struct LoRA > loras)
Definition llama.cpp:596
struct ResponseOutput generate_response(const std::string &input_prompt, struct common_params_sampling sparams, GenerateResponseCallback callbakc=nullptr, std::vector< std::string > stop={})
Definition llama.cpp:642
llama_token get_token_sep()
Definition llama.hpp:242
const struct llama_context * get_ctx()
Definition llama.hpp:210
int get_n_ctx_train()
Definition llama.hpp:217
std::vector< struct TokenProb > get_probs()
Definition llama.cpp:1043
struct llama_context * ctx
Definition llama.hpp:249
struct CompletionOutput sample()
Definition llama.cpp:1060
bool is_eog()
Definition llama.hpp:236
std::string format_chat_prompt(std::vector< struct common_chat_msg > chat_msgs, bool add_ass)
Definition llama.cpp:566
struct ggml_threadpool * threadpool
Definition llama.hpp:253
float rank_document(const std::string &query, const std::string &document)
Definition llama.cpp:509
Definition spinner.hpp:31
std::function< void(struct CompletionOutput)> GenerateResponseCallback
Definition llama.hpp:167
StopType
Definition llama.hpp:59
@ CANCEL
Definition llama.hpp:63
@ PARTIAL_STOP
Definition llama.hpp:62
@ ABORT
Definition llama.hpp:64
@ NO_STOP
Definition llama.hpp:60
@ FULL_STOP
Definition llama.hpp:61
llama_token token
Definition llama.hpp:56
std::vector< TokenProb > probs
Definition llama.hpp:55
std::vector< float > embeddings
Definition llama.hpp:73
int32_t n_tokens
Definition llama.hpp:74
float scale
Definition llama.hpp:51
std::string path
Definition llama.hpp:50
int id
Definition llama.hpp:49
std::vector< CompletionOutput > completions
Definition llama.hpp:68
StopType stop
Definition llama.hpp:69
llama_token token
Definition llama.hpp:44
float probability
Definition llama.hpp:45