Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/verdverm/chatgpt
ChatGPT CLI, interactive or file based sessions with context and moods.
https://github.com/verdverm/chatgpt
chatgpt cli file-based interactive sessions
Last synced: 3 months ago
JSON representation
ChatGPT CLI, interactive or file based sessions with context and moods.
- Host: GitHub
- URL: https://github.com/verdverm/chatgpt
- Owner: verdverm
- License: mit
- Created: 2023-02-13T01:16:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-11T19:09:00.000Z (over 1 year ago)
- Last Synced: 2024-06-20T03:33:24.379Z (5 months ago)
- Topics: chatgpt, cli, file-based, interactive, sessions
- Language: Go
- Homepage:
- Size: 68.4 KB
- Stars: 70
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-chatgpt-api - verdverm/chatgpt
README
# chatgpt
CLI application for working with ChatGPT.
Interactive or file based session with
support for a directory of prompts.I built this for 2 reasons
1. To use in vim with `!!` and stdin/out
2. To do prompt engineering and save sessions```
go install github.com/verdverm/chatgpt@latestchatgpt -h
```Set `OPENAI_API_KEY`, which you can get here: https://platform.openai.com/account/api-keys
## Examples:
```
Work with ChatGPT in console.Examples:
# start an interactive session with gpt-3.5 or gpt-4
chatgpt -i# ask chatgpt for a one-time response
chatgpt -q "answer me this ChatGPT..."# provide context to a question or conversation
chatgpt context.txt -i
chatgpt context.txt -q "answer me this ChatGPT..."# read prompt from file and --write response back
chatgpt convo.txt
chatgpt convo.txt --write# pipe content from another program, useful for ! in vim visual mode
cat convo.txt | chatgpt# set the directory for custom prompts, defaults to "prompts"
chatgpt -P custom-prompts -p my-prompt -i# inspect the predifined prompts, which set ChatGPT's mood
chatgpt -p list
chatgpt -p view:# use a prompts with any of the previous modes
chatgpt -p optimistic -i
chatgpt -p cynic -q "Is the world going to be ok?"
chatgpt -p teacher convo.txt# edit mode
chatgpt -e ...# code mode
chatgpt -c ...# model options (https://platform.openai.com/docs/api-reference/completions/create)
chatgpt -T 4096 # set max tokens in reponse [0,4096]
chatgpt -C # clean whitespace before sending
chatgpt -E # echo back the prompt, useful for vim coding
chatgpt --temp # set the temperature param [0.0,2.0]
chatgpt --topp # set the TopP param [0.0,1.0]
chatgpt --pres # set the Presence Penalty [-2.0,2.0]
chatgpt --freq # set the Frequency Penalty [-2.0,2.0]# change model selection, available models are listed here:
# https://pkg.go.dev/github.com/sashabaranov/go-openai#Client.ListModels
chatgpt -m text-davinci-003 # set the model to text-davinci-003 (the default)
chatgpt -m text-ada-001 # set the model to text-ada-001Usage:
chatgpt [file] [flags]Flags:
-x, --clean remove excess whitespace from prompt before sending
-C, --count int set the number of response options to create (default 1)
-E, --echo Echo back the prompt, useful for vim coding
-e, --edit request an edit with ChatGPT
--freq float set the Frequency Penalty parameter
-h, --help help for chatgpt
-i, --interactive start an interactive session with ChatGPT
-m, --model string select the model to use with -q or -e (default "text-davinci-003")
--pres float set the Presence Penalty parameter
-p, --prompt string prompt to add to ChatGPT input, use 'list' or 'view:' to inspect predefined, '' to use a prompt, or otherwise supply any custom text
-P, --prompt-dir string directory containing custom prompts, if not set the embedded defaults are used (default "prompts")
-q, --question string ask a single question and print the response back
--temp float set the temperature parameter (default 0.7)
-T, --tokens int set the MaxTokens to generate per response (default 1024)
--topp float set the TopP parameter (default 1)
--version print version information
-w, --write write response to end of context file
```### Pretexts:
Set `CHATGPT_PROMPT_DIR` to set the default for `-P/--prompt-dir`
```
$ chatgpt -p list -P ./prompts
coding
cynic
liar
optimistic
sam
teacher
thoughtful
```### Interactive Commands:
```
$ chatgpt -i
using chat compatible model: gpt-3.5-turbostarting interactive session...
'quit' to exit
'save ' to preserve
'clear' to erase the context
'context' to see the current context
'prompt' to set the context to a prompt
'tokens' to change the MaxToken param
'count' to change number of responses
'temp' set the temperature param [0.0,2.0]
'topp' set the TopP param [0.0,1.0]
'pres' set the Presence Penalty [-2.0,2.0]
'freq' set the Frequency Penalty [-2.0,2.0]
'model' to change the selected model>
```## Prompt Engineering:
- https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
- https://learnprompting.org/
- https://github.com/dair-ai/Prompt-Engineering-Guide
- https://github.com/promptslab/Awesome-Prompt-Engineering
- https://old.reddit.com/r/ChatGPT/comments/10tevu1/new_jailbreak_proudly_unveiling_the_tried_and/## Contributions:
Happily accepting interesting prompts, code improvements, or anything else