A Python based CLI and GitHub Action to use Open AI or Azure Open AI models to review contents of pull requests.
First, install the package via pip:
pip install gpt-reviewYou will need to provide an OpenAI API key to use this CLI tool. In order of precedence, it will check the following methods:
-
Presence of a context file at
azure.yamlor whereverCONTEXT_FILEpoints to. Seeazure.yaml.templatefor an example. -
AZURE_OPENAI_API_URLandAZURE_OPENAI_API_KEYto connect to an Azure OpenAI API:export AZURE_OPENAI_API=<your azure api url> export AZURE_OPENAI_API_KEY=<your azure key>
-
OPENAI_API_KEYfor direct use of the OpenAI APIexport OPENAI_API_KEY=<your openai key>
-
AZURE_KEY_VAULT_URLto use Azure Key Vault. Put secrets for the url atazure-open-aiand the API Keyazure-openai-key, then run:export AZURE_KEY_VAULT_URL=https://<keyvault_name>.vault.azure.net/ az login
To show help information about available commands and their usage, run:
gpt --helpTo display the current version of this CLI tool, run:
gpt --versionHere are the main commands for using this CLI tool:
To submit a question to GPT and receive an answer, use the following format:
gpt ask "What is the capital of France?"You can customize your request using various options like maximum tokens (--max-tokens), temperature (--temperature), top-p value (--top-p), frequency penalty (--frequency-penalty), presence penalty (--presence-penalty), etc.
To submit a question to GPT with a file and receive an answer, use the following format:
gpt ask --files WordDocument.docx "Summarize the contents of this document."To review a PR, use the following format:
gpt github review \
--access-token $GITHUB_ACCESS_TOKEN \
--pull-request $PULL_REQUEST_NUMBER \
--repository $REPOSITORY_NAMETo generate a git commit message with GPT after having added the files, use the following format:
git add .
gpt git commitFor more detailed information on each command and its options, run:
gpt COMMAND --helpReplace COMMAND with one of the main commands listed above (e.g., 'ask').
To install the package in development mode, with additional packages for testing, run the following command:
pip install -e .[test]