mirror of https://github.com/novarobot/llama.cpp
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
Bash
46 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
PORT=${PORT:-8080}
|
|
PROMPT="${PROMPT:-"Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.
|
|
|
|
User:Hello, Bob.
|
|
Bob:Hello. How may I help you today?
|
|
User:Please tell me the largest city in Europe.
|
|
Bob:Sure. The largest city in Europe is Moscow, the capital of Russia.
|
|
User:"}"
|
|
RPROMPT="${RPROMPT:-"User:"}"
|
|
N_PREDICT="${N_PREDICT:-"4096"}"
|
|
REPEAT_PENALTY="${REPEAT_PENALTY:-"1.0"}"
|
|
N_THREADS="${N_THREADS:-"4"}"
|
|
|
|
# Open connection to the chat server
|
|
exec 3<>/dev/tcp/127.0.0.1/${PORT}
|
|
|
|
# Pass the arguments. The protocol is really simple:
|
|
# 1. Pass the number of arguments followed by a linefeed
|
|
# 2. Pass the arguments, with each being followed by "0"
|
|
(
|
|
echo -en "12\n"
|
|
echo -en "-t\x00"
|
|
echo -en "$N_THREADS\x00"
|
|
echo -en "-n\x00"
|
|
echo -en "$N_PREDICT\x00"
|
|
echo -en "--repeat_penalty\x00"
|
|
echo -en "$REPEAT_PENALTY\x00"
|
|
echo -en "--color\x00"
|
|
echo -en "-i\x00"
|
|
echo -en "-r\x00"
|
|
echo -en "$RPROMPT\x00"
|
|
echo -en "-p\x00"
|
|
echo -en "$PROMPT\x00"
|
|
) >&3
|
|
|
|
trap exit TERM
|
|
|
|
# When we have passed the arguments, start printing socket data to the screen.
|
|
# This is done in a background job because we also want to send data when
|
|
# running in interactive mode.
|
|
cat <&3 && echo "(disconnected, press \"enter\" twice to exit)" &
|
|
cat >&3
|
|
wait
|