vorrei creare un esperienza più interattiva con il mio modello gguf usando llama.cpp Ho trovato le informazioni che adesso ti faccio leggere e vorrei che tu mi aiutassi a sistemare tutte le impostazioni per un esperienza migliore riguardo l' avere una conversazione in tempo reale come tra umani. Il modello gguf usa i seguenti token : 
<start_of_turn>user
knock knock<end_of_turn>
<start_of_turn>model
who is there<end_of_turn>
<start_of_turn>user
Gemma<end_of_turn>
<start_of_turn>model
Gemma who?<end_of_turn>

Interaction

The llama-cli program offers a seamless way to interact with LLaMA models, allowing users to engage in real-time conversations or provide instructions for specific tasks. The interactive mode can be triggered using various options, including --interactive and --interactive-first.

In interactive mode, users can participate in text generation by injecting their input during the process. Users can press Ctrl+C at any time to interject and type their input, followed by pressing Return to submit it to the LLaMA model. To submit additional lines without finalizing input, users can end the current line with a backslash (\) and continue typing.
Interaction Options

    -i, --interactive: Run the program in interactive mode, allowing users to engage in real-time conversations or provide specific instructions to the model.
    --interactive-first: Run the program in interactive mode and immediately wait for user input before starting the text generation.
    -cnv,  --conversation: Run the program in conversation mode (does not print special tokens and suffix/prefix, use default chat template) (default: false)
    --color: Enable colorized output to differentiate visually distinguishing between prompts, user input, and generated text.

By understanding and utilizing these interaction options, you can create engaging and dynamic experiences with the LLaMA models, tailoring the text generation process to your specific needs.
Reverse Prompts

Reverse prompts are a powerful way to create a chat-like experience with a LLaMA model by pausing the text generation when specific text strings are encountered:

    -r PROMPT, --reverse-prompt PROMPT: Specify one or multiple reverse prompts to pause text generation and switch to interactive mode. For example, -r "User:" can be used to jump back into the conversation whenever it's the user's turn to speak. This helps create a more interactive and conversational experience. However, the reverse prompt doesn't work when it ends with a space.

To overcome this limitation, you can use the --in-prefix flag to add a space or any other characters after the reverse prompt.
In-Prefix

The --in-prefix flag is used to add a prefix to your input, primarily, this is used to insert a space after the reverse prompt. Here's an example of how to use the --in-prefix flag in conjunction with the --reverse-prompt flag:

./llama-cli -r "User:" --in-prefix " "

In-Suffix

The --in-suffix flag is used to add a suffix after your input. This is useful for adding an "Assistant:" prompt after the user's input. It's added after the new-line character (\n) that's automatically added to the end of the user's input. Here's an example of how to use the --in-suffix flag in conjunction with the --reverse-prompt flag:

./llama-cli -r "User:" --in-prefix " " --in-suffix "Assistant:"

When --in-prefix or --in-suffix options are enabled the chat template ( --chat-template ) is disabled