Skip to main content

developergpt is a command line tool that allows users to use natural language to execute commands and chat with the latest LLMs

Project description

DeveloperGPT

License CI PyPI LLMs

DeveloperGPT is a terminal application that uses the latest LLMs to help developers be more productive.

By default, DeveloperGPT uses the gpt-3.5-turbo model from OpenAI, but you can also use the open-source BLOOM model. Support for more models and features is coming soon!

In our testing, we recommend GPT-3.5 (default) as it generally yields better results and is able to handle more complex requests.

DeveloperGPT has two main features:

1. Natural Language to Terminal Commands

Supported Models: GPT3.5 (default), BLOOM Natural Language Example

NOTE: The BLOOM model command output may not be accurate, especially for more complex commands. Using the BLOOM model may also result in unexpected or undefined behavior.

With both models, it is always good practice to manually verify the command output before running it.

2. Chat inside the Terminal

Supported Models: GPT3.5 (default), BLOOM Chat Example

NOTE: Chat moderation is NOT implemented - all your chat messages should follow the OpenAI and BLOOM terms of use.

Install DeveloperGPT from PyPI

pip install -U developergpt

Setup

By default, DeveloperGPT uses the GPT-3.5 model from OpenAI. From limited testing, the GPT-3.5 model has the best results.

Get your own OpenAI API Key: https://platform.openai.com/account/api-keys

# Do this once 
# set OpenAI API Key (using zsh for example)
$ echo 'export OPENAI_API_KEY=[your_key_here]' >> ~/.zshenv

# reload the environment (or just quit and open a new terminal)
$ source ~/.zshenv

If you want to use the BLOOM model instead, you can optionally set up a Hugging Face User Access or Inference API token. Setting up a token is not required (BLOOM model will work without any token or key), but it will allow you to make more requests without being rate limited.

# Do this once 
# set Hugging Face API token (using zsh for example)
$ echo 'export HUGGING_FACE_API_KEY=[your_key_here]' >> ~/.zshenv

# reload the environment (or just quit and open a new terminal)
$ source ~/.zshenv

Usage

# see available commands
$ developergpt 

# chat with DeveloperGPT using GPT-3.5 (default)
$ developergpt chat

# natural language to terminal commands using GPT-3.5 (default)
$ developergpt cmd

# chat with DeveloperGPT using BLOOM model instead
$ developergpt --model bloom chat

# natural langauge to terminal commands using BLOOM model instead
$ developergpt --model bloom cmd

# give feedback
$ developergpt feedback

NOTE:: DeveloperGPT is NOT to be used for any purposes forbidden by the terms of use of the LLMs used (GPT-3.5, BLOOM). Additionally, DeveloperGPT itself (apart from the LLMs) is a proof of concept tool and is not intended to be used for any serious or commerical work.

OpenAI API Usage (GPT-3.5)

You can monitor your OpenAI API usage here: https://platform.openai.com/account/usage

DeveloperGPT uses the gpt-3.5-turbo model which is very cost efficient (1/10 the cost of models such as text-davinci-003). Based on preliminary testing, using DeveloperGPT should cost no more than 10 cents per day (assuming ~100 requests/day).

Hugging-Face Usage (BLOOM)

Currently, using the BLOOM model does not require a token and is free but rate limited. To avoid rate limit, you can set a token using the instructions above.

Contributing

Read the CONTRIBUTING.md file.

Future Roadmap

  • Add support for open-source models (Alpaca, Vicuna, Dolly, etc.)

Credit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

developergpt-0.2.2.tar.gz (16.2 kB view hashes)

Uploaded Source

Built Distribution

developergpt-0.2.2-py3-none-any.whl (17.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page