tbckr / sgpt

SGPT is a command-line tool that provides a convenient way to interact with OpenAI models, enabling users to run queries, generate shell commands and produce code directly from the terminal.
MIT License
271 stars 26 forks source link

Support api_key and base_url in config.yaml #228

Open johnd0e opened 9 months ago

johnd0e commented 9 months ago

Is your feature request related to a problem? Please describe.

I'm aware of set OPENAI_API_KEY and OPENAI_API_BASE env vars, but I'd rather set those in config.

Describe the solution you'd like

-

Describe alternatives you've considered

No response

Search

Project

Code of Conduct

Additional context

No response

norrybul commented 7 months ago

I'd be nice if it also supports custom OPENAI_API_KEY and OPENAI_API_BASE (or OPENAI_BASE_URL/Host) in User environment variables in Windows. Standard OpenAI APIs work fine though. I was more thinking of these base on the request title. https://litellm.vercel.app/docs/providers/openai https://litellm.vercel.app/docs/providers/custom_openai_proxy Anyway, tinkering a bit might make sgpt work.

ilya-bystrov commented 1 month ago

Here is a workaround to avoid using an environment variable.

Add the directory with the following content into your PATH:

./
├── config.json
└── sgpt.sh
$ cat config.json
{"openai_api_key": "<value>"}

$ cat sgpt.sh
OPENAI_API_KEY=$(cat $(dirname ${BASH_SOURCE[0]})/config.json | jq -r .openai_api_key) sgpt "$@"

Now you can use sgpt.sh instead of sgpt to run your scripts/commands without exposing the API key.