From 4f39239e73bab0ec069ef44a1ce7b9fcbd6b9d5f Mon Sep 17 00:00:00 2001 From: mrT23 Date: Mon, 7 Aug 2023 09:04:52 +0300 Subject: [PATCH] readme update readme update --- CONFIGURATION.md | 39 +++++++++++++++++++++++++++++++-------- README.md | 10 +++++----- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 4433e3ef..9bbfd910 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -1,16 +1,16 @@ ## Configuration -The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the configuration file: `/pr-agent/settings/configuration.toml`. +The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** -### CLI -When running from source (CLI), your local configuration file will be used. +### Working from CLI +When running from source (CLI), your local configuration file will be initially used. Example for invoking the 'review' tools via the CLI: ``` python cli.py --pr-url= review ``` -In addition to general configurations, The 'review' tool will use parameters from the `[pr_reviewer]` section. Every tool has a dedicated section in the configuration file +In addition to general configurations, the 'review' tool will use parameters from the `[pr_reviewer]` section (every tool has a dedicated section in the configuration file). Note that you can print results locally, without publishing them, by setting in `configuration.toml`: @@ -21,14 +21,37 @@ verbosity_level=2 ``` This is useful for debugging or experimenting with the different tools. -### Working from pre-built repo (GitHub Action/GitHub App/Docker/...) +### Working from pre-built repo (GitHub Action/GitHub App/Docker) When running PR-Agent from a pre-built repo, the default configuration file will be loaded. -To edit the configuration of any tool, just add `--config_path=` to you command. -For example if you want to edit online `pr_reviewer` configurations, you can run: +To edit the configuration, you have two options: +1. Place a local configuration file in the root of your local repo. The local file will be used instead of the default one. +2. For online usage, just add `--config_path=` to you command, to edit a specific configuration value. +For example if you want to edit `pr_reviewer` configurations, you can run: ``` -/review --pr_reviewer.extra_instructions="focus on the file xyz" --pr_reviewer.require_score_review=false ... +/review --pr_reviewer.extra_instructions="..." --pr_reviewer.require_score_review=false ... ``` Any configuration value in `configuration.toml` file can be similarly edited. +### General configuration parameters + +#### Changing a model +See [here](pr_agent/algo/__init__.py) for the list of available models. + +To use Llama2 model, for example, set: +``` +[config] +model = "replicate/llama-2-70b-chat:2c1608e18606fad2812020dc541930f2d0495ce32eee50074220b87300bc16e1" +[replicate] +key = ... +``` +(you can obtain a Llama2 key from [here](https://replicate.com/replicate/llama-2-70b-chat/api)) + +Also review the [AiHandler](pr_agent/algo/ai_handler.py) file for instruction how to set keys for other models. + +#### Extra instructions +All PR-Agent tools have a parameter called `extra_instructions`, that enables to add free-text extra instructions. Example usage: +``` +/update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..." +``` \ No newline at end of file diff --git a/README.md b/README.md index a3b0f156..b8ab88c9 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | CORE | PR compression | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Repo language prioritization | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Adaptive and token-aware
file patch fitting | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Incremental PR Review | :white_check_mark: | | | Examples for invoking the different tools via the CLI: @@ -152,24 +153,23 @@ Here are some advantages of PR-Agent: - We emphasize **real-life practical usage**. Each tool (review, improve, ask, ...) has a single GPT-4 call, no more. We feel that this is critical for realistic team usage - obtaining an answer quickly (~30 seconds) and affordably. - Our [PR Compression strategy](./PR_COMPRESSION.md) is a core ability that enables to effectively tackle both short and long PRs. - Our JSON prompting strategy enables to have **modular, customizable tools**. For example, the '/review' tool categories can be controlled via the [configuration](./CONFIGURATION.md) file. Adding additional categories is easy and accessible. -- We support **multiple git providers** (GitHub, Gitlab, Bitbucket), and multiple ways to use the tool (CLI, GitHub Action, GitHub App, Docker, ...). +- We support **multiple git providers** (GitHub, Gitlab, Bitbucket), **multiple ways** to use the tool (CLI, GitHub Action, GitHub App, Docker, ...), and **multiple models** (GPT-4, GPT-3.5, Anthropic, Cohere, Llama2). - We are open-source, and welcome contributions from the community. ## Roadmap -- [ ] Support open-source models, as a replacement for OpenAI models. (Note - a minimal requirement for each open-source model is to have 8k+ context, and good support for generating JSON as an output) -- [x] Support other Git providers, such as Gitlab and Bitbucket. -- [ ] Develop additional logic for handling large PRs, and compressing git patches +- [x] Support additional models, as a replacement for OpenAI (see [here](https://github.com/Codium-ai/pr-agent/pull/172)) +- [ ] Develop additional logic for handling large PRs - [ ] Add additional context to the prompt. For example, repo (or relevant files) summarization, with tools such a [ctags](https://github.com/universal-ctags/ctags) - [ ] Adding more tools. Possible directions: - [x] PR description - [x] Inline code suggestions - [x] Reflect and review + - [x] Rank the PR (see [here](https://github.com/Codium-ai/pr-agent/pull/89)) - [ ] Enforcing CONTRIBUTING.md guidelines - [ ] Performance (are there any performance issues) - [ ] Documentation (is the PR properly documented) - - [ ] Rank the PR importance - [ ] ... ## Similar Projects