summaryrefslogtreecommitdiff
path: root/llama.cpp/examples/lookup/lookup-create.cpp
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-02-12 20:57:17 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-02-12 20:57:17 +0100
commitb333b06772c89d96aacb5490d6a219fba7c09cc6 (patch)
tree211df60083a5946baa2ed61d33d8121b7e251b06 /llama.cpp/examples/lookup/lookup-create.cpp
downloadllmnpc-b333b06772c89d96aacb5490d6a219fba7c09cc6.tar.gz
Engage!
Diffstat (limited to 'llama.cpp/examples/lookup/lookup-create.cpp')
-rw-r--r--llama.cpp/examples/lookup/lookup-create.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/llama.cpp/examples/lookup/lookup-create.cpp b/llama.cpp/examples/lookup/lookup-create.cpp
new file mode 100644
index 0000000..f7b6ea1
--- /dev/null
+++ b/llama.cpp/examples/lookup/lookup-create.cpp
@@ -0,0 +1,40 @@
+#include "arg.h"
+#include "common.h"
+#include "ngram-cache.h"
+#include "llama.h"
+
+#include <string>
+#include <vector>
+
+int main(int argc, char ** argv){
+ common_params params;
+
+ if (!common_params_parse(argc, argv, params, LLAMA_EXAMPLE_LOOKUP)) {
+ return 1;
+ }
+
+ // init llama.cpp
+ llama_backend_init();
+ llama_numa_init(params.numa);
+
+ // load the model
+ auto llama_init = common_init_from_params(params);
+
+ auto * model = llama_init->model();
+ auto * ctx = llama_init->context();
+
+ GGML_ASSERT(model != nullptr);
+
+ // tokenize the prompt
+ std::vector<llama_token> inp;
+ inp = common_tokenize(ctx, params.prompt, true, true);
+ fprintf(stderr, "%s: tokenization done\n", __func__);
+
+ common_ngram_cache ngram_cache;
+ common_ngram_cache_update(ngram_cache, LLAMA_NGRAM_STATIC, LLAMA_NGRAM_STATIC, inp, inp.size(), true);
+ fprintf(stderr, "%s: hashing done, writing file to %s\n", __func__, params.speculative.lookup_cache_static.c_str());
+
+ common_ngram_cache_save(ngram_cache, params.speculative.lookup_cache_static);
+
+ return 0;
+}