antimatter15 / alpaca.cpp

Locally run an Instruction-Tuned Chat-Style LLM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

John Smith

betolley opened this issue · comments

Why does the chat say its name is "John Smith"?

Is there a way to change it?

I asked ALPACA: "Why did you choose this name?"

Answer: John Smith was a popular choice for spies during World War II as it could be easily changed to fit any identity. It also has the advantage of being easy to remember and pronounce in many different languages.

I call him Johnny (https://www.youtube.com/watch?v=S1i5coU-0_Q) :D

Is there a way to change it?

You can start your prompts with something like "Your name is Adam." etc.

When I do that it works for 1 responce. Is there a way to have it remember? I saw something about puting previous prompts in. Is there a specific format for that?

The prompt is hard-coded unfortunately. In llama.cpp, you can load arbitrary prompt from a file.

Sorry I was so stupid that I haven't looked at the condition if(!params.prompt.empty()). Seems like you can modify the prompt with --prompt " Your name is Alpaca. Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n"

(There's a space in the beginning of string for some reason)

https://github.com/antimatter15/alpaca.cpp/blob/master/chat.cpp#L864

Update: I found a way to control the personality of the bot. The idea is to add prefix to instruction: ngxson@d0b1022#diff-1182fd4edd862ddea695b9781940bb03c02f72172beefe185487e72af5b62f24R959

if (!params.prompt.empty())
    {
        fprintf(stderr, "prompt: %s\n", params.prompt.c_str());
        prompt_inp = ::llama_tokenize(vocab, "### Instruction:\n\n" + params.prompt + ". ", true);
    }

Demo using https://github.com/ngxson/alpaca.cpp-webui
image