Skip to content

Commit

Permalink
Immediately start processing the prompt before user input has been pr…
Browse files Browse the repository at this point in the history
…ovided (#476)
  • Loading branch information
ggerganov committed Mar 24, 2023
1 parent 7a9b6c3 commit 04c6f5e
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 7 deletions.
2 changes: 1 addition & 1 deletion alpaca.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
# Temporary script - will be removed in the future
#

./main -m ./models/ggml-alpaca-7b-q4.bin --color -f ./prompts/alpaca.txt -ins --top_k 10000 --temp 0.2 --repeat_penalty 1 -t 7
./main -m ./models/ggml-alpaca-7b-q4.bin --color -f ./prompts/alpaca.txt -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1 -t 7
2 changes: 1 addition & 1 deletion chat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
# Temporary script - will be removed in the future
#

./main -m ./models/7B/ggml-model-q4_0.bin -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt
./main -m ./models/7B/ggml-model-q4_0.bin -b 128 -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt
2 changes: 1 addition & 1 deletion examples/chatLLaMa
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ N_PREDICTS="${N_PREDICTS:-2048}"

# Note: you can also override the generation options by specifying them on the command line:
# For example, override the context size by doing: ./chatLLaMa --ctx_size 1024
GEN_OPTIONS="${GEN_OPTIONS:---ctx_size 2048 --temp 0.7 --top_k 40 --top_p 0.5 --repeat_last_n 256 --repeat_penalty 1.17647}"
GEN_OPTIONS="${GEN_OPTIONS:---ctx_size 2048 --temp 0.7 --top_k 40 --top_p 0.5 --repeat_last_n 256 --batch_size 1024 --repeat_penalty 1.17647}"

# shellcheck disable=SC2086 # Intended splitting of GEN_OPTIONS
./main $GEN_OPTIONS \
Expand Down
14 changes: 10 additions & 4 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ int main(int argc, char ** argv) {
n_past += embd.size();
embd.clear();

if ((int) embd_inp.size() <= input_consumed) {
if ((int) embd_inp.size() <= input_consumed && !is_interacting) {
// out of user input, sample next token
const float top_k = params.top_k;
const float top_p = params.top_p;
Expand Down Expand Up @@ -451,13 +451,16 @@ int main(int argc, char ** argv) {
}

// Check if each of the reverse prompts appears at the end of the output.
for (std::string antiprompt : params.antiprompt) {
for (std::string & antiprompt : params.antiprompt) {
if (last_output.find(antiprompt.c_str(), last_output.length() - antiprompt.length(), antiprompt.length()) != std::string::npos) {
is_interacting = true;
set_console_state(CONSOLE_STATE_USER_INPUT);
fflush(stdout);
break;
}
}
if (is_interacting) {

if (n_past > 0 && is_interacting) {
// potentially set color to indicate we are taking user input
set_console_state(CONSOLE_STATE_USER_INPUT);

Expand Down Expand Up @@ -495,7 +498,10 @@ int main(int argc, char ** argv) {

input_noecho = true; // do not echo this again
}
is_interacting = false;

if (n_past > 0) {
is_interacting = false;
}
}

// end of text token
Expand Down

0 comments on commit 04c6f5e

Please sign in to comment.