You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Qode Merge PR-Agent aims to help efficiently review and handle pull requests, by
40
40
-[PR-Agent Pro 💎](https://pr-agent-docs.codium.ai/overview/pr_agent_pro/)
41
41
-[How it works](#how-it-works)
42
42
-[Why use PR-Agent?](#why-use-pr-agent)
43
-
43
+
44
44
## News and Updates
45
45
46
46
### October 27, 2024
@@ -55,7 +55,7 @@ Read more about this novel feature [here](https://qodo-merge-docs.qodo.ai/tools/
55
55
56
56
57
57
### October 21, 2024
58
-
**Disable publishing labels by default:**
58
+
**Disable publishing labels by default:**
59
59
60
60
The default setting for `pr_description.publish_labels` has been updated to `false`. This means that labels generated by the `/describe` tool will no longer be published, unless this configuration is explicitly set to `true`.
61
61
@@ -258,7 +258,7 @@ Note that when you set your own PR-Agent or use CodiumAI hosted PR-Agent, there
258
258
1.**Fully managed** - We take care of everything for you - hosting, models, regular updates, and more. Installation is as simple as signing up and adding the PR-Agent app to your GitHub\GitLab\BitBucket repo.
259
259
2.**Improved privacy** - No data will be stored or used to train models. PR-Agent Pro will employ zero data retention, and will use an OpenAI account with zero data retention.
260
260
3.**Improved support** - PR-Agent Pro users will receive priority support, and will be able to request new features and capabilities.
261
-
4.**Extra features** -In addition to the benefits listed above, PR-Agent Pro will emphasize more customization, and the usage of static code analysis, in addition to LLM logic, to improve results.
261
+
4.**Extra features** -In addition to the benefits listed above, PR-Agent Pro will emphasize more customization, and the usage of static code analysis, in addition to LLM logic, to improve results.
262
262
See [here](https://qodo-merge-docs.qodo.ai/overview/pr_agent_pro/) for a list of features available in PR-Agent Pro.
Copy file name to clipboardexpand all lines: docs/docs/chrome-extension/data_privacy.md
-1
Original file line number
Diff line number
Diff line change
@@ -2,4 +2,3 @@ We take your code's security and privacy seriously:
2
2
3
3
- The Chrome extension will not send your code to any external servers.
4
4
- For private repositories, we will first validate the user's identity and permissions. After authentication, we generate responses using the existing Qodo Merge Pro integration.
Copy file name to clipboardexpand all lines: docs/docs/chrome-extension/index.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
With a single-click installation you will gain access to a context-aware chat on your pull requests code, a toolbar extension with multiple AI feedbacks, Qodo Merge filters, and additional abilities.
4
4
5
-
The extension is powered by top code models like Claude 3.5 Sonnet and GPT4. All the extension's features are free to use on public repositories.
5
+
The extension is powered by top code models like Claude 3.5 Sonnet and GPT4. All the extension's features are free to use on public repositories.
6
6
7
7
For private repositories, you will need to install [Qodo Merge Pro](https://github.com/apps/codiumai-pr-agent-pro) in addition to the extension (Quick GitHub app setup with a 14-day free trial. No credit card needed).
8
8
For a demonstration of how to install Qodo Merge Pro and use it with the Chrome extension, please refer to the tutorial video at the provided [link](https://codium.ai/images/pr_agent/private_repos.mp4).
Copy file name to clipboardexpand all lines: docs/docs/core-abilities/dynamic_context.md
+10-10
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
## TL;DR
2
2
3
-
Qodo Merge uses an **asymmetric and dynamic context strategy** to improve AI analysis of code changes in pull requests.
4
-
It provides more context before changes than after, and dynamically adjusts the context based on code structure (e.g., enclosing functions or classes).
3
+
Qodo Merge uses an **asymmetric and dynamic context strategy** to improve AI analysis of code changes in pull requests.
4
+
It provides more context before changes than after, and dynamically adjusts the context based on code structure (e.g., enclosing functions or classes).
5
5
This approach balances providing sufficient context for accurate analysis, while avoiding needle-in-the-haystack information overload that could degrade AI performance or exceed token limits.
6
6
7
7
## Introduction
@@ -17,12 +17,12 @@ Pull request code changes are retrieved in a unified diff format, showing three
17
17
code line that already existed in the file...
18
18
code line that already existed in the file...
19
19
code line that already existed in the file...
20
-
20
+
21
21
@@ -26,2 +26,4 @@ def func2():
22
22
...
23
23
```
24
24
25
-
This unified diff format can be challenging for AI models to interpret accurately, as it provides limited context for understanding the full scope of code changes.
25
+
This unified diff format can be challenging for AI models to interpret accurately, as it provides limited context for understanding the full scope of code changes.
26
26
The presentation of code using '+', '-', and ' ' symbols to indicate additions, deletions, and unchanged lines respectively also differs from the standard code formatting typically used to train AI models.
27
27
28
28
@@ -37,7 +37,7 @@ Pros:
37
37
Cons:
38
38
39
39
- Excessive context may overwhelm the model with extraneous information, creating a "needle in a haystack" scenario where focusing on the relevant details (the code that actually changed) becomes challenging.
40
-
LLM quality is known to degrade when the context gets larger.
40
+
LLM quality is known to degrade when the context gets larger.
41
41
Pull requests often encompass multiple changes across many files, potentially spanning hundreds of lines of modified code. This complexity presents a genuine risk of overwhelming the model with excessive context.
42
42
43
43
- Increased context expands the token count, increasing processing time and cost, and may prevent the model from processing the entire pull request in a single pass.
@@ -47,18 +47,18 @@ To address these challenges, Qodo Merge employs an **asymmetric** and **dynamic*
47
47
48
48
**Asymmetric:**
49
49
50
-
We start by recognizing that the context preceding a code change is typically more crucial for understanding the modification than the context following it.
50
+
We start by recognizing that the context preceding a code change is typically more crucial for understanding the modification than the context following it.
51
51
Consequently, Qodo Merge implements an asymmetric context policy, decoupling the context window into two distinct segments: one for the code before the change and another for the code after.
52
52
53
-
By independently adjusting each context window, Qodo Merge can supply the model with a more tailored and pertinent context for individual code changes.
53
+
By independently adjusting each context window, Qodo Merge can supply the model with a more tailored and pertinent context for individual code changes.
54
54
55
55
**Dynamic:**
56
56
57
57
We also employ a "dynamic" context strategy.
58
-
We start by recognizing that the optimal context for a code change often corresponds to its enclosing code component (e.g., function, class), rather than a fixed number of lines.
58
+
We start by recognizing that the optimal context for a code change often corresponds to its enclosing code component (e.g., function, class), rather than a fixed number of lines.
59
59
Consequently, we dynamically adjust the context window based on the code's structure, ensuring the model receives the most pertinent information for each modification.
60
60
61
-
To prevent overwhelming the model with excessive context, we impose a limit on the number of lines searched when identifying the enclosing component.
61
+
To prevent overwhelming the model with excessive context, we impose a limit on the number of lines searched when identifying the enclosing component.
62
62
This balance allows for comprehensive understanding while maintaining efficiency and limiting context token usage.
max_extra_lines_before_dynamic_context = 8 # will try to include up to X extra lines before the hunk in the patch, until we reach an enclosing function or class
70
70
patch_extra_lines_before = 3 # Number of extra lines (+3 default ones) to include before each hunk in the patch
71
71
patch_extra_lines_after = 1 # Number of extra lines (+3 default ones) to include after each hunk in the patch
> Explanation: The distribution of the suggestion score for the implemented suggestions, ensuring that higher-scored suggestions truly represent more significant improvements.
44
+
> Explanation: The distribution of the suggestion score for the implemented suggestions, ensuring that higher-scored suggestions truly represent more significant improvements.
Copy file name to clipboardexpand all lines: docs/docs/core-abilities/index.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ Qodo Merge utilizes a variety of core abilities to provide a comprehensive and e
13
13
14
14
## Blogs
15
15
16
-
Here are some additional technical blogs from Qodo, that delve deeper into the core capabilities and features of Large Language Models (LLMs) when applied to coding tasks.
16
+
Here are some additional technical blogs from Qodo, that delve deeper into the core capabilities and features of Large Language Models (LLMs) when applied to coding tasks.
17
17
These resources provide more comprehensive insights into leveraging LLMs for software development.
18
18
19
19
### Code Generation and LLMs
@@ -25,4 +25,4 @@ These resources provide more comprehensive insights into leveraging LLMs for sof
25
25
-[Introduction to Code Coverage Testing](https://www.qodo.ai/blog/introduction-to-code-coverage-testing/)
26
26
27
27
### Cost Optimization
28
-
-[Reduce Your Costs by 30% When Using GPT for Python Code](https://www.qodo.ai/blog/reduce-your-costs-by-30-when-using-gpt-3-for-python-code/)
28
+
-[Reduce Your Costs by 30% When Using GPT for Python Code](https://www.qodo.ai/blog/reduce-your-costs-by-30-when-using-gpt-3-for-python-code/)
Copy file name to clipboardexpand all lines: docs/docs/core-abilities/metadata.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -53,4 +53,4 @@ __old hunk__
53
53
54
54
55
55
(4) All the metadata described above represents several level of cumulative analysis - ranging from hunk level, to file level, to PR level, to organization level.
56
-
This comprehensive approach enables Qodo Merge AI models to generate more precise and contextually relevant suggestions and feedback.
56
+
This comprehensive approach enables Qodo Merge AI models to generate more precise and contextually relevant suggestions and feedback.
Copy file name to clipboardexpand all lines: docs/docs/core-abilities/self_reflection.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
## TL;DR
2
2
3
-
Qodo Merge implements a **self-reflection** process where the AI model reflects, scores, and re-ranks its own suggestions, eliminating irrelevant or incorrect ones.
4
-
This approach improves the quality and relevance of suggestions, saving users time and enhancing their experience.
3
+
Qodo Merge implements a **self-reflection** process where the AI model reflects, scores, and re-ranks its own suggestions, eliminating irrelevant or incorrect ones.
4
+
This approach improves the quality and relevance of suggestions, saving users time and enhancing their experience.
5
5
Configuration options allow users to set a score threshold for further filtering out suggestions.
6
6
7
7
## Introduction - Efficient Review with Hierarchical Presentation
@@ -24,7 +24,7 @@ The AI model is initially tasked with generating suggestions, and outputting the
24
24
However, in practice we observe that models often struggle to simultaneously generate high-quality code suggestions and rank them well in a single pass.
25
25
Furthermore, the initial set of generated suggestions sometimes contains easily identifiable errors.
26
26
27
-
To address these issues, we implemented a "self-reflection" process that refines suggestion ranking and eliminates irrelevant or incorrect proposals.
27
+
To address these issues, we implemented a "self-reflection" process that refines suggestion ranking and eliminates irrelevant or incorrect proposals.
28
28
This process consists of the following steps:
29
29
30
30
1. Presenting the generated suggestions to the model in a follow-up call.
@@ -48,4 +48,4 @@ This results in a more refined and valuable set of suggestions for the user, sav
48
48
[pr_code_suggestions]
49
49
self_reflect_on_suggestions = true # Enable self-reflection on code suggestions
50
50
suggestions_score_threshold = 0 # Filter out suggestions with a score below this threshold (0-10)
0 commit comments