replace sed for escaping newlines with the escape function

This commit is contained in:
Achilleas 2023-05-16 17:38:21 +03:00
parent a69c998d47
commit a5c3ddf0e4

View File

@ -125,8 +125,8 @@ request_to_image() {
# $1 should be the message(s) formatted with role and content # $1 should be the message(s) formatted with role and content
request_to_chat() { request_to_chat() {
local message="$1" local message="$1"
# escape quotation marks and newlines in the prompt escaped_system_prompt=$(escape "$SYSTEM_PROMPT")
escaped_system_prompt=$(echo "$SYSTEM_PROMPT" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
curl https://api.openai.com/v1/chat/completions \ curl https://api.openai.com/v1/chat/completions \
-sS \ -sS \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
@ -321,7 +321,7 @@ while $running; do
if [ -z "$pipe_mode_prompt" ]; then if [ -z "$pipe_mode_prompt" ]; then
if [ $MULTI_LINE_PROMPT = true ]; then if [ $MULTI_LINE_PROMPT = true ]; then
echo -e "\nEnter a prompt: (Press Enter then Ctrl-D to send)" echo -e "\nEnter a prompt: (Press Enter then Ctrl-D to send)"
cat > "${USER_INPUT_TEMP_FILE}" cat >"${USER_INPUT_TEMP_FILE}"
input_from_temp_file=$(cat "${USER_INPUT_TEMP_FILE}") input_from_temp_file=$(cat "${USER_INPUT_TEMP_FILE}")
prompt=$(escape "$input_from_temp_file") prompt=$(escape "$input_from_temp_file")
else else