diff --git a/gpt3 b/gpt3 index a22f4e7..a68bded 100755 --- a/gpt3 +++ b/gpt3 @@ -41,6 +41,16 @@ set -- "${POSITIONAL[@]}" # restore positional parameter [ -z "$2" ] && MAX_TOKENS=64 || MAX_TOKENS="$2" [ -z "$OPENAI_KEY" ] && KEY="$OPENAI_API_KEY" || KEY="$OPENAI_KEY" +if [ -z "$KEY" ]; then + echo "You must set OPENAI_API_KEY or OPENAI_KEY" + exit 1 +fi + +line_buffered="-l" +if sed --version | grep GNU >/dev/null; then + line_buffered="-u" +fi + # FIXME: Improve error handling curl -sSL -N \ -H "gpt3-cli/0.1.1 (https://github.com/CrazyPython/gpt3-cli)" \ @@ -50,6 +60,6 @@ curl -sSL -N \ --data-urlencode max_tokens="$MAX_TOKENS" \ --data-urlencode frequency_penalty="$FREQ_PENALTY" \ --data-urlencode presence_penalty="$PRES_PENALTY" \ - -H "Authorization: Bearer $KEY" | sed -l 's/^data: //' | grep --line-buffer -v '^\[DONE\]$' | jq -j --unbuffered '.choices[0].text' + -H "Authorization: Bearer $KEY" | sed $line_buffered 's/^data: //' | grep --line-buffer -v '^\[DONE\]$' | jq -j --unbuffered '.choices[0].text' # Add trailing newline echo