summaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/main.c b/main.c
index cae13c5..4294b8e 100644
--- a/main.c
+++ b/main.c
@@ -7,6 +7,8 @@
#include "mem.h"
#include "llama.h"
+#define MODEL_PATH "qwen2.5-3b-instruct-q4_k_m.gguf"
+
#define SYSTEM_PROMPT \
"You are a lexicographer. Define the target word in the context provided.\n\n" \
"Output format strictly as follows:\n" \
@@ -191,13 +193,20 @@ static void process_request(struct llama_model *model, const char *user_prompt)
int main(int argc , char *argv[])
{
+ const char *prompt;
+ const char *model_path;
struct llama_model *model;
struct llama_model_params mparams;
- if (argc < 3)
- errx(1, "usage: %s [model] [prompt]", argv[0]);
-
- const char *model_path = argv[1];
+ if (argc == 2) {
+ model_path = MODEL_PATH;
+ prompt = argv[1];
+ } else if (argc == 3) {
+ model_path = argv[1];
+ prompt = argv[2];
+ } else {
+ errx(1, "usage: %s [model_path] <prompt>", argv[0]);
+ }
if (unveil(model_path, "r") == -1)
err(1, "unveil %s failed", model_path);
@@ -221,7 +230,6 @@ int main(int argc , char *argv[])
if (pledge("stdio", NULL) == -1)
err(1, "secondary pledge failed");
- const char *prompt = argv[2];
process_request(model, prompt);
llama_model_free(model);