From 1c3629d4c21c9773a50db61a72a522dca70c4842 Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Mon, 28 Apr 2025 08:50:58 +0300 Subject: [PATCH 01/10] Add documentation for chat on code suggestions with example image and update RAG platform support --- docs/docs/core-abilities/rag_context_enrichment.md | 2 +- docs/docs/tools/improve.md | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/docs/core-abilities/rag_context_enrichment.md b/docs/docs/core-abilities/rag_context_enrichment.md index a6ba038f..a2064c3f 100644 --- a/docs/docs/core-abilities/rag_context_enrichment.md +++ b/docs/docs/core-abilities/rag_context_enrichment.md @@ -1,6 +1,6 @@ # RAG Context Enrichment 💎 -`Supported Git Platforms: GitHub` +`Supported Git Platforms: GitHub, Bitbucket Data Center` !!! info "Prerequisites" - RAG is available only for Qodo enterprise plan users, with single tenant or on-premises setup. diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index f190990c..9fd102da 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -267,7 +267,9 @@ In such cases, we recommend prioritizing the suggestion's detailed description, > `💎 feature` Platforms supported: GitHub, GitLab -If you set the following in your configuration file: + + +Enable interactive code discussions by adding this to your configuration file (default `True`): ```toml [pr_code_suggestions] @@ -275,6 +277,11 @@ enable_chat_in_code_suggestions = true ``` The Qodo Merge bot will automatically listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. +The bot intelligently analyzes your responses to determine if you want to implement the suggestion, ask questions about it, or request help with understanding it. + +For example: + +![Chat on code suggestions ](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions.png){width=512} ### Dual publishing mode From ab0e3bde492a61cbe81e89bc7eaf07ececc4cbe2 Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Mon, 28 Apr 2025 08:52:06 +0300 Subject: [PATCH 02/10] Remove extra blank lines in improve.md documentation --- docs/docs/tools/improve.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index 9fd102da..f43bc6c4 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -267,8 +267,6 @@ In such cases, we recommend prioritizing the suggestion's detailed description, > `💎 feature` Platforms supported: GitHub, GitLab - - Enable interactive code discussions by adding this to your configuration file (default `True`): ```toml From 4ad43c48e564ac182ec3db2017bc41d38f0addbc Mon Sep 17 00:00:00 2001 From: "yuli.kamakura" Date: Mon, 28 Apr 2025 17:59:09 +0800 Subject: [PATCH 03/10] Fix type hint for get_pr_description method and clean up whitespace --- pr_agent/git_providers/git_provider.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pr_agent/git_providers/git_provider.py b/pr_agent/git_providers/git_provider.py index 127fa41e..2895bd55 100644 --- a/pr_agent/git_providers/git_provider.py +++ b/pr_agent/git_providers/git_provider.py @@ -133,7 +133,7 @@ class GitProvider(ABC): def reply_to_comment_from_comment_id(self, comment_id: int, body: str): pass - def get_pr_description(self, full: bool = True, split_changes_walkthrough=False) -> str or tuple: + def get_pr_description(self, full: bool = True, split_changes_walkthrough=False) -> str | tuple: from pr_agent.algo.utils import clip_tokens from pr_agent.config_loader import get_settings max_tokens_description = get_settings().get("CONFIG.MAX_DESCRIPTION_TOKENS", None) @@ -285,7 +285,7 @@ class GitProvider(ABC): def get_comment_url(self, comment) -> str: return "" - + def get_review_thread_comments(self, comment_id: int) -> list[dict]: pass From 26dc3b7f219780db1daf9e5bdbac0df81fc214c4 Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Mon, 28 Apr 2025 13:02:54 +0300 Subject: [PATCH 04/10] Update code suggestion chat documentation with multi-node agent description --- docs/docs/tools/improve.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index f43bc6c4..511d6ab8 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -274,8 +274,8 @@ Enable interactive code discussions by adding this to your configuration file (d enable_chat_in_code_suggestions = true ``` -The Qodo Merge bot will automatically listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. -The bot intelligently analyzes your responses to determine if you want to implement the suggestion, ask questions about it, or request help with understanding it. +The Qodo Merge implements a multi-node agent to listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. +The agent intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help. For example: From e69b17cb1a0a08c4020dfd432631a65dbc316fb7 Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Mon, 28 Apr 2025 13:59:44 +0300 Subject: [PATCH 05/10] Update code suggestion chat documentation with orchestrator agent description --- docs/docs/tools/improve.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index 511d6ab8..72753b59 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -274,8 +274,8 @@ Enable interactive code discussions by adding this to your configuration file (d enable_chat_in_code_suggestions = true ``` -The Qodo Merge implements a multi-node agent to listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. -The agent intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help. +The Qodo Merge implements an orchestrator agent to listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. +The orchestrator intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help, then delegates to the appropriate specialized tool. For example: From 3dc0cac97514aaec233cd49818e7ce37346311a2 Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Tue, 29 Apr 2025 09:12:20 +0300 Subject: [PATCH 06/10] docs: Chat on code suggestions: Add interactive code suggestions documentation with tabbed examples --- docs/docs/tools/improve.md | 26 +++++++++++++++++++++----- docs/mkdocs.yml | 2 ++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index 72753b59..b2e2fc6b 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -267,19 +267,35 @@ In such cases, we recommend prioritizing the suggestion's detailed description, > `💎 feature` Platforms supported: GitHub, GitLab -Enable interactive code discussions by adding this to your configuration file (default `True`): +The Qodo Merge implements an orchestrator agent that enables interactive code discussions, listening and responding to comments without requiring explicit tool calls. +The orchestrator intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help, then delegates to the appropriate specialized tool. + +#### How it works + +Enable interactive code discussions by adding the following to your configuration file (default is `True`): ```toml [pr_code_suggestions] enable_chat_in_code_suggestions = true ``` -The Qodo Merge implements an orchestrator agent to listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. -The orchestrator intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help, then delegates to the appropriate specialized tool. +!!! info "Activating Dynamic Responses" + To obtain dynamic responses, the following steps are required: -For example: + 1. Run the `/improve` command (mostly automatic) + 2. Tick the `/improve` recommendation checkboxes (_Apply this suggestion_) to have Qodo Merge generate a new inline code suggestion discussion + 3. The orchestrator agent will then automatically listen and reply to comments within the discussion without requiring additional commands -![Chat on code suggestions ](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions.png){width=512} +#### Explore the available interaction patterns: + +=== "Asking for Details" + ![Chat on code suggestions ask](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions_ask.png){width=512} + +=== "Implementing Suggestions" + ![Chat on code suggestions implement](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions_implement.png){width=512} + +=== "Providing Additional Help" + ![Chat on code suggestions help](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions_help.png){width=512} ### Dual publishing mode diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7b9c967b..cc1b02f1 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -149,6 +149,8 @@ markdown_extensions: - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.tabbed: + alternate_style: true - toc: title: On this page toc_depth: 3 From 7b82b08173b6d9bd48c32bdbba00dd564c355e04 Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Tue, 29 Apr 2025 12:35:10 +0300 Subject: [PATCH 07/10] fix: correct grammar in Qodo Merge orchestrator agent description --- docs/docs/tools/improve.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index b2e2fc6b..34a8af7b 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -267,7 +267,7 @@ In such cases, we recommend prioritizing the suggestion's detailed description, > `💎 feature` Platforms supported: GitHub, GitLab -The Qodo Merge implements an orchestrator agent that enables interactive code discussions, listening and responding to comments without requiring explicit tool calls. +Qodo Merge implements an orchestrator agent that enables interactive code discussions, listening and responding to comments without requiring explicit tool calls. The orchestrator intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help, then delegates to the appropriate specialized tool. #### How it works From bfca4f25154c62d96df4153ac0652e02256acfed Mon Sep 17 00:00:00 2001 From: Yash-1511 Date: Tue, 29 Apr 2025 20:57:41 +0530 Subject: [PATCH 08/10] docs: update Gemini model path from google_ai_studio to gemini in configuration docs --- docs/docs/usage-guide/changing_a_model.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/usage-guide/changing_a_model.md b/docs/docs/usage-guide/changing_a_model.md index 76a67d29..a60076b5 100644 --- a/docs/docs/usage-guide/changing_a_model.md +++ b/docs/docs/usage-guide/changing_a_model.md @@ -172,8 +172,8 @@ To use [Google AI Studio](https://aistudio.google.com/) models, set the relevant ```toml [config] # in configuration.toml -model="google_ai_studio/gemini-1.5-flash" -fallback_models=["google_ai_studio/gemini-1.5-flash"] +model="gemini/gemini-1.5-flash" +fallback_models=["gemini/gemini-1.5-flash"] [google_ai_studio] # in .secrets.toml gemini_api_key = "..." From 63f50bc1626dad66ccc2e0fc416d787571e7862d Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Wed, 30 Apr 2025 09:14:45 +0300 Subject: [PATCH 09/10] docs: convert RAG context enrichment applications to tabbed format --- .../core-abilities/rag_context_enrichment.md | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/docs/docs/core-abilities/rag_context_enrichment.md b/docs/docs/core-abilities/rag_context_enrichment.md index a2064c3f..aa706b29 100644 --- a/docs/docs/core-abilities/rag_context_enrichment.md +++ b/docs/docs/core-abilities/rag_context_enrichment.md @@ -42,26 +42,23 @@ enable_rag=true ### Applications -#### 1\. The `/review` Tool +=== "`/review`" + The [`/review`](https://qodo-merge-docs.qodo.ai/tools/review/) tool offers the _Focus area from RAG data_ which contains feedback based on the RAG references analysis. + The complete list of references found relevant to the PR will be shown in the _References_ section, helping developers understand the broader context by exploring the provided references. -The [`/review`](https://qodo-merge-docs.qodo.ai/tools/review/) tool offers the _Focus area from RAG data_ which contains feedback based on the RAG references analysis. -The complete list of references found relevant to the PR will be shown in the _References_ section, helping developers understand the broader context by exploring the provided references. + ![RAGed review tool](https://codium.ai/images/pr_agent/rag_review.png){width=640} -![References](https://codium.ai/images/pr_agent/rag_review.png){width=640} +=== "`/implement`" + The [`/implement`](https://qodo-merge-docs.qodo.ai/tools/implement/) tool utilizes the RAG feature to provide comprehensive context of the repository codebase, allowing it to generate more refined code output. + The _References_ section contains links to the content used to support the code generation. -#### 2\. The `/implement` Tool + ![RAGed implement tool](https://codium.ai/images/pr_agent/rag_implement.png){width=640} -The [`/implement`](https://qodo-merge-docs.qodo.ai/tools/implement/) tool utilizes the RAG feature to provide comprehensive context of the repository codebase, allowing it to generate more refined code output. -The _References_ section contains links to the content used to support the code generation. +=== "`/ask`" + The [`/ask`](https://qodo-merge-docs.qodo.ai/tools/ask/) tool can access broader repository context through the RAG feature when answering questions that go beyond the PR scope alone. + The _References_ section displays the additional repository content consulted to formulate the answer. -![References](https://codium.ai/images/pr_agent/rag_implement.png){width=640} - -#### 3\. The `/ask` Tool - -The [`/ask`](https://qodo-merge-docs.qodo.ai/tools/ask/) tool can access broader repository context through the RAG feature when answering questions that go beyond the PR scope alone. -The _References_ section displays the additional repository content consulted to formulate the answer. - -![References](https://codium.ai/images/pr_agent/rag_ask.png){width=640} + ![RAGed ask tool](https://codium.ai/images/pr_agent/rag_ask.png){width=640} ## Limitations From 75a047f348e5e875f23dcf5a86d58501b8309a4c Mon Sep 17 00:00:00 2001 From: ofir-frd Date: Wed, 30 Apr 2025 10:49:05 +0300 Subject: [PATCH 10/10] docs: add clarification about RAG capability tools list --- docs/docs/core-abilities/rag_context_enrichment.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/docs/core-abilities/rag_context_enrichment.md b/docs/docs/core-abilities/rag_context_enrichment.md index aa706b29..ed8a1970 100644 --- a/docs/docs/core-abilities/rag_context_enrichment.md +++ b/docs/docs/core-abilities/rag_context_enrichment.md @@ -42,6 +42,8 @@ enable_rag=true ### Applications +The following represents the complete list of tools with RAG capability: + === "`/review`" The [`/review`](https://qodo-merge-docs.qodo.ai/tools/review/) tool offers the _Focus area from RAG data_ which contains feedback based on the RAG references analysis. The complete list of references found relevant to the PR will be shown in the _References_ section, helping developers understand the broader context by exploring the provided references.